[XeTeX] bug in xecyr
Ross Moore
ross at ics.mq.edu.au
Sun May 17 07:05:34 CEST 2009
Hello Imposeren, and others,
On 17/05/2009, at 12:37 AM, Imposeren wrote:
> This is wrong:
> \DeclareUTFcharacter[\UTFencname]{x0407}{\CYRII} % Ї
> \DeclareUTFcharacter[\UTFencname]{x0457}{\cyrii} % ї
> \DeclareUTFcharacter[\UTFencname]{x0406}{\CYRYI} % І
> \DeclareUTFcharacter[\UTFencname]{x0456}{\cyryi} % і
>
> Correct:
> \DeclareUTFcharacter[\UTFencname]{x0407}{\CYRYI} % Ї
> \DeclareUTFcharacter[\UTFencname]{x0457}{\cyryi} % ї
> \DeclareUTFcharacter[\UTFencname]{x0406}{\CYRII} % І
> \DeclareUTFcharacter[\UTFencname]{x0456}{\cyrii} % і
Your correction would seem to be correct, looking at just the names
for the characters: \CYRYI rather than \CYRII.
But is this the way that those macro names have actually been used
previously in LaTeX ?
That is, maybe the mistake is deeper than what is in this file ?
LaTeX usage seems to be controlled by inputenc.sty where relevant
coding is:
\def\update at uclc@with at cyrillic{%
\expandafter\def\expandafter\@uclclist\expandafter
{\@uclclist
\cyra\CYRA\cyrabhch\CYRABHCH\cyrabhchdsc\CYRABHCHDSC\cyrabhdze
\CYRABHDZE\cyrabhha\CYRABHHA\cyrae\CYRAE\cyrb\CYRB\cyrbyus
\CYRBYUS\cyrc\CYRC\cyrch\CYRCH\cyrchldsc\CYRCHLDSC\cyrchrdsc
\CYRCHRDSC\cyrchvcrs\CYRCHVCRS\cyrd\CYRD\cyrdelta\CYRDELTA
\cyrdje\CYRDJE\cyrdze\CYRDZE\cyrdzhe\CYRDZHE\cyre\CYRE\cyreps
\CYREPS\cyrerev\CYREREV\cyrery\CYRERY\cyrf\CYRF\cyrfita
\CYRFITA\cyrg\CYRG\cyrgdsc\CYRGDSC\cyrgdschcrs\CYRGDSCHCRS
\cyrghcrs\CYRGHCRS\cyrghk\CYRGHK\cyrgup\CYRGUP\cyrh\CYRH
\cyrhdsc\CYRHDSC\cyrhhcrs\CYRHHCRS\cyrhhk\CYRHHK\cyrhrdsn
\CYRHRDSN\cyri\CYRI\cyrie\CYRIE\cyrii\CYRII\cyrishrt\CYRISHRT
\cyrishrtdsc\CYRISHRTDSC\cyrizh\CYRIZH\cyrje\CYRJE\cyrk\CYRK
\cyrkbeak\CYRKBEAK\cyrkdsc\CYRKDSC\cyrkhcrs\CYRKHCRS\cyrkhk
\CYRKHK\cyrkvcrs\CYRKVCRS\cyrl\CYRL\cyrldsc\CYRLDSC\cyrlhk
\CYRLHK\cyrlje\CYRLJE\cyrm\CYRM\cyrmdsc\CYRMDSC\cyrmhk\CYRMHK
\cyrn\CYRN\cyrndsc\CYRNDSC\cyrng\CYRNG\cyrnhk\CYRNHK\cyrnje
\CYRNJE\cyrnlhk\CYRNLHK\cyro\CYRO\cyrotld\CYROTLD\cyrp\CYRP
\cyrphk\CYRPHK\cyrq\CYRQ\cyrr\CYRR\cyrrdsc\CYRRDSC\cyrrhk
\CYRRHK\cyrrtick\CYRRTICK\cyrs\CYRS\cyrsacrs\CYRSACRS
\cyrschwa\CYRSCHWA\cyrsdsc\CYRSDSC\cyrsemisftsn\CYRSEMISFTSN
\cyrsftsn\CYRSFTSN\cyrsh\CYRSH\cyrshch\CYRSHCH\cyrshha\CYRSHHA
\cyrt\CYRT\cyrtdsc\CYRTDSC\cyrtetse\CYRTETSE\cyrtshe\CYRTSHE
\cyru\CYRU\cyrushrt\CYRUSHRT\cyrv\CYRV\cyrw\CYRW\cyry\CYRY
\cyrya\CYRYA\cyryat\CYRYAT\cyryhcrs\CYRYHCRS\cyryi\CYRYI\cyryo
\CYRYO\cyryu\CYRYU\cyrz\CYRZ\cyrzdsc\CYRZDSC\cyrzh\CYRZH
\cyrzhdsc\CYRZHDSC}%
\let\update at uclc@with at cyrillic\relax
}
\DeclareOption*{%
\let\encodingdefault\CurrentOption
\edef\reserved at f{%
\lowercase{\def\noexpand\reserved at f{\CurrentOption enc.def}}}%
\reserved at f
\InputIfFileExists\reserved at f
{}{\PackageError{fontenc}%
{Encoding file `\reserved at f' not found.%
\MessageBreak
You might have misspelt the name of the encoding}%
{Necessary code for this encoding was not
loaded.\MessageBreak
Thus calling the encoding later on will
produce further error messages.}}%
\let\reserved at f\relax
\expandafter\in@\expandafter{\CurrentOption}%
{T2A,T2B,T2C,X2,LCY,OT2}%
\ifin@
\expandafter\in@\expandafter\cyra\expandafter
{\@uclclist}%
\ifin@
\else
\update at uclc@with at cyrillic
\fi
\fi
}
\ProcessOptions*
Also relevant are files in .../texmf/tex/latex/cyrillic
viz.
[GlenMorangie:tex/latex/cyrillic] rossmoor% grep CYRYI *.def
cp1251.def:\DeclareInputText{175}{\CYRYI}
cp855.def:\DeclareInputText{141}{\CYRYI}
cp866.def:\DeclareInputText{244}{\CYRYI}
cp866nav.def:\DeclareInputText{248}{\CYRYI}
iso88595.def:\DeclareInputText{167}{\CYRYI}
isoir111.def:\DeclareInputText{183}{\CYRYI}
koi8-ru.def:\DeclareInputText{183}{\CYRYI}
koi8-u.def:\DeclareInputText{183}{\CYRYI}
lcyenc.def:\DeclareTextSymbol{\CYRYI}{LCY}{248}
maccyr.def:\DeclareInputText{186}{\CYRYI}
macukr.def:\DeclareInputText{186}{\CYRYI}
t2aenc.def:\DeclareTextSymbol{\CYRYI}{T2A}{136}
x2enc.def:\DeclareTextSymbol{\CYRYI}{X2}{136}
That gives at least 9 different encoding positions in non-Unicode
fonts. Are they all accessing a glyph for
a. the same character ?
b. the *correct* character; i.e. Ux0407 ?
or
c. the incorrectly named character; Ux0406 ?
Would Evgenie Medvedev or A. Shipunov , or anyone else who has
had lots of experience with these encodings, please comment on this,
so that a possible error is not propagated any further; nor any new
error created by acting in haste.
Hope this helps,
Ross Moore
------------------------------------------------------------------------
Ross Moore ross at maths.mq.edu.au
Mathematics Department office: E7A-419
Macquarie University tel: +61 (0)2 9850 8955
Sydney, Australia 2109 fax: +61 (0)2 9850 8114
------------------------------------------------------------------------
More information about the XeTeX
mailing list