[XeTeX] The future of XeTeX
Keith J. Schultz
keithjschultz at web.de
Tue Jul 31 11:06:20 CEST 2012
I will step in and offer my 2 Euro cents worth.
First, we have to be careful not to mix oranges and apples.
That is to say font formats , font feature sets, rendering engines
and tex formats and tex engines. They are all different animals.
Let us take ATSUI. Why has Apple abandon it? Well, I do not believe
there are are any native ATT-fonts in the MacOS X any more.
Is Core Text a alternative? Not, actually. Core Text does have some
support for ATSUI, but it is not 1 to 1. I started to look into port XeTeX to
64-bit thinking it was a simple refactoring problem. I soon got lost in APIs
and some ancient code. Furthermore, I soon found out that strictly from the
source code and practically no knowledge of typography, I was lost.
O.K. My problem. Yet, I did realize that it would be theorectically, possible,
but the ease of use and known way would be lost.
Another thing to keep in mind TeX et. al is not completely bachwards compatible
either. Many older packages do not work or only work under certain circumstances.
Lua(La)TeX helps in that packages can be easily written so that they do not interfere
with other packages as they can be give their own namespace. In other words,
you do not have to go through the standard TeX hoops to avoid conflicts, which
makes programming packages far more easier. TeX is not easy to program and it
takes years to understand the TeX way of thinking and programming. I have never
been able to grock it and will never. Lua(La)TeX lets me avoid it, as the things I
particularly want to are be more efficiently done in it.
Expecting Xe(La)TeX code to run on anything, but Xe(La)TeX is utopical. Your source
Xe(La)TeX, for texts, must be rewritten to match the other syntax. It is just like using the gnu
compiler suites. They are not compatible. If the newer ones do not suite you, you are stuck
with using deprecated code or learning to do things another way.
TeX does support modern programming techniques and never will. Sure it has evolved to
support modern technologies, yet it uses far to many crutches. It is like trying to program
object oriented in C. Yes, that can be done, but alot more work, and in the end you end with
C++, C#, or Objective-C. So why not learn these other languages from the start!?
Lua(La)TeX is a move in this direction. Modernizing TeX!!
The lack of features in Lua(La)TeX is just like the lack of feature in TeX, LaTeX, LaTeX2e,
and Xe(La)TeX when they started out. Is math support finished in Xe(La)TeX? Is the support
for all languages finished? No. Why? Well, just like everything in TeX you need people
dedicated to developing them and an interest in doing so. Just like TeX decades ago.
One of the reasons why I stopped using LaTeX was its lack of support for system fonts.
Xe(La)TeX change all that. Yet, when I look at fontspec, I said what in all hell do I have to
do all that (setting up all kinds of features, and God knows what). Do I really need to learn
typography, now, to use typeset texts? From looking at the manuals yes. From my experience
not that much.
Well that is another thing to keep in mind. For whom are all those features in Xe(La)TeX needed.
A very elite group of people that understand typography and its use. Not, the average user.
Do not get me wrong, many of you are the backbone of using TeX and making it as easy as possible
As far as compatibility is concerned Xe(La)TeX is not even compatible with itself on different platforms!
As someone already mentioned the 64-bit version do not support ATSUI on all systems. Furthermore,
some platforms do not support ATSUI at all.
On the otherside, in Lua(La)TeX you can produce pdf-output directly and inject it into the pdf. So, it should
be possible to do anything, you need. I am not saying it will be easy and requiring inventing the wheel
all over again.
Soo, if more users do not switch to Lua(La)TeX and requesting features, the developers will not need feel
the need to add low-level support for them or will those possibly interested step up to bat.
It is like VHS and BetaMax. On will eventually win. The Users will decide. All others will be left with a outdated
system that is deprecated.
As far as Lua(La)TeX development is concerned. I am, personnaly, somewhat disappointed. I would have expected
it to develop faster. Especially, documentation wise. Sure, there is a reference manual, but that does not help much,
unless you are a TeXichian. Other, manuals to the Lua-interface are lacking in some respects, too. I have was chasing
a bug(!) for more than a half a day. My code now works.
So as you all can see it cuts both ways. I vote is to gradually switch to Lua(La)TeX. I believe that it can become the
More information about the XeTeX