[XeTeX] Arno conundrum

Jonathan Kew jonathan_kew at sil.org
Wed Jan 10 15:00:28 CET 2007

On 5 Jan 2007, at 5:15 pm, Jonathan Kew wrote:

> On 4 Jan 2007, at 11:46 am, Stephen Moye wrote:
>> I'm using XeTeX. I am also trying out Adobe's (Robert Slimbach) new
>> font, Arno. Using XeTeX and writing:
>> \font\x="Arno Pro Light 36pt:+smcp" \x
>> works, but
>> \font\x="Arno Pro Light 36pt:+onum" \x
>> does not. Before I get too involved in this, is it possible that
>> some font features have been 'turned off' in this 'beta'? I took a
>> quick look in FontLab and the features (and the classes they call)
>> seem to be defined and populated...
> I haven't yet figured out what's going on here.... whether it's a bug
> in the OpenType tables in the font, or a bug -- or unimplemented
> feature :) -- in xetex's OT support.
> Interestingly, you do get the oldstyle numerals if you use the c2sc
> feature. (But that also affects uppercase letters, so it's not useful
> as a general workaround!) It may be that Adobe is using different
> table structures than in past fonts, and the ICU library isn't
> handling them properly.

OK, I've looked into it a little, and believe this is the case. In  
technical terms, the Arno Pro font shares some lookups between  
multiple features, as an optimization of the OpenType GSUB table, and  
the layout engine in ICU 3.4 (used by xetex) doesn't handle this. I  
think this is the first font I've seen that's constructed in this way.

It looks like ICU 3.6 has some changes in this area, and may well  
solve the issue. After the TL release is finalized, I hope to look  
into several pending enhancements to xetex, and one of these is to  
update to a newer ICU release. But I can't do this immediately  
without the risk of destabilizing things, as xetex also uses some  
private enhancements to ICU, and I'll have to ensure those are  
properly integrated with the new library version.

So, for now I think this is a limitation that you're stuck with, but  
there's hope that it will be fixed sometime in the fairly near future  
(*after* version 0.996, which is going into TL).


More information about the XeTeX mailing list