• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1% xu-t1.tex
2% make T1 letters \active and map them to Unicode character codes
3% (for use when loading hyphenation patterns that use ^^xx notation
4%  to represent characters in T1 font encoding, or literal 8-bit
5%  bytes if read using \XeTeXinputencoding "bytes")
6% Jonathan Kew, 2006-08-15
7% Public domain
8%
9\catcode`\"=12 % ensure " isn't active or otherwise "weird"
10\catcode`\^=7 % ensure ^ is the proper catcode for hex notation
11%
12\catcode"B0=\active \def^^b0{^^^^0159} % rcaron
13\catcode"B1=\active \def^^b1{^^^^015b} % sacute
14\catcode"B2=\active \def^^b2{^^^^0161} % scaron
15\catcode"B3=\active \def^^b3{^^^^015f} % scedilla
16\catcode"B4=\active \def^^b4{^^^^0165} % tcaron
17\catcode"B5=\active \def^^b5{^^^^0163} % tcedilla
18\catcode"B6=\active \def^^b6{^^^^0171} % uhungarianumlaut
19\catcode"B7=\active \def^^b7{^^^^016f} % uring
20\catcode"B8=\active \def^^b8{^^^^00ff} % ydieresis
21\catcode"B9=\active \def^^b9{^^^^017a} % zacute
22\catcode"BA=\active \def^^ba{^^^^017e} % zcaron
23\catcode"BB=\active \def^^bb{^^^^017e} % zdot
24\catcode"BC=\active \def^^bc{^^^^0133} % ij
25\catcode"BD=\active \def^^bd{^^^^00a1} % exclamdown % MUST COME BEFORE ^^A1 REDEFINITION
26\catcode"BE=\active \def^^be{^^^^00bf} % questiondown % (etc)
27\catcode"BF=\active \def^^bf{^^^^00a3} % sterling
28%
29\catcode"80=\active \def^^80{^^^^0102} % Abreve
30\catcode"81=\active \def^^81{^^^^0104} % Aogonek
31\catcode"82=\active \def^^82{^^^^0106} % Cacute
32\catcode"83=\active \def^^83{^^^^010c} % Ccaron
33\catcode"84=\active \def^^84{^^^^010e} % Dcaron
34\catcode"85=\active \def^^85{^^^^011a} % Ecaron
35\catcode"86=\active \def^^86{^^^^0118} % Eogonek
36\catcode"87=\active \def^^87{^^^^011e} % Gbreve
37\catcode"88=\active \def^^88{^^^^0139} % Lacute
38\catcode"89=\active \def^^89{^^^^013d} % Lcaron (Lapostrophe)
39\catcode"8A=\active \def^^8a{^^^^0141} % Lslash
40\catcode"8B=\active \def^^8b{^^^^0143} % Nacute
41\catcode"8C=\active \def^^8c{^^^^0147} % Ncaron
42\catcode"8D=\active \def^^8d{^^^^014a} % Eng
43\catcode"8E=\active \def^^8e{^^^^0150} % Ohungarianumlaut
44\catcode"8F=\active \def^^8f{^^^^0154} % Racute
45%
46\catcode"90=\active \def^^90{^^^^0158} % Rcaron
47\catcode"91=\active \def^^91{^^^^015a} % Sacute
48\catcode"92=\active \def^^92{^^^^0160} % Scaron
49\catcode"93=\active \def^^93{^^^^015e} % Scedilla
50\catcode"94=\active \def^^94{^^^^0164} % Tcaron
51\catcode"95=\active \def^^95{^^^^0162} % Tcedilla
52\catcode"96=\active \def^^96{^^^^0170} % Uhungarianumlaut
53\catcode"97=\active \def^^97{^^^^016e} % Uring
54\catcode"98=\active \def^^98{^^^^0178} % Ydieresis
55\catcode"99=\active \def^^99{^^^^0179} % Zacute
56\catcode"9A=\active \def^^9a{^^^^017d} % Zcaron
57\catcode"9B=\active \def^^9b{^^^^017b} % Zdot
58\catcode"9C=\active \def^^9c{^^^^0132} % IJ
59\catcode"9D=\active \def^^9d{^^^^0130} % Idot
60\catcode"9E=\active \def^^9e{^^^^0111} % dbar
61\catcode"9F=\active \def^^9f{^^^^00a7} % section
62%
63\catcode"A0=\active \def^^a0{^^^^0103} % abreve
64\catcode"A1=\active \def^^a1{^^^^0105} % aogonek
65\catcode"A2=\active \def^^a2{^^^^0107} % cacute
66\catcode"A3=\active \def^^a3{^^^^010d} % ccaron
67\catcode"A4=\active \def^^a4{^^^^010f} % dcaron
68\catcode"A5=\active \def^^a5{^^^^011b} % ecaron
69\catcode"A6=\active \def^^a6{^^^^0119} % eogonek
70\catcode"A7=\active \def^^a7{^^^^011f} % gbreve
71\catcode"A8=\active \def^^a8{^^^^013a} % lacute
72\catcode"A9=\active \def^^a9{^^^^013e} % lcaron (lapostrophe)
73\catcode"AA=\active \def^^aa{^^^^0142} % lslash
74\catcode"AB=\active \def^^ab{^^^^0144} % nacute
75\catcode"AC=\active \def^^ac{^^^^0148} % ncaron
76\catcode"AD=\active \def^^ad{^^^^014b} % eng
77\catcode"AE=\active \def^^ae{^^^^0151} % ohungarianumlaut
78\catcode"AF=\active \def^^af{^^^^0155} % racute
79%
80% "C0.."FF match ISO Latin-1 and Unicode, except for:
81\catcode"FF=\active \def^^ff{^^^^00df} % germandbls
82\catcode"DF=\active \def^^df{SS} % SS
83\catcode"F7=\active \def^^f7{^^^^0153} % oe
84\catcode"D7=\active \def^^d7{^^^^0152} % OE
85%
86% we don't handle the non-letter codes in the control range
87% but we'd better handle dotless-i (for Turkish)
88\catcode"19=\active \def^^19{^^^^0131} % dotlessi
89%
90\endinput
91