Annotation of doc/latex/utf8.def, revision 1.1
1.1 ! raeburn 1: %%
! 2: %% This is file `utf8.def',
! 3: %% generated with the docstrip utility.
! 4: %%
! 5: %% The original source files were:
! 6: %%
! 7: %% utf8ienc.dtx (with options: `utf8')
! 8: %%
! 9: %% This is a generated file.
! 10: %%
! 11: %% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
! 12: %% The LaTeX3 Project and any individual authors listed elsewhere
! 13: %% in this file.
! 14: %%
! 15: %% This file was generated from file(s) of the LaTeX base system.
! 16: %% --------------------------------------------------------------
! 17: %%
! 18: %% It may be distributed and/or modified under the
! 19: %% conditions of the LaTeX Project Public License, either version 1.3
! 20: %% of this license or (at your option) any later version.
! 21: %% The latest version of this license is in
! 22: %% http://www.latex-project.org/lppl.txt
! 23: %% and version 1.3 or later is part of all distributions of LaTeX
! 24: %% version 2003/12/01 or later.
! 25: %%
! 26: %% This file has the LPPL maintenance status "maintained".
! 27: %%
! 28: %% This file may only be distributed together with a copy of the LaTeX
! 29: %% base system. You may however distribute the LaTeX base system without
! 30: %% such generated files.
! 31: %%
! 32: %% The list of all files belonging to the LaTeX base distribution is
! 33: %% given in the file `manifest.txt'. See also `legal.txt' for additional
! 34: %% information.
! 35: %%
! 36: %% The list of derived (unpacked) files belonging to the distribution
! 37: %% and covered by LPPL is defined by the unpacking scripts (with
! 38: %% extension .ins) which are part of the distribution.
! 39: \ProvidesFile{utf8.def}
! 40: [2004/02/09 v1.1b UTF-8 support for inputenc]
! 41: \makeatletter
! 42: \def\UTFviii@two@octets#1#2{\expandafter
! 43: \UTFviii@defined\csname u8:#1\string#2\endcsname}
! 44: \def\UTFviii@three@octets#1#2#3{\expandafter
! 45: \UTFviii@defined\csname u8:#1\string#2\string#3\endcsname}
! 46: \def\UTFviii@four@octets#1#2#3#4{\expandafter
! 47: \UTFviii@defined\csname u8:#1\string#2\string#3\string#4\endcsname}
! 48: \def\UTFviii@defined#1{%
! 49: \ifx#1\relax
! 50: \PackageError{inputenc}{Unicode char \string#1 not set up\space
! 51: for use with LaTeX}\@eha
! 52: \else\expandafter
! 53: #1%
! 54: \fi
! 55: }
! 56: \begingroup
! 57: \catcode`\~13
! 58: \catcode`\"12
! 59: \def\UTFviii@loop{%
! 60: \uccode`\~\count@
! 61: \uppercase\expandafter{\UTFviii@tmp}%
! 62: \advance\count@\@ne
! 63: \ifnum\count@<\@tempcnta
! 64: \expandafter\UTFviii@loop
! 65: \fi}
! 66: \count@"C2
! 67: \@tempcnta"E0
! 68: \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@two@octets\string~}}
! 69: \UTFviii@loop
! 70: \count@"E0
! 71: \@tempcnta"F0
! 72: \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@three@octets\string~}}
! 73: \UTFviii@loop
! 74: \count@"F0
! 75: \@tempcnta"F4
! 76: \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@four@octets\string~}}
! 77: \UTFviii@loop
! 78: \endgroup
! 79: \@inpenc@test
! 80: \ifx\@begindocumenthook\@undefined
! 81: \makeatother
! 82: \endinput \fi
! 83: \begingroup
! 84: \catcode`\"=12
! 85: \catcode`\<=12
! 86: \catcode`\.=12
! 87: \catcode`\,=12
! 88: \catcode`\;=12
! 89: \catcode`\!=12
! 90: \catcode`\~=13
! 91: \gdef\DeclareUnicodeCharacter#1#2{%
! 92: \count@"#1\relax
! 93: \wlog{ \space\space defining Unicode char U+#1 (decimal \the\count@)}%
! 94: \begingroup
! 95: \parse@XML@charref
! 96: \def\UTFviii@two@octets##1##2{\csname u8:##1\string##2\endcsname}%
! 97: \def\UTFviii@three@octets##1##2##3{\csname u8:##1%
! 98: \string##2\string##3\endcsname}%
! 99: \def\UTFviii@four@octets##1##2##3##4{\csname u8:##1%
! 100: \string##2\string##3\string##4\endcsname}%
! 101: \expandafter\expandafter\expandafter
! 102: \expandafter\expandafter\expandafter
! 103: \expandafter
! 104: \gdef\UTFviii@tmp{\IeC{#2}}%
! 105: \endgroup
! 106: }
! 107: \gdef\parse@XML@charref{%
! 108: \ifnum\count@<"A0\relax
! 109: \PackageError{inputenc}{Cannot define Unicode char value < 00A0}\@eha
! 110: \else\ifnum\count@<"800\relax
! 111: \parse@UTFviii@a,%
! 112: \parse@UTFviii@b C\UTFviii@two@octets.,%
! 113: \else\ifnum\count@<"10000\relax
! 114: \parse@UTFviii@a;%
! 115: \parse@UTFviii@a,%
! 116: \parse@UTFviii@b E\UTFviii@three@octets.{,;}%
! 117: \else
! 118: \parse@UTFviii@a;%
! 119: \parse@UTFviii@a,%
! 120: \parse@UTFviii@a!%
! 121: \parse@UTFviii@b F\UTFviii@four@octets.{!,;}%
! 122: \fi
! 123: \fi
! 124: \fi
! 125: }
! 126: \gdef\parse@UTFviii@a#1{%
! 127: \@tempcnta\count@
! 128: \divide\count@ 64
! 129: \@tempcntb\count@
! 130: \multiply\count@ 64
! 131: \advance\@tempcnta-\count@
! 132: \advance\@tempcnta 128
! 133: \uccode`#1\@tempcnta
! 134: \count@\@tempcntb}
! 135: \gdef\parse@UTFviii@b#1#2#3#4{%
! 136: \advance\count@ "#10\relax
! 137: \uccode`#3\count@
! 138: \uppercase{\gdef\UTFviii@tmp{#2#3#4}}}
! 139: \endgroup
! 140: \@onlypreamble\DeclareUnicodeCharacter
! 141: \@onlypreamble\parse@XML@charref
! 142: \@onlypreamble\parse@UTFviii@a
! 143: \@onlypreamble\parse@UTFviii@b
! 144: \begingroup
! 145: \def\cdp@elt#1#2#3#4{%
! 146: \wlog{Now handling font encoding #1 ...}%
! 147: \lowercase{%
! 148: \InputIfFileExists{#1enc.dfu}}
! 149: {\wlog{... processing UTF-8 mapping file for font encoding #1}}%
! 150: {\wlog{... no UTF-8 mapping file for font encoding #1}}%
! 151: }
! 152: \cdp@list
! 153: \endgroup
! 154: \def\DeclareFontEncoding@#1#2#3{%
! 155: \expandafter
! 156: \ifx\csname T@#1\endcsname\relax
! 157: \def\cdp@elt{\noexpand\cdp@elt}%
! 158: \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
! 159: {\default@family}{\default@series}%
! 160: {\default@shape}}%
! 161: \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
! 162: \begingroup
! 163: \wlog{Now handling font encoding #1 ...}%
! 164: \lowercase{%
! 165: \InputIfFileExists{#1enc.dfu}}%
! 166: {\wlog{... processing UTF-8 mapping file for font encoding #1}}%
! 167: {\wlog{... no UTF-8 mapping file for font encoding #1}}%
! 168: \endgroup
! 169: \else
! 170: \@font@info{Redeclaring font encoding #1}%
! 171: \fi
! 172: \global\@namedef{T@#1}{#2}%
! 173: \global\@namedef{M@#1}{\default@M#3}%
! 174: \xdef\LastDeclaredEncoding{#1}%
! 175: }
! 176: \DeclareUnicodeCharacter{00A9}{\textcopyright}
! 177: \DeclareUnicodeCharacter{00AA}{\textordfeminine}
! 178: \DeclareUnicodeCharacter{00AE}{\textregistered}
! 179: \DeclareUnicodeCharacter{00BA}{\textordmasculine}
! 180: \DeclareUnicodeCharacter{02C6}{\textasciicircum}
! 181: \DeclareUnicodeCharacter{02CA}{\textasciitilde}
! 182: \DeclareUnicodeCharacter{200C}{\textcompwordmark}
! 183: \DeclareUnicodeCharacter{2026}{\textellipsis}
! 184: \DeclareUnicodeCharacter{2122}{\texttrademark}
! 185: \DeclareUnicodeCharacter{2423}{\textvisiblespace}
! 186:
! 187: \endinput
! 188: %%
! 189: %% End of file `utf8.def'.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>