1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
% Copyright 2000 Vladimir Volovich <vvv@vsu.ru>
\ProvidesFile{utf-8.def}[2000/08/19 v0.1 input encoding file for utf-8]
\makeatletter
\let\@inpenc@test\relax
\count@192
\loop
\bgroup
\uccode`\~\count@
\uppercase{%
\egroup
\def~##1{\csname U2\string~\string##1\endcsname}%
}
\ifnum\count@<223\relax
\advance\count@\@ne
\repeat
\count@224
\loop
\bgroup
\uccode`\~\count@
\uppercase{%
\egroup
\def~##1##2{\csname U3\string~\string##1\string##2\endcsname}%
}
\ifnum\count@<239\relax
\advance\count@\@ne
\repeat
% FIXME: define U4, U5, U6
\def\get@code#1#2;{\count@\if x\noexpand#1"\else#1\fi#2\relax}
\def\UnicodeCharacter#1#2{%
\get@code#1;%
\ifnum\count@<"80\relax
\Error
\else\ifnum\count@<"800\relax
\@tempcnta\count@
\divide\count@64
\bgroup
\advance\count@192
\uccode`\~\count@
\uppercase{%
\egroup
\toks@{U2\string~}%
}%
\multiply\count@64
\advance\@tempcnta-\count@
\advance\@tempcnta"80
\bgroup
\uccode`\~\@tempcnta
\uppercase{%
\egroup
\toks@\expandafter{\the\toks@\string~}%
}%
\expandafter\expandafter\expandafter
\def\expandafter\csname\the\toks@\endcsname{#2}%
\else
\Error
\fi\fi
}
\@ifundefined{ver@utfcyr.def}{\input{utfcyr.def}}\relax
\@ifundefined{ver@utflat.def}{\input{utflat.def}}\relax
\makeatother
|