On Sun, May 12, 2024 at 11:01:59PM -0700, Kurt H Maier via 9fans wrote:
> [...] 
> One by one we're getting rid of the third-party software -- I
> particularly look forward to the day we can finally ditch Ghostscript --
> but in the meantime these accusations of license violations are
> misinformed and have no basis in reality.

For the ghostscript thing, and for the record (noting that, in this
area, I have put my code-money where my mouth is):

I too want to get rid of Ghostscript. The path adopted is the
TeX/METAFONT way with the following:

- A PostScript interpreter can be, functionnally, divided in two
parts: 1) a general purpose language allowing computation but aimed
for images and supposed, finally, to produce primitive graphics
directives (fixed results); 2) a rasterizer to produce a matricial
image;

- TeX is a general language, aimed at text formatting,
emitting primitive graphics directives. It's the 1) part of
PostScript;

- METAFONT is a graphical language and a black/white rasterizer;
meaning there is a already 2) with the rasterizing routines of
METAFONT.

John Hobby's MetaPost is the ability to have a graphical language,
much more easy to use than PostScript, but emiting basic PostScript
directives.

=> So there are already almost all the pieces there to obtain 1+2 at
least for obtaining the same result as *roff.

What has still to be done:

- TeX has been extended because LaTeX requires now primitives that are
not in vanilla TeX. The extended TeX engine has been written: it's
Prote, in kerTeX. Prote has to be extended to allow to use the newline
as a prevision macro character so that, indeed, roff can be, like
latex, simply a predigested set of macros with a TeX/Prote engine;

- DVI has to be extended to add a primitive, present in *roff and not
in it: spline;

- TeX/Prote has to be extended to accept UTF-8 (without, in the engine
proper, handling whatever local related thing: this has to be done at
the macro set level, or as font instructions) and to handle a font as a
directory of 256 glyphes chunks (this can be compatible with existing:
the font is searched first as a directory---extension---; if not
existing, as a file---present state, equivalent to the 0 chunk);

- A DVI interpreter has then to be written using the METAFONT
rasterizing routines to produce the end result.

One important part in the above, is that with this scheme, one has not
to take a position about roff vs. tex: underneath, there will be the
TeX/Prote engine, but interpreting whatever roff macros set is given.
One could perfectly continue to write troff-wise.

As for fonts, there are still the Hershey's digitalized ones, having
not only occidental glyphes, but oriental ones. Plus all the existing
METAFONT ones. One possible extension concerning fonts, in the DVI
rendering, would be an intermediate representation, \'a la Hershey: to
convert curved primitives to linestrings, without rasterization,
allowing a quite correct last time scaling with a very low resources
impact for final rendering.

All this, I plan to do some day. But I'm at the limit of thrashing at
the moment.
-- 
        Thierry Laronde <tlaronde +AT+ kergis +dot+ com>
                     http://www.kergis.com/
                    http://kertex.kergis.com/
                     http://nunc-et-hic.fr/
Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C

------------------------------------------
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tcf128fa955b8aafc-Ma1eb78088eb726ad7013891c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

Reply via email to