% This is the file UTF8.chr of the CJK package % for using Asian logographs (Chinese/Japanese/Korean) with LaTeX2e % % created by Werner Lemberg % % Version 4.5.1 (17-Jun-2002) \def\fileversion{4.5.1} \def\filedate{2002/06/17} \ProvidesFile{UTF8.chr}[\filedate\space\fileversion] % define macros for handling CJK fonts and characters in UTF 8 encoding. % two bytes per character; covers range 0x80 - 0x7FF. \CJK@global\@namedef{CJK@UTF8Chr}{ \CJK@global\def\CJK@char##1##2##3{ {\ifnum ##3 < \CJK@min \CJK@err \else \ifnum ##3 > \CJK@max \CJK@err \else \@tempcnta ##3\relax \advance\@tempcnta ##2\relax \edef\CJK@plane{##1} \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} \CJKsymbol{\@tempcnta} \fi \fi}} % three bytes per character; covers range 0x800 - 0xFFFF. \CJK@global\def\CJK@altchar##1##2##3{ {\ifnum ##2 < \CJK@min \CJK@err \else \ifnum ##2 > \CJK@max \CJK@err \else \ifnum ##3 < \CJK@min \CJK@errx \else \ifnum ##3 > \CJK@max \CJK@errx \else \ifCJK@CJK@ \CJK@testLastCJK \ifCJK@ \CJKglue \fi \CJK@testLastKern \ifCJK@ \nobreak \CJKglue \nobreak \fi \fi \@tempcnta ##1\relax \@tempcntb ##2\relax \divide\@tempcntb 4\relax \advance\@tempcnta \@tempcntb \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} \def\CJK@tempa####1{ \lowercase{\edef\CJK@plane{####1}}} \expandafter\CJK@tempa\expandafter{\CJK@gtemp} \@tempcnta ##2\relax \multiply\@tempcntb -4\relax \advance\@tempcnta \@tempcntb \multiply\@tempcnta 64\relax \advance\@tempcnta ##3\relax \advance\@tempcnta -128\relax \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} \CJKsymbol{\@tempcnta} \ifCJK@hangul@ \discretionary{}{}{} \fi \ifCJK@CJK@ \CJK@CJK \fi \fi \fi \fi \fi}} % define macro for handling punctuation characters. \CJK@global\def\CJK@punctchar##1##2##3##4{ {\ifnum ##3 < \CJK@min \CJK@err \else \ifnum ##3 > \CJK@max \CJK@err \else \ifnum ##4 < \CJK@min \CJK@errx \else \ifnum ##4 > \CJK@max \CJK@errx \else \@tempcnta ##2\relax \@tempcntb ##3\relax \divide\@tempcntb 4\relax \advance\@tempcnta \@tempcntb \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} \def\CJK@tempa####1{ \lowercase{\edef\CJK@plane{####1}}} \expandafter\CJK@tempa\expandafter{\CJK@gtemp} \@tempcnta ##3\relax \multiply\@tempcntb -4\relax \advance\@tempcnta \@tempcntb \multiply\@tempcnta 64\relax \advance\@tempcnta ##4\relax \advance\@tempcnta -128\relax \usefont{\CJK@enc}{\CJK@family}{\CJK@series}{\CJK@shape} \ifCJK@CJK@ \expandafter\CJK@testInList \expandafter{\expandafter##1\expandafter} \expandafter{\CJK@plane} \ifCJK@ \CJK@numbToHex{\CJK@gtemp}{\@tempcnta} \CJK@testLastCJK \ifCJK@ \CJK@testPostPunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp} \ifCJK@ \nobreak \CJKglue \nobreak \else \CJKglue \fi \fi \CJK@testLastKern \ifCJK@ \nobreak \CJKglue \nobreak \fi \CJKsymbol{\@tempcnta} \CJK@testPrePunct{\CJK@@@enc}{\CJK@plane}{\CJK@gtemp} \ifCJK@ \CJK@kern \else \CJK@CJK \fi \else \CJK@testLastCJK \ifCJK@ \CJKglue \fi \CJK@testLastKern \ifCJK@ \nobreak \CJKglue \nobreak \fi \CJKsymbol{\@tempcnta} \CJK@CJK \fi \else \CJKsymbol{\@tempcnta} \fi \ifCJK@hangul@ \discretionary{}{}{} \fi \fi \fi \fi \fi}}} \endinput