[XeTeX] supplying missing glyphs?

pomax at nihongoresources.com pomax at nihongoresources.com
Fri Jan 14 02:30:19 CET 2011


> I'm guessing my current XeTeX 3.141592-2.2-0.996 doesn't *have*
> \XeTeXinterchartoks, whereas the XeTeX 3.1415926-2.2-0.9997.4 in
> TeXLive 2010 does.

XeTeX has had \XeTeXinterchartoks for a while, it's more likely to be the
new class allocation, \newXeTeXintercharclass

You can "fix" this without upgrading XeTeX itself by defining
"newxetexintercharclass.sty" with the following content:

%
% This package ensures that the "newXeTeXintercharclass" command is known.
%
\ProvidesPackage{newxetexintercharclass}
\RequirePackage{ifxetex}
\RequireXeTeX
\@ifundefined{newXeTeXintercharclass}{%
  \PackageWarning{uccalloc}{newXeTeXintercharclass was not previously
defined. If you use packages that rely on intercharclasses, things may
break by mixing old manual class assignment with class numbers served
using the newXeTeXintercharclass request.}
%
% Allocator for \XeTeXintercharclass values, from Enrico Gregorio,
% straight copy from the xelatex.ini that comes with TeX Live 2009
%
\catcode`\@=11
\newcount\xe at alloc@intercharclass % allocates intercharclass
\xe at alloc@intercharclass=\thr@@ % from 4 (1,2 and 3 are used by CJK, AFAIK)
\def\xe at alloc@#1#2#3#4#5{\global\advance#1\@ne
\xe at ch@ck#1#4#2% make sure there's still room
\allocationnumber#1%
\global#3#5\allocationnumber
\wlog{\string#5=\string#2\the\allocationnumber}}
\def\xe at ch@ck#1#2#3{%
\ifnum#1<#2\else
 \errmessage{No room for a new #3}%
\fi}
\def\newXeTeXintercharclass{%
\xe at alloc@\xe at alloc@intercharclass\XeTeXintercharclass\chardef\@cclv} %at
most 254
\catcode`\@=12
}{%
% if it's already defined, no need to redeclare it
\PackageWarning{uccalloc}{newXeTeXintercharclass already defined, not
redeclaring.}}
\endinput

And then making ucharclasses.sty use this ad-hoc package:

...
\RequirePackage{ifxetex}
\RequireXeTeX
\RequirePackage{newxetexintercharclass}
...


- Mike "Pomax" Kamermans
nihongoresources.com





More information about the XeTeX mailing list