[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