[XeTeX] Re: [MacTeX] Re: A Zapfish request (was Re: [] XeTeX)

Jonathan Kew jonathan_kew at sil.org
Wed Apr 14 22:40:45 CEST 2004


On 14 Apr 2004, at 8:36 pm, William F. Adams wrote:

> On Wednesday, April 14, 2004, at 02:24  PM, Jonathan Kew wrote:
>
>>> Just out of curiousity Jonathan, have you considered supporting 
>>> Omega Translation Processes? Doing so would be a pretty cool way to 
>>> provide a facility to customize the usage for a given font (I'm 
>>> gonna get pretty tired of always specifying ...r{}th in Zapfino (I 
>>> think the rt ligature followed by an h (or pretty much any other 
>>> letter) looks weird).
>>
>> No, I haven't. Well, I suppose you could say I've considered it; but 
>> I don't want to go there.
>>
>> I'm not sure how this would play together with the fact that xetex is 
>> dealing with sequences of Unicode characters, which it will 
>> ultimately hand over to ATSUI for rendering. Would you expect OTPs to 
>> act at the Unicode character level? If so, there's still a 
>> potentially complex layer of behavior "underneath" this that you 
>> don't have full control over. Or are you thinking that they'd map all 
>> the way to glyphs? That's more the Omega way--but it's a whole 
>> different world-view from xetex's, and I'm not sure how well they'd 
>> integrate.
>
> I guess I should've noted, I'm just using OTPs to avoid the need for 
> active characters or tricksy macro programming & other weird stuff, 
> not for linguistics.
>
> All I want is a way to contextually replace bar w/ \foo{^^^^ba40}, or 
> in the case of Zapfino and xetex, something like baggage w/ ba{\b 
> gg}age. (where \b is the command \font\b="Zapfino:Stylistic 
> Variants=First variant glyph set" at 12pt from your previous missive)

OK; so in xetex, you'd be looking for something that will execute 
transforms on the incoming text, but you'd still be dealing entirely 
with the Unicode character stream. I certainly could imagine some neat 
uses for this.

It's a while since I looked much at Omega, but I wasn't keen to try 
building XeTeX using Omega as a starting point; but on the other hand, 
I'm not at all sure how easily just the OTP stuff could be "borrowed" 
or emulated.

If it were me, I'd probably write a little filter in Perl or something, 
and run that as a preprocessor before typesetting with xetex. :-) Of 
course, that doesn't integrate well with whatever your TeX macros may 
be doing by way of font selection, etc.

>> From an ATSUI point of view, it should really be the font designer 
>> who decides, and then encodes in AAT tables, the appropriate contexts 
>> for the rt ligature to be used. It should be extremely rare that a 
>> user has reason to explicitly override the font designer's wishes. 
>> (Apparently, in this particular case, you disagree with the font 
>> developer's choice.)
>
> Well, I am using an older version of the font, so to be fair, a number 
> of things I'd want to do are done in more recent versions, e.g., the 
> ``the'' ligature which works mid-line in Panther but not at all in 
> Jaguar (but I'm not having much success convincing work to upgrade to 
> Panther).
>
> However, after taking the time to put together a set of test files 
> which encompass all extant digraphs (or tri or tetragraphs 
> encompassing ligatures in Zapfino) in English (including the complete 
> works of Shakespeare and the King James version of The Holy Bible), I 
> think I've gotten something of a feel for what works and doesn't work 
> in the way of letterpairs / alternates in Zapfino (mental note, must 
> clean up notes and send to Adam Twardoch).

I didn't mean to suggest that your views on which ligatures are 
appropriate in which contexts are any less valid than those of whoever 
set up the AAT tables in Zapfino. And you've probably looked at a lot 
more text than most of us.

>
>> Omega lets you take on this aspect of the font design task, by 
>> writing custom OTPs to get the particular contextual behavior you 
>> want. The equivalent in the xetex world would be to write custom AAT 
>> tables for the font; that's what I'd probably do if I wanted Zapfino 
>> to behave differently. (Of course, there may be licensing concerns 
>> with this; I haven't looked into the question. But in principle, 
>> that's the way to do it.)
>
> Apple's license forbids modification or even decompiling / 
> reverse-engineering so as to learn enough to implement in a fashion 
> other than provided for by their APIs. That was one of the reasons for 
> my Byzantine technique to make use of Zapfino using Omega.

Well, that doesn't much surprise me. And I suppose if you buy Zapfino 
from Linotype, there's probably a restrictive license, too.

There are, of course, APIs that can directly render any individual 
glyph; would you be interested in a \glyph primitive in xetex, to 
request any specific glyph (by ID) from the current font?

>
>> XeTeX was intended to make it simple to use the advanced typography 
>> features of OS X, with no special setup required. I doubt it does 
>> anything that you couldn't also do with Omega, in a 
>> platform-independent manner, if you're prepared to put the effort 
>> into it, and then you get to make all the decisions for yourself. If 
>> you want that level of control, and have the expertise to do so, use 
>> Omega. If you want to simply use AAT fonts as provided, XeTeX tries 
>> to make it easy.
>
> I've been there and done that (just need to finish writing up my 
> experience). But, I'd like to avoid the need to generate 100MB .ps 
> files for a small three page holiday card (that's the size of the 
> intermediate file for peaceonearth).
>
> I've been anxiously awaiting xetex for a long while, and am thrilled 
> that it's finally available, please don't mistake my heady and 
> feverish attempt at (what was meant to be) constructive criticism as 
> disparagement.
>
> If I've offended, I apologise.

No offence! Your comments are welcome. In responding, I only meant to 
try and clarify some of the goals (and non-goals) that I've been aiming 
for with XeTeX, and what does or doesn't fit in with likely future 
directions.

One key criterion in determining what gets into xetex, so far, has been 
what I need for the typesetting projects I do; it's a been a 
one-person, very-part-time project, a tool for my own use. (And I don't 
do math typesetting, so be glad any of that works at all!) If I can get 
it to a state where a larger team can be involved, perhaps some more 
interesting progress can be made.

Jonathan

_______________________________________________
MacTeX mailing list
http://tug.org/mailman/listinfo/mactex



More information about the XeTeX mailing list