[tex-live] updmap and TEXMFHOME

Heiko Oberdiek heiko.oberdiek at googlemail.com
Sat Dec 4 22:57:22 CET 2010


On Sat, Dec 04, 2010 at 09:58:17PM +0100, Reinhard Kotucha wrote:

> On 4 December 2010 Heiko Oberdiek wrote:
> 
>  > Also the map line uses `=' that is not covered by \nfss at catcodes.
>  > `=' might be active (see turkish.ldf). Also missing is `+'.
>  > 
>  > \begingroup
>  >   % assuming \nfss at catcodes is in force
>  >   \catcode32=10\relax % space
>  >   \catcode43=12\relax % plus
>  >   \catcode61=12\relax % equals
>  >   \pdfmapline{...}%
>  > \endgroup
> 
> I suppose that \nfss at catcodes sets only the catcodes for characters
> used by NFSS.  Suppose you are using Babel and " is active and
> \pdfmapline contains PostScript code like "0.167 SlantFont".
> 
> dvips also needs [ for things like: 
> 
>       "TeXBase1Encoding ReEncodeFont" <[8r.enc 
> 
> Do we need
>   \catcode`\"=12
>   \catcode`\[=12
> as well?  

They are covered by \nfss at catcodes.

Example test file that works for pdftex.map:

\makeatletter
\newcommand*{\pdfmap at catcodes}{%
  \nfss at catcodes
  \catcode`\ =10 %
  \catcode`\^^I=10 %
  \@makeother\+%
  \@makeother\=%
  \@makeother\_% 
}

% helper macros for test
\def\RestoreCatcodes{}
\count@=0 %
\loop
  \edef\RestoreCatcodes{%
    \RestoreCatcodes
    \catcode\the\count@=\the\catcode\count@\relax
  }%
\ifnum\count@<255 %  
  \advance\count@ 1 %
\repeat

\def\RangeCatcodeInvalid#1#2{%
  \count@=#1\relax
  \loop
    \catcode\count@=15 %
  \ifnum\count@<#2\relax
    \advance\count@ 1 %
  \repeat
}
\expandafter\ifx\csname LoadCommand\endcsname\relax
  \def\LoadCommand{\input ltxcmds.sty\relax}%
\fi
\def\Test{%
  \RangeCatcodeInvalid{0}{47}% 
  \RangeCatcodeInvalid{58}{64}%
  \RangeCatcodeInvalid{91}{96}%  
  \RangeCatcodeInvalid{123}{255}%
  \LoadCommand
  \RestoreCatcodes
}

% do the test by reading pdftex.map;                          
% put pdftex.map in a location where it can be found
% as TeX input file (e.g.current directory).
\RequirePackage{catchfile}
\def\LoadCommand{%
  \CatchFileDef\TestMap{pdftex.map}{\pdfmap at catcodes}%
}
\Test
\csname @@end\endcsname\end

But other characters could also be added, e.g., &, $, ?, !, ...

Yours sincerely
  Heiko Oberdiek


More information about the tex-live mailing list