[XeTeX] OT: scripts, glyphs and Cocoa text editing
jonathan_kew at sil.org
Tue Nov 8 19:41:15 CET 2005
On 8 Nov 2005, at 9:21 am, musa furber wrote:
> Both TeXShop and SubEthaEdit produce something like the image below:
> The render starts with Geeza Pro, all characters connected just as
> it should be. After the tilde it comes to Unicode 0xfda, a ligature
> missing in Geeza but present in other fonts. The renderer switches
> to a font that does have it (Lotus Linotype, from the looks of it)
> and then stays there. Lotus has OpenType tables for Arabic but not
> for AAT. My naive assumption is that this is why I get isolated
> shapes once the switch is made to Lotus.
> It's nice that the rendering algorithm does what it can with what
> it is given. But it seems like it ought to take into account the
> font's script specific tables and not just its repertoire of glyphs.
This is inherently difficult in the case of AAT fonts, as the AAT
tables are not "script specific". AAT uses a generic, script-neutral
engine, unlike the script-specific "shaping engines" used with OT
fonts, and so the system doesn't really have any easy way of
"knowing" whether the tables in the font are implementing appropriate
behavior for any given script. Indeed, there is no concept of
"script" in AAT; there are just runs of Unicode characters that are
mapped to glyphs and then processed (by the generic engine) according
to the tables in the font.
> Can anyone suggest a workaround, short of removing Lotus, editing
> Geeza, or making Al Bayan my default font? None of these solutions
> are ideal.
I'm familiar with the behavior, but don't have a good workaround to
suggest - though a font manager utility that allows you to easily
activate/deactivate Lotus might be helpful.
Maybe a Cocoa developer out there would like to provide an add-in for
the text system that gives better control over font fallback
selection - any volunteers? :)
More information about the XeTeX