Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
14 | pmbaty | 1 | /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\ |
2 | |* *| |
||
3 | |* HTML named character reference to UTF-8 translation *| |
||
4 | |* *| |
||
5 | |* Automatically generated file, do not edit! *| |
||
6 | |* *| |
||
7 | \*===----------------------------------------------------------------------===*/ |
||
8 | |||
9 | StringRef translateHTMLNamedCharacterReferenceToUTF8( |
||
10 | StringRef Name) { |
||
11 | switch (Name.size()) { |
||
12 | default: break; |
||
13 | case 2: // 15 strings to match. |
||
14 | switch (Name[0]) { |
||
15 | default: break; |
||
16 | case 'G': // 2 strings to match. |
||
17 | switch (Name[1]) { |
||
18 | default: break; |
||
19 | case 'T': // 1 string to match. |
||
20 | return "\x3e"; // "GT" |
||
21 | case 't': // 1 string to match. |
||
22 | return "\x3e"; // "Gt" |
||
23 | } |
||
24 | break; |
||
25 | case 'L': // 2 strings to match. |
||
26 | switch (Name[1]) { |
||
27 | default: break; |
||
28 | case 'T': // 1 string to match. |
||
29 | return "\x3c"; // "LT" |
||
30 | case 't': // 1 string to match. |
||
31 | return "\x3c"; // "Lt" |
||
32 | } |
||
33 | break; |
||
34 | case 'P': // 1 string to match. |
||
35 | if (Name[1] != 'i') |
||
36 | break; |
||
37 | return "\xce\xa0"; // "Pi" |
||
38 | case 'X': // 1 string to match. |
||
39 | if (Name[1] != 'i') |
||
40 | break; |
||
41 | return "\xce\x9e"; // "Xi" |
||
42 | case 'g': // 2 strings to match. |
||
43 | switch (Name[1]) { |
||
44 | default: break; |
||
45 | case 'e': // 1 string to match. |
||
46 | return "\xe2\x89\xa5"; // "ge" |
||
47 | case 't': // 1 string to match. |
||
48 | return "\x3e"; // "gt" |
||
49 | } |
||
50 | break; |
||
51 | case 'l': // 2 strings to match. |
||
52 | switch (Name[1]) { |
||
53 | default: break; |
||
54 | case 'e': // 1 string to match. |
||
55 | return "\xe2\x89\xa4"; // "le" |
||
56 | case 't': // 1 string to match. |
||
57 | return "\x3c"; // "lt" |
||
58 | } |
||
59 | break; |
||
60 | case 'm': // 1 string to match. |
||
61 | if (Name[1] != 'u') |
||
62 | break; |
||
63 | return "\xce\xbc"; // "mu" |
||
64 | case 'n': // 2 strings to match. |
||
65 | switch (Name[1]) { |
||
66 | default: break; |
||
67 | case 'e': // 1 string to match. |
||
68 | return "\xe2\x89\xa0"; // "ne" |
||
69 | case 'u': // 1 string to match. |
||
70 | return "\xce\xbd"; // "nu" |
||
71 | } |
||
72 | break; |
||
73 | case 'p': // 1 string to match. |
||
74 | if (Name[1] != 'i') |
||
75 | break; |
||
76 | return "\xcf\x80"; // "pi" |
||
77 | case 'x': // 1 string to match. |
||
78 | if (Name[1] != 'i') |
||
79 | break; |
||
80 | return "\xce\xbe"; // "xi" |
||
81 | } |
||
82 | break; |
||
83 | case 3: // 16 strings to match. |
||
84 | switch (Name[0]) { |
||
85 | default: break; |
||
86 | case 'A': // 1 string to match. |
||
87 | if (memcmp(Name.data()+1, "MP", 2) != 0) |
||
88 | break; |
||
89 | return "\x26"; // "AMP" |
||
90 | case 'P': // 2 strings to match. |
||
91 | switch (Name[1]) { |
||
92 | default: break; |
||
93 | case 'h': // 1 string to match. |
||
94 | if (Name[2] != 'i') |
||
95 | break; |
||
96 | return "\xce\xa6"; // "Phi" |
||
97 | case 's': // 1 string to match. |
||
98 | if (Name[2] != 'i') |
||
99 | break; |
||
100 | return "\xce\xa8"; // "Psi" |
||
101 | } |
||
102 | break; |
||
103 | case 'R': // 1 string to match. |
||
104 | if (memcmp(Name.data()+1, "EG", 2) != 0) |
||
105 | break; |
||
106 | return "\xc2\xae"; // "REG" |
||
107 | case 'a': // 1 string to match. |
||
108 | if (memcmp(Name.data()+1, "mp", 2) != 0) |
||
109 | break; |
||
110 | return "\x26"; // "amp" |
||
111 | case 'c': // 1 string to match. |
||
112 | if (memcmp(Name.data()+1, "hi", 2) != 0) |
||
113 | break; |
||
114 | return "\xcf\x87"; // "chi" |
||
115 | case 'd': // 1 string to match. |
||
116 | if (memcmp(Name.data()+1, "eg", 2) != 0) |
||
117 | break; |
||
118 | return "\xc2\xb0"; // "deg" |
||
119 | case 'e': // 1 string to match. |
||
120 | if (memcmp(Name.data()+1, "ta", 2) != 0) |
||
121 | break; |
||
122 | return "\xce\xb7"; // "eta" |
||
123 | case 'i': // 1 string to match. |
||
124 | if (memcmp(Name.data()+1, "nt", 2) != 0) |
||
125 | break; |
||
126 | return "\xe2\x88\xab"; // "int" |
||
127 | case 'p': // 2 strings to match. |
||
128 | switch (Name[1]) { |
||
129 | default: break; |
||
130 | case 'h': // 1 string to match. |
||
131 | if (Name[2] != 'i') |
||
132 | break; |
||
133 | return "\xcf\x86"; // "phi" |
||
134 | case 's': // 1 string to match. |
||
135 | if (Name[2] != 'i') |
||
136 | break; |
||
137 | return "\xcf\x88"; // "psi" |
||
138 | } |
||
139 | break; |
||
140 | case 'r': // 2 strings to match. |
||
141 | switch (Name[1]) { |
||
142 | default: break; |
||
143 | case 'e': // 1 string to match. |
||
144 | if (Name[2] != 'g') |
||
145 | break; |
||
146 | return "\xc2\xae"; // "reg" |
||
147 | case 'h': // 1 string to match. |
||
148 | if (Name[2] != 'o') |
||
149 | break; |
||
150 | return "\xcf\x81"; // "rho" |
||
151 | } |
||
152 | break; |
||
153 | case 's': // 2 strings to match. |
||
154 | switch (Name[1]) { |
||
155 | default: break; |
||
156 | case 'i': // 1 string to match. |
||
157 | if (Name[2] != 'm') |
||
158 | break; |
||
159 | return "\xe2\x88\xbc"; // "sim" |
||
160 | case 'u': // 1 string to match. |
||
161 | if (Name[2] != 'm') |
||
162 | break; |
||
163 | return "\xe2\x88\x91"; // "sum" |
||
164 | } |
||
165 | break; |
||
166 | case 't': // 1 string to match. |
||
167 | if (memcmp(Name.data()+1, "au", 2) != 0) |
||
168 | break; |
||
169 | return "\xcf\x84"; // "tau" |
||
170 | } |
||
171 | break; |
||
172 | case 4: // 30 strings to match. |
||
173 | switch (Name[0]) { |
||
174 | default: break; |
||
175 | case 'A': // 1 string to match. |
||
176 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
177 | break; |
||
178 | return "\xc3\x84"; // "Auml" |
||
179 | case 'C': // 1 string to match. |
||
180 | if (memcmp(Name.data()+1, "OPY", 3) != 0) |
||
181 | break; |
||
182 | return "\xc2\xa9"; // "COPY" |
||
183 | case 'E': // 1 string to match. |
||
184 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
185 | break; |
||
186 | return "\xc3\x8b"; // "Euml" |
||
187 | case 'I': // 1 string to match. |
||
188 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
189 | break; |
||
190 | return "\xc3\x8f"; // "Iuml" |
||
191 | case 'O': // 1 string to match. |
||
192 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
193 | break; |
||
194 | return "\xc3\x96"; // "Ouml" |
||
195 | case 'Q': // 1 string to match. |
||
196 | if (memcmp(Name.data()+1, "UOT", 3) != 0) |
||
197 | break; |
||
198 | return "\x22"; // "QUOT" |
||
199 | case 'U': // 1 string to match. |
||
200 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
201 | break; |
||
202 | return "\xc3\x9c"; // "Uuml" |
||
203 | case 'Y': // 1 string to match. |
||
204 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
205 | break; |
||
206 | return "\xc5\xb8"; // "Yuml" |
||
207 | case 'a': // 2 strings to match. |
||
208 | switch (Name[1]) { |
||
209 | default: break; |
||
210 | case 'p': // 1 string to match. |
||
211 | if (memcmp(Name.data()+2, "os", 2) != 0) |
||
212 | break; |
||
213 | return "\x27"; // "apos" |
||
214 | case 'u': // 1 string to match. |
||
215 | if (memcmp(Name.data()+2, "ml", 2) != 0) |
||
216 | break; |
||
217 | return "\xc3\xa4"; // "auml" |
||
218 | } |
||
219 | break; |
||
220 | case 'b': // 1 string to match. |
||
221 | if (memcmp(Name.data()+1, "eta", 3) != 0) |
||
222 | break; |
||
223 | return "\xce\xb2"; // "beta" |
||
224 | case 'c': // 1 string to match. |
||
225 | if (memcmp(Name.data()+1, "opy", 3) != 0) |
||
226 | break; |
||
227 | return "\xc2\xa9"; // "copy" |
||
228 | case 'e': // 1 string to match. |
||
229 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
230 | break; |
||
231 | return "\xc3\xab"; // "euml" |
||
232 | case 'i': // 3 strings to match. |
||
233 | switch (Name[1]) { |
||
234 | default: break; |
||
235 | case 'o': // 1 string to match. |
||
236 | if (memcmp(Name.data()+2, "ta", 2) != 0) |
||
237 | break; |
||
238 | return "\xce\xb9"; // "iota" |
||
239 | case 's': // 1 string to match. |
||
240 | if (memcmp(Name.data()+2, "in", 2) != 0) |
||
241 | break; |
||
242 | return "\xe2\x88\x88"; // "isin" |
||
243 | case 'u': // 1 string to match. |
||
244 | if (memcmp(Name.data()+2, "ml", 2) != 0) |
||
245 | break; |
||
246 | return "\xc3\xaf"; // "iuml" |
||
247 | } |
||
248 | break; |
||
249 | case 'l': // 1 string to match. |
||
250 | if (memcmp(Name.data()+1, "arr", 3) != 0) |
||
251 | break; |
||
252 | return "\xe2\x86\x90"; // "larr" |
||
253 | case 'n': // 1 string to match. |
||
254 | if (memcmp(Name.data()+1, "bsp", 3) != 0) |
||
255 | break; |
||
256 | return "\xc2\xa0"; // "nbsp" |
||
257 | case 'o': // 1 string to match. |
||
258 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
259 | break; |
||
260 | return "\xc3\xb6"; // "ouml" |
||
261 | case 'p': // 4 strings to match. |
||
262 | switch (Name[1]) { |
||
263 | default: break; |
||
264 | case 'a': // 1 string to match. |
||
265 | if (memcmp(Name.data()+2, "rt", 2) != 0) |
||
266 | break; |
||
267 | return "\xe2\x88\x82"; // "part" |
||
268 | case 'e': // 1 string to match. |
||
269 | if (memcmp(Name.data()+2, "rp", 2) != 0) |
||
270 | break; |
||
271 | return "\xe2\x8a\xa5"; // "perp" |
||
272 | case 'r': // 2 strings to match. |
||
273 | if (Name[2] != 'o') |
||
274 | break; |
||
275 | switch (Name[3]) { |
||
276 | default: break; |
||
277 | case 'd': // 1 string to match. |
||
278 | return "\xe2\x88\x8f"; // "prod" |
||
279 | case 'p': // 1 string to match. |
||
280 | return "\xe2\x88\x9d"; // "prop" |
||
281 | } |
||
282 | break; |
||
283 | } |
||
284 | break; |
||
285 | case 'q': // 1 string to match. |
||
286 | if (memcmp(Name.data()+1, "uot", 3) != 0) |
||
287 | break; |
||
288 | return "\x22"; // "quot" |
||
289 | case 'r': // 1 string to match. |
||
290 | if (memcmp(Name.data()+1, "arr", 3) != 0) |
||
291 | break; |
||
292 | return "\xe2\x86\x92"; // "rarr" |
||
293 | case 's': // 2 strings to match. |
||
294 | switch (Name[1]) { |
||
295 | default: break; |
||
296 | case 'd': // 1 string to match. |
||
297 | if (memcmp(Name.data()+2, "ot", 2) != 0) |
||
298 | break; |
||
299 | return "\xe2\x8b\x85"; // "sdot" |
||
300 | case 'e': // 1 string to match. |
||
301 | if (memcmp(Name.data()+2, "ct", 2) != 0) |
||
302 | break; |
||
303 | return "\xc2\xa7"; // "sect" |
||
304 | } |
||
305 | break; |
||
306 | case 'u': // 1 string to match. |
||
307 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
308 | break; |
||
309 | return "\xc3\xbc"; // "uuml" |
||
310 | case 'y': // 1 string to match. |
||
311 | if (memcmp(Name.data()+1, "uml", 3) != 0) |
||
312 | break; |
||
313 | return "\xc3\xbf"; // "yuml" |
||
314 | case 'z': // 1 string to match. |
||
315 | if (memcmp(Name.data()+1, "eta", 3) != 0) |
||
316 | break; |
||
317 | return "\xce\xb6"; // "zeta" |
||
318 | } |
||
319 | break; |
||
320 | case 5: // 48 strings to match. |
||
321 | switch (Name[0]) { |
||
322 | default: break; |
||
323 | case 'A': // 2 strings to match. |
||
324 | switch (Name[1]) { |
||
325 | default: break; |
||
326 | case 'c': // 1 string to match. |
||
327 | if (memcmp(Name.data()+2, "irc", 3) != 0) |
||
328 | break; |
||
329 | return "\xc3\x82"; // "Acirc" |
||
330 | case 'r': // 1 string to match. |
||
331 | if (memcmp(Name.data()+2, "ing", 3) != 0) |
||
332 | break; |
||
333 | return "\xc3\x85"; // "Aring" |
||
334 | } |
||
335 | break; |
||
336 | case 'D': // 1 string to match. |
||
337 | if (memcmp(Name.data()+1, "elta", 4) != 0) |
||
338 | break; |
||
339 | return "\xce\x94"; // "Delta" |
||
340 | case 'E': // 1 string to match. |
||
341 | if (memcmp(Name.data()+1, "circ", 4) != 0) |
||
342 | break; |
||
343 | return "\xc3\x8a"; // "Ecirc" |
||
344 | case 'G': // 1 string to match. |
||
345 | if (memcmp(Name.data()+1, "amma", 4) != 0) |
||
346 | break; |
||
347 | return "\xce\x93"; // "Gamma" |
||
348 | case 'I': // 1 string to match. |
||
349 | if (memcmp(Name.data()+1, "circ", 4) != 0) |
||
350 | break; |
||
351 | return "\xc3\x8e"; // "Icirc" |
||
352 | case 'O': // 2 strings to match. |
||
353 | switch (Name[1]) { |
||
354 | default: break; |
||
355 | case 'c': // 1 string to match. |
||
356 | if (memcmp(Name.data()+2, "irc", 3) != 0) |
||
357 | break; |
||
358 | return "\xc3\x94"; // "Ocirc" |
||
359 | case 'm': // 1 string to match. |
||
360 | if (memcmp(Name.data()+2, "ega", 3) != 0) |
||
361 | break; |
||
362 | return "\xce\xa9"; // "Omega" |
||
363 | } |
||
364 | break; |
||
365 | case 'P': // 1 string to match. |
||
366 | if (memcmp(Name.data()+1, "rime", 4) != 0) |
||
367 | break; |
||
368 | return "\xe2\x80\xb3"; // "Prime" |
||
369 | case 'S': // 1 string to match. |
||
370 | if (memcmp(Name.data()+1, "igma", 4) != 0) |
||
371 | break; |
||
372 | return "\xce\xa3"; // "Sigma" |
||
373 | case 'T': // 2 strings to match. |
||
374 | switch (Name[1]) { |
||
375 | default: break; |
||
376 | case 'R': // 1 string to match. |
||
377 | if (memcmp(Name.data()+2, "ADE", 3) != 0) |
||
378 | break; |
||
379 | return "\xe2\x84\xa2"; // "TRADE" |
||
380 | case 'h': // 1 string to match. |
||
381 | if (memcmp(Name.data()+2, "eta", 3) != 0) |
||
382 | break; |
||
383 | return "\xce\x98"; // "Theta" |
||
384 | } |
||
385 | break; |
||
386 | case 'U': // 1 string to match. |
||
387 | if (memcmp(Name.data()+1, "circ", 4) != 0) |
||
388 | break; |
||
389 | return "\xc3\x9b"; // "Ucirc" |
||
390 | case 'Y': // 1 string to match. |
||
391 | if (memcmp(Name.data()+1, "circ", 4) != 0) |
||
392 | break; |
||
393 | return "\xc5\xb6"; // "Ycirc" |
||
394 | case 'a': // 4 strings to match. |
||
395 | switch (Name[1]) { |
||
396 | default: break; |
||
397 | case 'c': // 1 string to match. |
||
398 | if (memcmp(Name.data()+2, "irc", 3) != 0) |
||
399 | break; |
||
400 | return "\xc3\xa2"; // "acirc" |
||
401 | case 'l': // 1 string to match. |
||
402 | if (memcmp(Name.data()+2, "pha", 3) != 0) |
||
403 | break; |
||
404 | return "\xce\xb1"; // "alpha" |
||
405 | case 'r': // 1 string to match. |
||
406 | if (memcmp(Name.data()+2, "ing", 3) != 0) |
||
407 | break; |
||
408 | return "\xc3\xa5"; // "aring" |
||
409 | case 's': // 1 string to match. |
||
410 | if (memcmp(Name.data()+2, "ymp", 3) != 0) |
||
411 | break; |
||
412 | return "\xe2\x89\x88"; // "asymp" |
||
413 | } |
||
414 | break; |
||
415 | case 'd': // 1 string to match. |
||
416 | if (memcmp(Name.data()+1, "elta", 4) != 0) |
||
417 | break; |
||
418 | return "\xce\xb4"; // "delta" |
||
419 | case 'e': // 3 strings to match. |
||
420 | switch (Name[1]) { |
||
421 | default: break; |
||
422 | case 'c': // 1 string to match. |
||
423 | if (memcmp(Name.data()+2, "irc", 3) != 0) |
||
424 | break; |
||
425 | return "\xc3\xaa"; // "ecirc" |
||
426 | case 'm': // 1 string to match. |
||
427 | if (memcmp(Name.data()+2, "pty", 3) != 0) |
||
428 | break; |
||
429 | return "\xe2\x88\x85"; // "empty" |
||
430 | case 'q': // 1 string to match. |
||
431 | if (memcmp(Name.data()+2, "uiv", 3) != 0) |
||
432 | break; |
||
433 | return "\xe2\x89\xa1"; // "equiv" |
||
434 | } |
||
435 | break; |
||
436 | case 'g': // 1 string to match. |
||
437 | if (memcmp(Name.data()+1, "amma", 4) != 0) |
||
438 | break; |
||
439 | return "\xce\xb3"; // "gamma" |
||
440 | case 'i': // 2 strings to match. |
||
441 | switch (Name[1]) { |
||
442 | default: break; |
||
443 | case 'c': // 1 string to match. |
||
444 | if (memcmp(Name.data()+2, "irc", 3) != 0) |
||
445 | break; |
||
446 | return "\xc3\xae"; // "icirc" |
||
447 | case 'n': // 1 string to match. |
||
448 | if (memcmp(Name.data()+2, "fin", 3) != 0) |
||
449 | break; |
||
450 | return "\xe2\x88\x9e"; // "infin" |
||
451 | } |
||
452 | break; |
||
453 | case 'k': // 1 string to match. |
||
454 | if (memcmp(Name.data()+1, "appa", 4) != 0) |
||
455 | break; |
||
456 | return "\xce\xba"; // "kappa" |
||
457 | case 'l': // 3 strings to match. |
||
458 | switch (Name[1]) { |
||
459 | default: break; |
||
460 | case 'c': // 1 string to match. |
||
461 | if (memcmp(Name.data()+2, "eil", 3) != 0) |
||
462 | break; |
||
463 | return "\xe2\x8c\x88"; // "lceil" |
||
464 | case 'd': // 1 string to match. |
||
465 | if (memcmp(Name.data()+2, "quo", 3) != 0) |
||
466 | break; |
||
467 | return "\xe2\x80\x9c"; // "ldquo" |
||
468 | case 's': // 1 string to match. |
||
469 | if (memcmp(Name.data()+2, "quo", 3) != 0) |
||
470 | break; |
||
471 | return "\xe2\x80\x98"; // "lsquo" |
||
472 | } |
||
473 | break; |
||
474 | case 'm': // 2 strings to match. |
||
475 | switch (Name[1]) { |
||
476 | default: break; |
||
477 | case 'd': // 1 string to match. |
||
478 | if (memcmp(Name.data()+2, "ash", 3) != 0) |
||
479 | break; |
||
480 | return "\xe2\x80\x94"; // "mdash" |
||
481 | case 'i': // 1 string to match. |
||
482 | if (memcmp(Name.data()+2, "nus", 3) != 0) |
||
483 | break; |
||
484 | return "\xe2\x88\x92"; // "minus" |
||
485 | } |
||
486 | break; |
||
487 | case 'n': // 3 strings to match. |
||
488 | switch (Name[1]) { |
||
489 | default: break; |
||
490 | case 'a': // 1 string to match. |
||
491 | if (memcmp(Name.data()+2, "bla", 3) != 0) |
||
492 | break; |
||
493 | return "\xe2\x88\x87"; // "nabla" |
||
494 | case 'd': // 1 string to match. |
||
495 | if (memcmp(Name.data()+2, "ash", 3) != 0) |
||
496 | break; |
||
497 | return "\xe2\x80\x93"; // "ndash" |
||
498 | case 'o': // 1 string to match. |
||
499 | if (memcmp(Name.data()+2, "tin", 3) != 0) |
||
500 | break; |
||
501 | return "\xe2\x88\x89"; // "notin" |
||
502 | } |
||
503 | break; |
||
504 | case 'o': // 2 strings to match. |
||
505 | switch (Name[1]) { |
||
506 | default: break; |
||
507 | case 'c': // 1 string to match. |
||
508 | if (memcmp(Name.data()+2, "irc", 3) != 0) |
||
509 | break; |
||
510 | return "\xc3\xb4"; // "ocirc" |
||
511 | case 'm': // 1 string to match. |
||
512 | if (memcmp(Name.data()+2, "ega", 3) != 0) |
||
513 | break; |
||
514 | return "\xcf\x89"; // "omega" |
||
515 | } |
||
516 | break; |
||
517 | case 'p': // 1 string to match. |
||
518 | if (memcmp(Name.data()+1, "rime", 4) != 0) |
||
519 | break; |
||
520 | return "\xe2\x80\xb2"; // "prime" |
||
521 | case 'r': // 4 strings to match. |
||
522 | switch (Name[1]) { |
||
523 | default: break; |
||
524 | case 'a': // 1 string to match. |
||
525 | if (memcmp(Name.data()+2, "dic", 3) != 0) |
||
526 | break; |
||
527 | return "\xe2\x88\x9a"; // "radic" |
||
528 | case 'c': // 1 string to match. |
||
529 | if (memcmp(Name.data()+2, "eil", 3) != 0) |
||
530 | break; |
||
531 | return "\xe2\x8c\x89"; // "rceil" |
||
532 | case 'd': // 1 string to match. |
||
533 | if (memcmp(Name.data()+2, "quo", 3) != 0) |
||
534 | break; |
||
535 | return "\xe2\x80\x9d"; // "rdquo" |
||
536 | case 's': // 1 string to match. |
||
537 | if (memcmp(Name.data()+2, "quo", 3) != 0) |
||
538 | break; |
||
539 | return "\xe2\x80\x99"; // "rsquo" |
||
540 | } |
||
541 | break; |
||
542 | case 's': // 2 strings to match. |
||
543 | switch (Name[1]) { |
||
544 | default: break; |
||
545 | case 'i': // 1 string to match. |
||
546 | if (memcmp(Name.data()+2, "gma", 3) != 0) |
||
547 | break; |
||
548 | return "\xcf\x83"; // "sigma" |
||
549 | case 'z': // 1 string to match. |
||
550 | if (memcmp(Name.data()+2, "lig", 3) != 0) |
||
551 | break; |
||
552 | return "\xc3\x9f"; // "szlig" |
||
553 | } |
||
554 | break; |
||
555 | case 't': // 3 strings to match. |
||
556 | switch (Name[1]) { |
||
557 | default: break; |
||
558 | case 'h': // 1 string to match. |
||
559 | if (memcmp(Name.data()+2, "eta", 3) != 0) |
||
560 | break; |
||
561 | return "\xce\xb8"; // "theta" |
||
562 | case 'i': // 1 string to match. |
||
563 | if (memcmp(Name.data()+2, "mes", 3) != 0) |
||
564 | break; |
||
565 | return "\xc3\x97"; // "times" |
||
566 | case 'r': // 1 string to match. |
||
567 | if (memcmp(Name.data()+2, "ade", 3) != 0) |
||
568 | break; |
||
569 | return "\xe2\x84\xa2"; // "trade" |
||
570 | } |
||
571 | break; |
||
572 | case 'u': // 1 string to match. |
||
573 | if (memcmp(Name.data()+1, "circ", 4) != 0) |
||
574 | break; |
||
575 | return "\xc3\xbb"; // "ucirc" |
||
576 | case 'y': // 1 string to match. |
||
577 | if (memcmp(Name.data()+1, "circ", 4) != 0) |
||
578 | break; |
||
579 | return "\xc5\xb7"; // "ycirc" |
||
580 | } |
||
581 | break; |
||
582 | case 6: // 37 strings to match. |
||
583 | switch (Name[0]) { |
||
584 | default: break; |
||
585 | case 'A': // 3 strings to match. |
||
586 | switch (Name[1]) { |
||
587 | default: break; |
||
588 | case 'a': // 1 string to match. |
||
589 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
590 | break; |
||
591 | return "\xc3\x81"; // "Aacute" |
||
592 | case 'g': // 1 string to match. |
||
593 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
594 | break; |
||
595 | return "\xc3\x80"; // "Agrave" |
||
596 | case 't': // 1 string to match. |
||
597 | if (memcmp(Name.data()+2, "ilde", 4) != 0) |
||
598 | break; |
||
599 | return "\xc3\x83"; // "Atilde" |
||
600 | } |
||
601 | break; |
||
602 | case 'C': // 1 string to match. |
||
603 | if (memcmp(Name.data()+1, "cedil", 5) != 0) |
||
604 | break; |
||
605 | return "\xc3\x87"; // "Ccedil" |
||
606 | case 'E': // 2 strings to match. |
||
607 | switch (Name[1]) { |
||
608 | default: break; |
||
609 | case 'a': // 1 string to match. |
||
610 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
611 | break; |
||
612 | return "\xc3\x89"; // "Eacute" |
||
613 | case 'g': // 1 string to match. |
||
614 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
615 | break; |
||
616 | return "\xc3\x88"; // "Egrave" |
||
617 | } |
||
618 | break; |
||
619 | case 'I': // 2 strings to match. |
||
620 | switch (Name[1]) { |
||
621 | default: break; |
||
622 | case 'a': // 1 string to match. |
||
623 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
624 | break; |
||
625 | return "\xc3\x8d"; // "Iacute" |
||
626 | case 'g': // 1 string to match. |
||
627 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
628 | break; |
||
629 | return "\xc3\x8c"; // "Igrave" |
||
630 | } |
||
631 | break; |
||
632 | case 'L': // 1 string to match. |
||
633 | if (memcmp(Name.data()+1, "ambda", 5) != 0) |
||
634 | break; |
||
635 | return "\xce\x9b"; // "Lambda" |
||
636 | case 'N': // 1 string to match. |
||
637 | if (memcmp(Name.data()+1, "tilde", 5) != 0) |
||
638 | break; |
||
639 | return "\xc3\x91"; // "Ntilde" |
||
640 | case 'O': // 3 strings to match. |
||
641 | switch (Name[1]) { |
||
642 | default: break; |
||
643 | case 'a': // 1 string to match. |
||
644 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
645 | break; |
||
646 | return "\xc3\x93"; // "Oacute" |
||
647 | case 'g': // 1 string to match. |
||
648 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
649 | break; |
||
650 | return "\xc3\x92"; // "Ograve" |
||
651 | case 't': // 1 string to match. |
||
652 | if (memcmp(Name.data()+2, "ilde", 4) != 0) |
||
653 | break; |
||
654 | return "\xc3\x95"; // "Otilde" |
||
655 | } |
||
656 | break; |
||
657 | case 'U': // 2 strings to match. |
||
658 | switch (Name[1]) { |
||
659 | default: break; |
||
660 | case 'a': // 1 string to match. |
||
661 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
662 | break; |
||
663 | return "\xc3\x9a"; // "Uacute" |
||
664 | case 'g': // 1 string to match. |
||
665 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
666 | break; |
||
667 | return "\xc3\x99"; // "Ugrave" |
||
668 | } |
||
669 | break; |
||
670 | case 'Y': // 1 string to match. |
||
671 | if (memcmp(Name.data()+1, "acute", 5) != 0) |
||
672 | break; |
||
673 | return "\xc3\x9d"; // "Yacute" |
||
674 | case 'a': // 3 strings to match. |
||
675 | switch (Name[1]) { |
||
676 | default: break; |
||
677 | case 'a': // 1 string to match. |
||
678 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
679 | break; |
||
680 | return "\xc3\xa1"; // "aacute" |
||
681 | case 'g': // 1 string to match. |
||
682 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
683 | break; |
||
684 | return "\xc3\xa0"; // "agrave" |
||
685 | case 't': // 1 string to match. |
||
686 | if (memcmp(Name.data()+2, "ilde", 4) != 0) |
||
687 | break; |
||
688 | return "\xc3\xa3"; // "atilde" |
||
689 | } |
||
690 | break; |
||
691 | case 'c': // 1 string to match. |
||
692 | if (memcmp(Name.data()+1, "cedil", 5) != 0) |
||
693 | break; |
||
694 | return "\xc3\xa7"; // "ccedil" |
||
695 | case 'e': // 2 strings to match. |
||
696 | switch (Name[1]) { |
||
697 | default: break; |
||
698 | case 'a': // 1 string to match. |
||
699 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
700 | break; |
||
701 | return "\xc3\xa9"; // "eacute" |
||
702 | case 'g': // 1 string to match. |
||
703 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
704 | break; |
||
705 | return "\xc3\xa8"; // "egrave" |
||
706 | } |
||
707 | break; |
||
708 | case 'i': // 2 strings to match. |
||
709 | switch (Name[1]) { |
||
710 | default: break; |
||
711 | case 'a': // 1 string to match. |
||
712 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
713 | break; |
||
714 | return "\xc3\xad"; // "iacute" |
||
715 | case 'g': // 1 string to match. |
||
716 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
717 | break; |
||
718 | return "\xc3\xac"; // "igrave" |
||
719 | } |
||
720 | break; |
||
721 | case 'l': // 2 strings to match. |
||
722 | switch (Name[1]) { |
||
723 | default: break; |
||
724 | case 'a': // 1 string to match. |
||
725 | if (memcmp(Name.data()+2, "mbda", 4) != 0) |
||
726 | break; |
||
727 | return "\xce\xbb"; // "lambda" |
||
728 | case 'f': // 1 string to match. |
||
729 | if (memcmp(Name.data()+2, "loor", 4) != 0) |
||
730 | break; |
||
731 | return "\xe2\x8c\x8a"; // "lfloor" |
||
732 | } |
||
733 | break; |
||
734 | case 'n': // 1 string to match. |
||
735 | if (memcmp(Name.data()+1, "tilde", 5) != 0) |
||
736 | break; |
||
737 | return "\xc3\xb1"; // "ntilde" |
||
738 | case 'o': // 3 strings to match. |
||
739 | switch (Name[1]) { |
||
740 | default: break; |
||
741 | case 'a': // 1 string to match. |
||
742 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
743 | break; |
||
744 | return "\xc3\xb3"; // "oacute" |
||
745 | case 'g': // 1 string to match. |
||
746 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
747 | break; |
||
748 | return "\xc3\xb2"; // "ograve" |
||
749 | case 't': // 1 string to match. |
||
750 | if (memcmp(Name.data()+2, "ilde", 4) != 0) |
||
751 | break; |
||
752 | return "\xc3\xb5"; // "otilde" |
||
753 | } |
||
754 | break; |
||
755 | case 'p': // 1 string to match. |
||
756 | if (memcmp(Name.data()+1, "lusmn", 5) != 0) |
||
757 | break; |
||
758 | return "\xc2\xb1"; // "plusmn" |
||
759 | case 'r': // 1 string to match. |
||
760 | if (memcmp(Name.data()+1, "floor", 5) != 0) |
||
761 | break; |
||
762 | return "\xe2\x8c\x8b"; // "rfloor" |
||
763 | case 's': // 1 string to match. |
||
764 | if (memcmp(Name.data()+1, "igmaf", 5) != 0) |
||
765 | break; |
||
766 | return "\xcf\x82"; // "sigmaf" |
||
767 | case 'u': // 2 strings to match. |
||
768 | switch (Name[1]) { |
||
769 | default: break; |
||
770 | case 'a': // 1 string to match. |
||
771 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
772 | break; |
||
773 | return "\xc3\xba"; // "uacute" |
||
774 | case 'g': // 1 string to match. |
||
775 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
776 | break; |
||
777 | return "\xc3\xb9"; // "ugrave" |
||
778 | } |
||
779 | break; |
||
780 | case 'y': // 2 strings to match. |
||
781 | switch (Name[1]) { |
||
782 | default: break; |
||
783 | case 'a': // 1 string to match. |
||
784 | if (memcmp(Name.data()+2, "cute", 4) != 0) |
||
785 | break; |
||
786 | return "\xc3\xbd"; // "yacute" |
||
787 | case 'g': // 1 string to match. |
||
788 | if (memcmp(Name.data()+2, "rave", 4) != 0) |
||
789 | break; |
||
790 | return "\xe1\xbb\xb3"; // "ygrave" |
||
791 | } |
||
792 | break; |
||
793 | } |
||
794 | break; |
||
795 | case 7: // 3 strings to match. |
||
796 | switch (Name[0]) { |
||
797 | default: break; |
||
798 | case 'U': // 1 string to match. |
||
799 | if (memcmp(Name.data()+1, "psilon", 6) != 0) |
||
800 | break; |
||
801 | return "\xce\xa5"; // "Upsilon" |
||
802 | case 'e': // 1 string to match. |
||
803 | if (memcmp(Name.data()+1, "psilon", 6) != 0) |
||
804 | break; |
||
805 | return "\xce\xb5"; // "epsilon" |
||
806 | case 'u': // 1 string to match. |
||
807 | if (memcmp(Name.data()+1, "psilon", 6) != 0) |
||
808 | break; |
||
809 | return "\xcf\x85"; // "upsilon" |
||
810 | } |
||
811 | break; |
||
812 | } |
||
813 | return StringRef(); |
||
814 | } |
||
815 |