line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package LaTeX::ToUnicode::Tables; |
2
|
|
|
|
|
|
|
BEGIN { |
3
|
1
|
|
|
1
|
|
27
|
$LaTeX::ToUnicode::Tables::VERSION = '0.11'; |
4
|
|
|
|
|
|
|
} |
5
|
1
|
|
|
1
|
|
5
|
use strict; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
20
|
|
6
|
1
|
|
|
1
|
|
4
|
use warnings; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
22
|
|
7
|
|
|
|
|
|
|
#ABSTRACT: Character tables for LaTeX::ToUnicode |
8
|
|
|
|
|
|
|
|
9
|
1
|
|
|
1
|
|
6
|
use utf8; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
7
|
|
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
# Technically not all of these are ligatures, but close enough. |
13
|
|
|
|
|
|
|
# Order is important, so has to be a list, not a hash. |
14
|
|
|
|
|
|
|
our @LIGATURES = ( |
15
|
|
|
|
|
|
|
"---" => "\x{2014}", # em dash |
16
|
|
|
|
|
|
|
"--" => "\x{2013}", # en dash |
17
|
|
|
|
|
|
|
"!`" => "\x{00A1}", # inverted exclam |
18
|
|
|
|
|
|
|
"?`" => "\x{00A1}", # inverted question |
19
|
|
|
|
|
|
|
"``" => "\x{201c}", # left double |
20
|
|
|
|
|
|
|
"''" => "\x{201d}", # right double |
21
|
|
|
|
|
|
|
"`" => "\x{2018}", # left single |
22
|
|
|
|
|
|
|
"'" => "\x{2019}", # right single |
23
|
|
|
|
|
|
|
); |
24
|
|
|
|
|
|
|
# test text: em---dash, en---dash, exc!`am, quest?`ion, ``ld, rd'', `ls, rs'. |
25
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
# additions supported in T1 encoding, but we won't (from tex-text.map): |
27
|
|
|
|
|
|
|
# U+002C U+002C <> U+201E ; ,, -> DOUBLE LOW-9 QUOTATION MARK |
28
|
|
|
|
|
|
|
# U+003C U+003C <> U+00AB ; << -> LEFT POINTING GUILLEMET |
29
|
|
|
|
|
|
|
# U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
our @SPECIALS = ( qw( $ % & _ { } ), '#' ); |
33
|
|
|
|
|
|
|
|
34
|
|
|
|
|
|
|
our %COMMANDS = ( |
35
|
|
|
|
|
|
|
'LaTeX' => 'LaTeX', |
36
|
|
|
|
|
|
|
'TeX' => 'TeX', |
37
|
|
|
|
|
|
|
' ' => ' ', # control space |
38
|
|
|
|
|
|
|
'-' => '', # hyphenation |
39
|
|
|
|
|
|
|
'/' => '', # italic correction |
40
|
|
|
|
|
|
|
'dag' => "\x{2020}", |
41
|
|
|
|
|
|
|
'ddag' => "\x{2021}", |
42
|
|
|
|
|
|
|
'bullet' => "\x{2022}", |
43
|
|
|
|
|
|
|
'dots' => "\x{2026}", |
44
|
|
|
|
|
|
|
'ldots' => "\x{2026}", |
45
|
|
|
|
|
|
|
'epsilon' => "\x{03F5}", |
46
|
|
|
|
|
|
|
'varepsilon' => "\x{03B5}", |
47
|
|
|
|
|
|
|
'Omega' => "\x{03A9}", |
48
|
|
|
|
|
|
|
'omega' => "\x{03C9}", |
49
|
|
|
|
|
|
|
'hookrightarrow' => "\x{2194}", |
50
|
|
|
|
|
|
|
'log' => 'log', |
51
|
|
|
|
|
|
|
); |
52
|
|
|
|
|
|
|
|
53
|
|
|
|
|
|
|
|
54
|
|
|
|
|
|
|
our %SYMBOLS = ( # Table 3.2 in Lamport, plus more |
55
|
|
|
|
|
|
|
'AA' => "\x{00C5}", # A with ring |
56
|
|
|
|
|
|
|
'aa' => "\x{00E5}", |
57
|
|
|
|
|
|
|
'AE' => "\x{00C6}", # AE |
58
|
|
|
|
|
|
|
'ae' => "\x{00E6}", |
59
|
|
|
|
|
|
|
'DH' => "\x{00D0}", # ETH |
60
|
|
|
|
|
|
|
'dh' => "\x{00F0}", |
61
|
|
|
|
|
|
|
'DJ' => "\x{0110}", # D with stroke |
62
|
|
|
|
|
|
|
'dj' => "\x{0111}", |
63
|
|
|
|
|
|
|
'i' => "\x{0131}", # small dotless i |
64
|
|
|
|
|
|
|
'L' => "\x{0141}", # L with stroke |
65
|
|
|
|
|
|
|
'l' => "\x{0142}", |
66
|
|
|
|
|
|
|
'NG' => "\x{014A}", # ENG |
67
|
|
|
|
|
|
|
'ng' => "\x{014B}", |
68
|
|
|
|
|
|
|
'OE' => "\x{0152}", # OE |
69
|
|
|
|
|
|
|
'oe' => "\x{0153}", |
70
|
|
|
|
|
|
|
'O' => "\x{00D8}", # O with stroke |
71
|
|
|
|
|
|
|
'o' => "\x{00F8}", |
72
|
|
|
|
|
|
|
'SS' => 'SS', # lately also U+1E9E, but SS seems good enough |
73
|
|
|
|
|
|
|
'ss' => "\x{00DF}", |
74
|
|
|
|
|
|
|
'TH' => "\x{00DE}", # THORN |
75
|
|
|
|
|
|
|
'th' => "\x{00FE}", |
76
|
|
|
|
|
|
|
'TM' => "\x{2122}", # trade mark sign |
77
|
|
|
|
|
|
|
); |
78
|
|
|
|
|
|
|
|
79
|
|
|
|
|
|
|
|
80
|
|
|
|
|
|
|
our %ACCENTS = ( |
81
|
|
|
|
|
|
|
"\"" => { # with diaresis |
82
|
|
|
|
|
|
|
A => "\x{00C4}", |
83
|
|
|
|
|
|
|
E => "\x{00CB}", |
84
|
|
|
|
|
|
|
H => "\x{1E26}", |
85
|
|
|
|
|
|
|
I => "\x{00CF}", |
86
|
|
|
|
|
|
|
O => "\x{00D6}", |
87
|
|
|
|
|
|
|
U => "\x{00DC}", |
88
|
|
|
|
|
|
|
W => "\x{1E84}", |
89
|
|
|
|
|
|
|
X => "\x{1E8c}", |
90
|
|
|
|
|
|
|
Y => "\x{0178}", |
91
|
|
|
|
|
|
|
"\\I" => "\x{00CF}", |
92
|
|
|
|
|
|
|
"\\i" => "\x{00EF}", |
93
|
|
|
|
|
|
|
a => "\x{00E4}", |
94
|
|
|
|
|
|
|
e => "\x{00EB}", |
95
|
|
|
|
|
|
|
h => "\x{1E27}", |
96
|
|
|
|
|
|
|
i => "\x{00EF}", |
97
|
|
|
|
|
|
|
o => "\x{00F6}", |
98
|
|
|
|
|
|
|
t => "\x{1E97}", |
99
|
|
|
|
|
|
|
u => "\x{00FC}", |
100
|
|
|
|
|
|
|
w => "\x{1E85}", |
101
|
|
|
|
|
|
|
x => "\x{1E8d}", |
102
|
|
|
|
|
|
|
y => "\x{00FF}", |
103
|
|
|
|
|
|
|
}, |
104
|
|
|
|
|
|
|
"'" => { # with acute |
105
|
|
|
|
|
|
|
A => "\x{00C1}", |
106
|
|
|
|
|
|
|
AE => "\x{01FC}", |
107
|
|
|
|
|
|
|
C => "\x{0106}", |
108
|
|
|
|
|
|
|
E => "\x{00C9}", |
109
|
|
|
|
|
|
|
G => "\x{01F4}", |
110
|
|
|
|
|
|
|
I => "\x{00CD}", |
111
|
|
|
|
|
|
|
K => "\x{1E30}", |
112
|
|
|
|
|
|
|
L => "\x{0139}", |
113
|
|
|
|
|
|
|
M => "\x{1E3E}", |
114
|
|
|
|
|
|
|
N => "\x{0143}", |
115
|
|
|
|
|
|
|
O => "\x{00D3}", |
116
|
|
|
|
|
|
|
P => "\x{1E54}", |
117
|
|
|
|
|
|
|
R => "\x{0154}", |
118
|
|
|
|
|
|
|
S => "\x{015A}", |
119
|
|
|
|
|
|
|
U => "\x{00DA}", |
120
|
|
|
|
|
|
|
W => "\x{1E82}", |
121
|
|
|
|
|
|
|
Y => "\x{00DD}", |
122
|
|
|
|
|
|
|
Z => "\x{0179}", |
123
|
|
|
|
|
|
|
"\\I" => "\x{00CD}", |
124
|
|
|
|
|
|
|
"\\i" => "\x{00ED}", |
125
|
|
|
|
|
|
|
a => "\x{00E1}", |
126
|
|
|
|
|
|
|
ae => "\x{01FD}", |
127
|
|
|
|
|
|
|
c => "\x{0107}", |
128
|
|
|
|
|
|
|
e => "\x{00E9}", |
129
|
|
|
|
|
|
|
g => "\x{01F5}", |
130
|
|
|
|
|
|
|
i => "\x{00ED}", |
131
|
|
|
|
|
|
|
k => "\x{1E31}", |
132
|
|
|
|
|
|
|
l => "\x{013A}", |
133
|
|
|
|
|
|
|
m => "\x{1E3f}", |
134
|
|
|
|
|
|
|
n => "\x{0144}", |
135
|
|
|
|
|
|
|
o => "\x{00F3}", |
136
|
|
|
|
|
|
|
p => "\x{1E55}", |
137
|
|
|
|
|
|
|
r => "\x{0155}", |
138
|
|
|
|
|
|
|
s => "\x{015B}", |
139
|
|
|
|
|
|
|
u => "\x{00FA}", |
140
|
|
|
|
|
|
|
w => "\x{1E83}", |
141
|
|
|
|
|
|
|
y => "\x{00FD}", |
142
|
|
|
|
|
|
|
z => "\x{017A}", |
143
|
|
|
|
|
|
|
}, |
144
|
|
|
|
|
|
|
"." => { # with dot above |
145
|
|
|
|
|
|
|
A => "\x{0226}", |
146
|
|
|
|
|
|
|
B => "\x{1E02}", |
147
|
|
|
|
|
|
|
C => "\x{010A}", |
148
|
|
|
|
|
|
|
D => "\x{1E0A}", |
149
|
|
|
|
|
|
|
E => "\x{0116}", |
150
|
|
|
|
|
|
|
F => "\x{1E1E}", |
151
|
|
|
|
|
|
|
G => "\x{0120}", |
152
|
|
|
|
|
|
|
H => "\x{1E22}", |
153
|
|
|
|
|
|
|
I => "\x{0130}", |
154
|
|
|
|
|
|
|
M => "\x{1E40}", |
155
|
|
|
|
|
|
|
N => "\x{1E44}", |
156
|
|
|
|
|
|
|
O => "\x{022E}", |
157
|
|
|
|
|
|
|
P => "\x{1E56}", |
158
|
|
|
|
|
|
|
R => "\x{1E58}", |
159
|
|
|
|
|
|
|
S => "\x{1E60}", |
160
|
|
|
|
|
|
|
T => "\x{1E6a}", |
161
|
|
|
|
|
|
|
W => "\x{1E86}", |
162
|
|
|
|
|
|
|
X => "\x{1E8A}", |
163
|
|
|
|
|
|
|
Y => "\x{1E8E}", |
164
|
|
|
|
|
|
|
Z => "\x{017B}", |
165
|
|
|
|
|
|
|
"\\I" => "\x{0130}", |
166
|
|
|
|
|
|
|
a => "\x{0227}", |
167
|
|
|
|
|
|
|
b => "\x{1E03}", |
168
|
|
|
|
|
|
|
c => "\x{010B}", |
169
|
|
|
|
|
|
|
d => "\x{1E0B}", |
170
|
|
|
|
|
|
|
e => "\x{0117}", |
171
|
|
|
|
|
|
|
f => "\x{1e1f}", |
172
|
|
|
|
|
|
|
g => "\x{0121}", |
173
|
|
|
|
|
|
|
h => "\x{1E23}", |
174
|
|
|
|
|
|
|
m => "\x{1E41}", |
175
|
|
|
|
|
|
|
n => "\x{1E45}", |
176
|
|
|
|
|
|
|
o => "\x{022F}", |
177
|
|
|
|
|
|
|
p => "\x{1E57}", |
178
|
|
|
|
|
|
|
r => "\x{1E59}", |
179
|
|
|
|
|
|
|
s => "\x{1E61}", |
180
|
|
|
|
|
|
|
t => "\x{1E6b}", |
181
|
|
|
|
|
|
|
w => "\x{1E87}", |
182
|
|
|
|
|
|
|
x => "\x{1E8b}", |
183
|
|
|
|
|
|
|
y => "\x{1E8f}", |
184
|
|
|
|
|
|
|
z => "\x{017C}", |
185
|
|
|
|
|
|
|
}, |
186
|
|
|
|
|
|
|
'=' => { # with macron |
187
|
|
|
|
|
|
|
A => "\x{0100}", |
188
|
|
|
|
|
|
|
AE => "\x{01E2}", |
189
|
|
|
|
|
|
|
E => "\x{0112}", |
190
|
|
|
|
|
|
|
G => "\x{1E20}", |
191
|
|
|
|
|
|
|
I => "\x{012A}", |
192
|
|
|
|
|
|
|
O => "\x{014C}", |
193
|
|
|
|
|
|
|
U => "\x{016A}", |
194
|
|
|
|
|
|
|
Y => "\x{0232}", |
195
|
|
|
|
|
|
|
"\\I" => "\x{012A}", |
196
|
|
|
|
|
|
|
"\\i" => "\x{012B}", |
197
|
|
|
|
|
|
|
a => "\x{0101}", |
198
|
|
|
|
|
|
|
ae => "\x{01E3}", |
199
|
|
|
|
|
|
|
e => "\x{0113}", |
200
|
|
|
|
|
|
|
g => "\x{1E21}", |
201
|
|
|
|
|
|
|
i => "\x{012B}", |
202
|
|
|
|
|
|
|
o => "\x{014D}", |
203
|
|
|
|
|
|
|
u => "\x{016B}", |
204
|
|
|
|
|
|
|
y => "\x{0233}", |
205
|
|
|
|
|
|
|
}, |
206
|
|
|
|
|
|
|
"H" => { # with double acute |
207
|
|
|
|
|
|
|
O => "\x{0150}", |
208
|
|
|
|
|
|
|
U => "\x{0170}", |
209
|
|
|
|
|
|
|
o => "\x{0151}", |
210
|
|
|
|
|
|
|
u => "\x{0171}", |
211
|
|
|
|
|
|
|
}, |
212
|
|
|
|
|
|
|
"^" => { # with circumflex |
213
|
|
|
|
|
|
|
A => "\x{00C2}", |
214
|
|
|
|
|
|
|
C => "\x{0108}", |
215
|
|
|
|
|
|
|
E => "\x{00CA}", |
216
|
|
|
|
|
|
|
G => "\x{011C}", |
217
|
|
|
|
|
|
|
H => "\x{0124}", |
218
|
|
|
|
|
|
|
I => "\x{00CE}", |
219
|
|
|
|
|
|
|
J => "\x{0134}", |
220
|
|
|
|
|
|
|
O => "\x{00D4}", |
221
|
|
|
|
|
|
|
S => "\x{015C}", |
222
|
|
|
|
|
|
|
U => "\x{00DB}", |
223
|
|
|
|
|
|
|
W => "\x{0174}", |
224
|
|
|
|
|
|
|
Y => "\x{0176}", |
225
|
|
|
|
|
|
|
Z => "\x{1E90}", |
226
|
|
|
|
|
|
|
"\\I" => "\x{00CE}", |
227
|
|
|
|
|
|
|
"\\J" => "\x{0134}", |
228
|
|
|
|
|
|
|
"\\i" => "\x{00EE}", |
229
|
|
|
|
|
|
|
"\\j" => "\x{0135}", |
230
|
|
|
|
|
|
|
a => "\x{00E2}", |
231
|
|
|
|
|
|
|
c => "\x{0109}", |
232
|
|
|
|
|
|
|
e => "\x{00EA}", |
233
|
|
|
|
|
|
|
g => "\x{011D}", |
234
|
|
|
|
|
|
|
h => "\x{0125}", |
235
|
|
|
|
|
|
|
i => "\x{00EE}", |
236
|
|
|
|
|
|
|
j => "\x{0135}", |
237
|
|
|
|
|
|
|
o => "\x{00F4}", |
238
|
|
|
|
|
|
|
s => "\x{015D}", |
239
|
|
|
|
|
|
|
u => "\x{00FB}", |
240
|
|
|
|
|
|
|
w => "\x{0175}", |
241
|
|
|
|
|
|
|
y => "\x{0177}", |
242
|
|
|
|
|
|
|
z => "\x{1E91}", |
243
|
|
|
|
|
|
|
}, |
244
|
|
|
|
|
|
|
"`" => { # with grave |
245
|
|
|
|
|
|
|
A => "\x{00C0}", |
246
|
|
|
|
|
|
|
E => "\x{00C8}", |
247
|
|
|
|
|
|
|
I => "\x{00CC}", |
248
|
|
|
|
|
|
|
N => "\x{01F8}", |
249
|
|
|
|
|
|
|
O => "\x{00D2}", |
250
|
|
|
|
|
|
|
U => "\x{00D9}", |
251
|
|
|
|
|
|
|
W => "\x{1E80}", |
252
|
|
|
|
|
|
|
Y => "\x{1Ef2}", |
253
|
|
|
|
|
|
|
"\\I" => "\x{00CC}", |
254
|
|
|
|
|
|
|
"\\i" => "\x{00EC}", |
255
|
|
|
|
|
|
|
a => "\x{00E0}", |
256
|
|
|
|
|
|
|
e => "\x{00E8}", |
257
|
|
|
|
|
|
|
i => "\x{00EC}", |
258
|
|
|
|
|
|
|
n => "\x{01F9}", |
259
|
|
|
|
|
|
|
o => "\x{00F2}", |
260
|
|
|
|
|
|
|
u => "\x{00F9}", |
261
|
|
|
|
|
|
|
w => "\x{1E81}", |
262
|
|
|
|
|
|
|
y => "\x{1EF3}", |
263
|
|
|
|
|
|
|
}, |
264
|
|
|
|
|
|
|
"c" => { # with cedilla |
265
|
|
|
|
|
|
|
C => "\x{00C7}", |
266
|
|
|
|
|
|
|
D => "\x{1E10}", |
267
|
|
|
|
|
|
|
E => "\x{0228}", |
268
|
|
|
|
|
|
|
G => "\x{0122}", |
269
|
|
|
|
|
|
|
H => "\x{1E28}", |
270
|
|
|
|
|
|
|
K => "\x{0136}", |
271
|
|
|
|
|
|
|
L => "\x{013B}", |
272
|
|
|
|
|
|
|
N => "\x{0145}", |
273
|
|
|
|
|
|
|
R => "\x{0156}", |
274
|
|
|
|
|
|
|
S => "\x{015E}", |
275
|
|
|
|
|
|
|
T => "\x{0162}", |
276
|
|
|
|
|
|
|
c => "\x{00E7}", |
277
|
|
|
|
|
|
|
d => "\x{1E11}", |
278
|
|
|
|
|
|
|
e => "\x{0229}", |
279
|
|
|
|
|
|
|
g => "\x{0123}", |
280
|
|
|
|
|
|
|
h => "\x{1E29}", |
281
|
|
|
|
|
|
|
k => "\x{0137}", |
282
|
|
|
|
|
|
|
l => "\x{013C}", |
283
|
|
|
|
|
|
|
n => "\x{0146}", |
284
|
|
|
|
|
|
|
r => "\x{0157}", |
285
|
|
|
|
|
|
|
s => "\x{015F}", |
286
|
|
|
|
|
|
|
t => "\x{0163}", |
287
|
|
|
|
|
|
|
}, |
288
|
|
|
|
|
|
|
"d" => { # with dot below |
289
|
|
|
|
|
|
|
A => "\x{1EA0}", |
290
|
|
|
|
|
|
|
B => "\x{1E04}", |
291
|
|
|
|
|
|
|
D => "\x{1E0C}", |
292
|
|
|
|
|
|
|
E => "\x{1EB8}", |
293
|
|
|
|
|
|
|
H => "\x{1E24}", |
294
|
|
|
|
|
|
|
I => "\x{1ECA}", |
295
|
|
|
|
|
|
|
K => "\x{1E32}", |
296
|
|
|
|
|
|
|
L => "\x{1E36}", |
297
|
|
|
|
|
|
|
M => "\x{1E42}", |
298
|
|
|
|
|
|
|
N => "\x{1E46}", |
299
|
|
|
|
|
|
|
O => "\x{1ECC}", |
300
|
|
|
|
|
|
|
R => "\x{1E5A}", |
301
|
|
|
|
|
|
|
S => "\x{1E62}", |
302
|
|
|
|
|
|
|
T => "\x{1E6C}", |
303
|
|
|
|
|
|
|
U => "\x{1EE4}", |
304
|
|
|
|
|
|
|
V => "\x{1E7E}", |
305
|
|
|
|
|
|
|
W => "\x{1E88}", |
306
|
|
|
|
|
|
|
Y => "\x{1Ef4}", |
307
|
|
|
|
|
|
|
Z => "\x{1E92}", |
308
|
|
|
|
|
|
|
"\\I" => "\x{1ECA}", |
309
|
|
|
|
|
|
|
"\\i" => "\x{1ECB}", |
310
|
|
|
|
|
|
|
a => "\x{1EA1}", |
311
|
|
|
|
|
|
|
b => "\x{1E05}", |
312
|
|
|
|
|
|
|
d => "\x{1E0D}", |
313
|
|
|
|
|
|
|
e => "\x{1EB9}", |
314
|
|
|
|
|
|
|
h => "\x{1E25}", |
315
|
|
|
|
|
|
|
i => "\x{1ECB}", |
316
|
|
|
|
|
|
|
k => "\x{1E33}", |
317
|
|
|
|
|
|
|
l => "\x{1E37}", |
318
|
|
|
|
|
|
|
m => "\x{1E43}", |
319
|
|
|
|
|
|
|
n => "\x{1E47}", |
320
|
|
|
|
|
|
|
o => "\x{1ECD}", |
321
|
|
|
|
|
|
|
r => "\x{1E5b}", |
322
|
|
|
|
|
|
|
s => "\x{1E63}", |
323
|
|
|
|
|
|
|
t => "\x{1E6D}", |
324
|
|
|
|
|
|
|
u => "\x{1EE5}", |
325
|
|
|
|
|
|
|
v => "\x{1E7F}", |
326
|
|
|
|
|
|
|
w => "\x{1E89}", |
327
|
|
|
|
|
|
|
y => "\x{1EF5}", |
328
|
|
|
|
|
|
|
z => "\x{1E93}", |
329
|
|
|
|
|
|
|
}, |
330
|
|
|
|
|
|
|
"h" => { # with hook above |
331
|
|
|
|
|
|
|
A => "\x{1EA2}", |
332
|
|
|
|
|
|
|
E => "\x{1EBA}", |
333
|
|
|
|
|
|
|
I => "\x{1EC8}", |
334
|
|
|
|
|
|
|
O => "\x{1ECe}", |
335
|
|
|
|
|
|
|
U => "\x{1EE6}", |
336
|
|
|
|
|
|
|
Y => "\x{1EF6}", |
337
|
|
|
|
|
|
|
"\\I" => "\x{1EC8}", |
338
|
|
|
|
|
|
|
"\\i" => "\x{1EC9}", |
339
|
|
|
|
|
|
|
a => "\x{1EA3}", |
340
|
|
|
|
|
|
|
e => "\x{1EBB}", |
341
|
|
|
|
|
|
|
i => "\x{1EC9}", |
342
|
|
|
|
|
|
|
o => "\x{1ECF}", |
343
|
|
|
|
|
|
|
u => "\x{1EE7}", |
344
|
|
|
|
|
|
|
y => "\x{1EF7}", |
345
|
|
|
|
|
|
|
}, |
346
|
|
|
|
|
|
|
"k" => { # with ogonek |
347
|
|
|
|
|
|
|
A => "\x{0104}", |
348
|
|
|
|
|
|
|
E => "\x{0118}", |
349
|
|
|
|
|
|
|
I => "\x{012E}", |
350
|
|
|
|
|
|
|
O => "\x{01EA}", |
351
|
|
|
|
|
|
|
U => "\x{0172}", |
352
|
|
|
|
|
|
|
"\\I" => "\x{012E}", |
353
|
|
|
|
|
|
|
"\\i" => "\x{012F}", |
354
|
|
|
|
|
|
|
a => "\x{0105}", |
355
|
|
|
|
|
|
|
e => "\x{0119}", |
356
|
|
|
|
|
|
|
i => "\x{012F}", |
357
|
|
|
|
|
|
|
o => "\x{01EB}", |
358
|
|
|
|
|
|
|
u => "\x{0173}", |
359
|
|
|
|
|
|
|
}, |
360
|
|
|
|
|
|
|
"r" => { # with ring above |
361
|
|
|
|
|
|
|
A => "\x{00C5}", |
362
|
|
|
|
|
|
|
U => "\x{016E}", |
363
|
|
|
|
|
|
|
a => "\x{00E5}", |
364
|
|
|
|
|
|
|
u => "\x{016F}", |
365
|
|
|
|
|
|
|
w => "\x{1E98}", |
366
|
|
|
|
|
|
|
y => "\x{1E99}", |
367
|
|
|
|
|
|
|
}, |
368
|
|
|
|
|
|
|
"u" => { # with breve |
369
|
|
|
|
|
|
|
A => "\x{0102}", |
370
|
|
|
|
|
|
|
E => "\x{0114}", |
371
|
|
|
|
|
|
|
G => "\x{011E}", |
372
|
|
|
|
|
|
|
I => "\x{012C}", |
373
|
|
|
|
|
|
|
O => "\x{014E}", |
374
|
|
|
|
|
|
|
U => "\x{016C}", |
375
|
|
|
|
|
|
|
"\\I" => "\x{012C}", |
376
|
|
|
|
|
|
|
"\\i" => "\x{012D}", |
377
|
|
|
|
|
|
|
a => "\x{0103}", |
378
|
|
|
|
|
|
|
e => "\x{0115}", |
379
|
|
|
|
|
|
|
g => "\x{011F}", |
380
|
|
|
|
|
|
|
i => "\x{012D}", |
381
|
|
|
|
|
|
|
o => "\x{014F}", |
382
|
|
|
|
|
|
|
u => "\x{016D}", |
383
|
|
|
|
|
|
|
}, |
384
|
|
|
|
|
|
|
"v" => { # with caron |
385
|
|
|
|
|
|
|
A => "\x{01CD}", |
386
|
|
|
|
|
|
|
C => "\x{010C}", |
387
|
|
|
|
|
|
|
D => "\x{010E}", |
388
|
|
|
|
|
|
|
DZ => "\x{01C4}", |
389
|
|
|
|
|
|
|
E => "\x{011A}", |
390
|
|
|
|
|
|
|
G => "\x{01E6}", |
391
|
|
|
|
|
|
|
H => "\x{021E}", |
392
|
|
|
|
|
|
|
I => "\x{01CF}", |
393
|
|
|
|
|
|
|
K => "\x{01E8}", |
394
|
|
|
|
|
|
|
L => "\x{013D}", |
395
|
|
|
|
|
|
|
N => "\x{0147}", |
396
|
|
|
|
|
|
|
O => "\x{01D1}", |
397
|
|
|
|
|
|
|
R => "\x{0158}", |
398
|
|
|
|
|
|
|
S => "\x{0160}", |
399
|
|
|
|
|
|
|
T => "\x{0164}", |
400
|
|
|
|
|
|
|
U => "\x{01D3}", |
401
|
|
|
|
|
|
|
Z => "\x{017D}", |
402
|
|
|
|
|
|
|
"\\I" => "\x{01CF}", |
403
|
|
|
|
|
|
|
"\\i" => "\x{01D0}", |
404
|
|
|
|
|
|
|
"\\j" => "\x{01F0}", |
405
|
|
|
|
|
|
|
a => "\x{01CE}", |
406
|
|
|
|
|
|
|
c => "\x{010D}", |
407
|
|
|
|
|
|
|
d => "\x{010F}", |
408
|
|
|
|
|
|
|
dz => "\x{01C6}", |
409
|
|
|
|
|
|
|
e => "\x{011B}", |
410
|
|
|
|
|
|
|
g => "\x{01E7}", |
411
|
|
|
|
|
|
|
h => "\x{021F}", |
412
|
|
|
|
|
|
|
i => "\x{01D0}", |
413
|
|
|
|
|
|
|
j => "\x{01F0}", |
414
|
|
|
|
|
|
|
k => "\x{01E9}", |
415
|
|
|
|
|
|
|
l => "\x{013E}", |
416
|
|
|
|
|
|
|
n => "\x{0148}", |
417
|
|
|
|
|
|
|
o => "\x{01D2}", |
418
|
|
|
|
|
|
|
r => "\x{0159}", |
419
|
|
|
|
|
|
|
s => "\x{0161}", |
420
|
|
|
|
|
|
|
t => "\x{0165}", |
421
|
|
|
|
|
|
|
u => "\x{01D4}", |
422
|
|
|
|
|
|
|
z => "\x{017E}", |
423
|
|
|
|
|
|
|
}, |
424
|
|
|
|
|
|
|
"~" => { # with tilde |
425
|
|
|
|
|
|
|
A => "\x{00C3}", |
426
|
|
|
|
|
|
|
E => "\x{1EBC}", |
427
|
|
|
|
|
|
|
I => "\x{0128}", |
428
|
|
|
|
|
|
|
N => "\x{00D1}", |
429
|
|
|
|
|
|
|
O => "\x{00D5}", |
430
|
|
|
|
|
|
|
U => "\x{0168}", |
431
|
|
|
|
|
|
|
V => "\x{1E7C}", |
432
|
|
|
|
|
|
|
Y => "\x{1EF8}", |
433
|
|
|
|
|
|
|
"\\I" => "\x{0128}", |
434
|
|
|
|
|
|
|
"\\i" => "\x{0129}", |
435
|
|
|
|
|
|
|
a => "\x{00E3}", |
436
|
|
|
|
|
|
|
e => "\x{1EBD}", |
437
|
|
|
|
|
|
|
i => "\x{0129}", |
438
|
|
|
|
|
|
|
n => "\x{00F1}", |
439
|
|
|
|
|
|
|
o => "\x{00F5}", |
440
|
|
|
|
|
|
|
u => "\x{0169}", |
441
|
|
|
|
|
|
|
v => "\x{1E7D}", |
442
|
|
|
|
|
|
|
y => "\x{1EF9}", |
443
|
|
|
|
|
|
|
}, |
444
|
|
|
|
|
|
|
); |
445
|
|
|
|
|
|
|
|
446
|
|
|
|
|
|
|
|
447
|
|
|
|
|
|
|
our %GERMAN = ( # for package `german'/`ngerman' |
448
|
|
|
|
|
|
|
'"a' => 'ä', |
449
|
|
|
|
|
|
|
'"A' => 'Ä', |
450
|
|
|
|
|
|
|
'"e' => 'ë', |
451
|
|
|
|
|
|
|
'"E' => 'Ë', |
452
|
|
|
|
|
|
|
'"i' => 'ï', |
453
|
|
|
|
|
|
|
'"I' => 'Ï', |
454
|
|
|
|
|
|
|
'"o' => 'ö', |
455
|
|
|
|
|
|
|
'"O' => 'Ö', |
456
|
|
|
|
|
|
|
'"u' => 'ü', |
457
|
|
|
|
|
|
|
'"U' => 'Ü', |
458
|
|
|
|
|
|
|
'"s' => 'ß', |
459
|
|
|
|
|
|
|
'"S' => 'SS', |
460
|
|
|
|
|
|
|
'"z' => 'ß', |
461
|
|
|
|
|
|
|
'"Z' => 'SZ', |
462
|
|
|
|
|
|
|
'"ck' => 'ck', # old spelling: ck -> k-k |
463
|
|
|
|
|
|
|
'"ff' => 'ff', # old spelling: ff -> ff-f |
464
|
|
|
|
|
|
|
'"`' => '„', |
465
|
|
|
|
|
|
|
"\"'" => '“', |
466
|
|
|
|
|
|
|
'"<' => '«', |
467
|
|
|
|
|
|
|
'">' => '»', |
468
|
|
|
|
|
|
|
'"-' => "\x{AD}", # soft hyphen |
469
|
|
|
|
|
|
|
'""' => "\x{200B}", # zero width space |
470
|
|
|
|
|
|
|
'"~' => "\x{2011}", # non-breaking hyphen |
471
|
|
|
|
|
|
|
'"=' => '-', |
472
|
|
|
|
|
|
|
'\glq' => '‚', # left german single quote |
473
|
|
|
|
|
|
|
'\grq' => '‘', # right german single quote |
474
|
|
|
|
|
|
|
'\flqq' => '«', |
475
|
|
|
|
|
|
|
'\frqq' => '»', |
476
|
|
|
|
|
|
|
'\dq' => '"', |
477
|
|
|
|
|
|
|
); |
478
|
|
|
|
|
|
|
|
479
|
|
|
|
|
|
|
|
480
|
|
|
|
|
|
|
# for {\MARKUP ...} and \textMARKUP{...} |
481
|
|
|
|
|
|
|
our @MARKUPS = ( qw( bf cal em it rm sc sl small tt ) ); |
482
|
|
|
|
|
|
|
|
483
|
|
|
|
|
|
|
|
484
|
|
|
|
|
|
|
1; |
485
|
|
|
|
|
|
|
|
486
|
|
|
|
|
|
|
__END__ |