summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr')
-rw-r--r--Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr95
1 files changed, 92 insertions, 3 deletions
diff --git a/Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr b/Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr
index f667b4f71f0..868cfabd743 100644
--- a/Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr
+++ b/Master/texmf-dist/tex/latex/CJK/UTF8/UTF8.chr
@@ -3,10 +3,27 @@
%
% created by Werner Lemberg <wl@gnu.org>
%
-% Version 4.6.0 (11-Aug-2005)
+% Version 4.7.0 (17-Oct-2006)
-\def\fileversion{4.6.0}
-\def\filedate{2005/08/11}
+% Copyright (C) 1994-2006 Werner Lemberg <wl@gnu.org>
+%
+% This program is free software; you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation; either version 2 of the License, or
+% (at your option) any later version.
+%
+% This program is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this program in doc/COPYING; if not, write to the Free
+% Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+% MA 02110-1301 USA
+
+\def\fileversion{4.7.0}
+\def\filedate{2006/10/17}
\ProvidesFile{UTF8.chr}[\filedate\space\fileversion]
@@ -91,6 +108,78 @@
\fi
\fi}}
+% four bytes per character; covers range 0x10000 - 0x10FFFF.
+
+ \CJK@global\def\CJK@altxchar##1##2##3##4{
+ {\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
+ \ifnum ##3 < \CJK@min
+ \CJK@errxx
+ \else
+ \ifnum ##3 > \CJK@max
+ \CJK@errxx
+ \else
+ \ifCJK@CJK@
+ \CJK@testLastCJK
+ \ifCJK@
+ \CJKglue
+ \fi
+ \CJK@testLastKern
+ \ifCJK@
+ \CJK@nobreakglue
+ \fi
+ \fi
+
+ \@tempcnta ##1\relax
+ \@tempcntb ##2\relax
+ \multiply\@tempcntb \sixt@@n
+ \advance\@tempcnta \@tempcntb
+ \@tempcntb ##3\relax
+ \divide\@tempcntb 4\relax
+ \advance\@tempcnta \@tempcntb
+ \CJK@numbxToHex{\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}
+ \edef\reserved@a{
+ \curr@fontshape/\CJK@plane/\the\@tempcnta/\CJK@direction}
+ \expandafter\ifx\csname\reserved@a\endcsname \relax
+ \CJKsymbol{\@tempcnta}
+ \else
+ \csname\reserved@a\endcsname
+ \fi
+
+ \ifCJK@hangul@
+ \discretionary{}{}{}
+ \fi
+ \ifCJK@CJK@
+ \CJK@CJK
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}}
+
% define macro for handling punctuation characters.
\CJK@global\def\CJK@punctchar##1##2##3##4{