[XeTeX] The future of XeTeX

Simon Cozens simon at simon-cozens.org
Wed Aug 1 09:40:36 CEST 2012

On 31/07/2012 18:06, Keith J. Schultz wrote:
 > Lua(La)TeX is a move in this direction. Modernizing TeX!!

Well, yes and no.

The problem with all the TeX engines, the elephant in the room that nobody's 
talking about, is TeX itself. Don't get me wrong, I think it's a great piece 
of code, and it's done fantastic service over the past thirty years, I use it 
every day, and I don't see myself using anything else in the near future, but...

Let's just say there's a good reason why there isn't a great deal of code 
that's still in use after thirty years.

When Don Knuth wrote TeX, he needed an embeddable programming language, a font 
specification system, a font library, an output format. Absolutely none of 
those things existed at the time, so he wrote all of them from scratch: the 
TeX language, MetaFont, TFM, DVI. Given that he was pioneering and had nothing 
else to draw upon, he did pretty damned well, but over time they have not 
exactly turned out to be the best choices.

*TeX development since 1982 has essentially been a bunch of disparate 
projects, each trying to rip out something that Don did and replace it with 
something more sensible instead. So we had NFSS and virtual fonts to remedy 
the deficiencies of MetaFont; then we had pstex and pdftex to remedy the 
deficiencies of DVI; xetex to remedy the deficiencies of TFM; luatex to remedy 
the deficiencies of the TeX language.

They've all been great hacks, but they've all been hacks.

My feeling is that it's time to accept the principle of "one to throw away" 
and finally put TeX82 out to pasture. Now we are blessed with a set of 
technologies which have proved themselves, which give great results on modern 
systems and have support for problems which were not even on the agenda thirty 
years ago. Just take your favourite scripting language, your favourite shaping 
engine, and your favourite output engine, stick the Knuth-Plass box-and-glue 
model, justification engine and page builder in the middle,  glue them all 
together, and call it something new.


More information about the XeTeX mailing list