[XeTeX] Re: [OS X TeX] pdftex's "hz extensions"

Jonathan Kew jonathan_kew at sil.org
Mon Nov 15 14:40:55 CET 2004

On 15 Nov 2004, at 3:19 am, Will Robertson wrote:

> On 15 Nov 2004, at 6:16 PM, Bruno Voisin wrote:
>> When using OS X fonts with XeTeX, most superscripts and subscripts 
>> cause the interline spacing ... to vary
> I've noticed this too, but for \TeX rather than for sub/super-scripts. 
> Could such a thing be prevented by putting it in a zero-height (and 
> depth) box or something?

Depending on the material you're dealing with, you may want to adjust 
TeX's line-spacing parameters to handle this. If you make 
\lineskiplimit somewhat negative, the interline spacing won't vary from 
\baselineskip unless there's significantly more "overlap" between the 
potential height/depth of adjacent lines.

I suspect that people are often loading fonts in XeTeX where the height 
and depth (as measured by XeTeX, not true character bounding boxes) 
comes close to, or even exceeds, the default \baselineskip you're 
using, and so \lineskip kicks in; and then as soon as any character is 
offset vertically, you'll see disturbance of the line spacing.

>> I think, sadly, that nothing can be done against this: XeTeX leaves 
>> most font management tasks to OS X, and the above is simply the way 
>> OS X sees things (i.e. its notion of character height, interline 
>> space, and the like). Or am I mistaken? (I would love to be!)
> Maybe, maybe not.
> In TextEdit, enable the Ruler (CMD R) and choose Spacing > Other. One 
> of the options is:
>    Line height =
>       (exactly xxx points) OR
>       (at least yyy points (AND, optionally, at most zzz points))
> Presumably XeTeX is using the second option (since it is the default), 
> whereas it is conceivable that it could also use the first.

Well, that's not quite how XeTeX works, but I am aware this is an 
issue. (One possibility I'm considering is to try supporting true 
character bounding boxes, but it would come at a performance cost and 
so would be an optional setting.)

> However, this method only works for superscripts (curses!), since it 
> uses the baseline of the lowest character as the baseline of the whole 
> line (how stupid!). I wonder if filing a bug on this would be 
> worthwhile...

Go for it! :)

> I've forwarded this to the XeTeX list in case JK misses it here since 
> I think he's away (or busy) at the moment.

True, though still trying to skim the list for important things!


More information about the XeTeX mailing list