[Fontinst] eTeX and fontinst -- incompatible?

Walter Schmidt w.a.schmidt at gmx.net
Tue Dec 9 01:20:32 CET 2003


Please, let me forward a message from Heiko Oberdiek
<oberdiek at uni-freiburg.de>, who has probably found out
what is wrong here.   

Walter

==================BEGIN FORWARDED MESSAGE==================
>From: Heiko Oberdiek <oberdiek at uni-freiburg.de>
>Subject: Re: [VTeX] eTeX fails on fontinst
>Message-ID: <20031208235040.GA1278 at linux>

[...]
It is an error in fontinst.sty's e-TeX support code:

line 24 of the .mtx file contains:
  \setscaledrawglyph
This executes \ifisint{rawscale}, it checks
"\i-rawscale":

  \ifisint #1\then ->\if_defined i-#1\then 
  #1<-rawscale

  \if_defined #1\then ->\ifcsname #1\endcsname 
  #1<-i-rawscale
  {\ifcsname: (level 5) entered on line 24}
  {true}

This evaluates to true, because \i-rawscale was assigned
previously by \unsetint{rawscale}, it executes:
  \let\i-rawscale\relax

\ifcsname also evaluates to true, if the command name has the
meaning of relax. 

In the TeX case, without e-TeX extensions, \if_defined is
defined as (\let\x_relax=\relax):

  \def\if_defined#1\then{
     \expandafter\ifx \csname#1\endcsname\x_relax
        \expandafter\if_false
     \else
        \expandafter\if_true
     \fi
  }

Here the test evaluates to false, if the command name exists,
but has the meaning of \relax.

Yours sincerely
  Heiko <oberdiek at uni-freiburg.de>




More information about the fontinst mailing list