[XeTeX] misplaced combining diacritical marks

Jonathan Kew jonathan_kew at sil.org
Sun Aug 29 09:57:34 CEST 2004


On 29 Aug 2004, at 1:41 am, Ross Moore wrote:

> The problem lies with the  \fontname  primitive, as you can see from
> these snippets from a .log file, which show the name associated with
> the current font, as referenced by \font :
>
> > \this=macro:
> ->cmr10 at 10.95pt.
> l.35 \edef\this{\fontname\font}\show\this
>
>
> > \this=macro:
> ->Trebuchet MS at 10.95pt.
> l.49 \edef\this{\fontname\font}\show\this
>
>
>
> > \this=macro:
> ->Trebuchet MS Bold at 10.95pt.
> <argument> ...\this {\fontname \font }\show \this
>                                                   will use the 
> non-extended ...
> l.54 will use the non-extended bold shape,}
>
>
> > \this=macro:
> ->nullfont.
> <argument> ...\this {\fontname \font }\show \this
>                                                   will use the 
> non-extended ...
> l.60  will use the non-extended bold shape,}
>
>
> THe latter (nullfont)  arose from a bad  ssub  as discussed in this 
> thread.
>
>
>
> Notice how (Xe)TeX  does not include the "s around names containing 
> spaces.
> It shouldn't be hard to patch that primitive to check for the need for 
> "...".
>
>
> When LaTeX first uses a font declared with an  ssub  declaration,
> it tries to generate a new \font command, by constructing the name
> from the  \fontname  of the font being substituted.
> You can see now how that strategy fails when there is a space in the 
> name.
>
> Using  "\fontname"  will *not* work, as this would result in:
>   "Trebuchet MS Bold at 10.95pt"
> instead of
>   "Trebuchet MS Bold" at 10.95pt
>
>
> I think it will be easier to patch  \fontname  in the TeX application 
> (i.e. XeTeX),
> rather than try to parse the syntax of font names within (La)TeX macro 
> code.
>
> If this is done, then the existing LaTeX coding should  ssub  fine.

Thanks for the analysis, Ross; this sounds like a workable fix. Having 
no idea how LaTeX font selection and substitution works, I hadn't 
considered that \fontname could be relevant; I just assumed it would 
use the shape declarations "from scratch".

I'll aim to fix \fontname in this way for the next update of XeTeX. 
(Hope to get one out soon, as I have a couple of other fixes in place 
too.)

JK



More information about the XeTeX mailing list