Re-work Subtitle class; remove STL text writer.
[libsub.git] / src / iso6937_tables.cc
1 /*
2     Copyright (C) 2014 Carl Hetherington <cth@carlh.net>
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 /* THIS FILE WAS AUTO-GENERATED BY iso6937.py */
21
22 #include <map>
23 #include "iso6937_tables.h"
24
25 using std::map;
26
27 map<char, wchar_t> sub::iso6937::grave;
28 map<char, wchar_t> sub::iso6937::acute;
29 map<char, wchar_t> sub::iso6937::circumflex;
30 map<char, wchar_t> sub::iso6937::tilde;
31 map<char, wchar_t> sub::iso6937::macron;
32 map<char, wchar_t> sub::iso6937::breve;
33 map<char, wchar_t> sub::iso6937::dot;
34 map<char, wchar_t> sub::iso6937::diaeresis;
35 map<char, wchar_t> sub::iso6937::ring;
36 map<char, wchar_t> sub::iso6937::cedilla;
37 map<char, wchar_t> sub::iso6937::double_acute;
38 map<char, wchar_t> sub::iso6937::ogonek;
39 map<char, wchar_t> sub::iso6937::caron;
40 map<char, wchar_t> sub::iso6937::main;
41
42 void
43 sub::make_iso6937_tables ()
44 {
45         using namespace sub::iso6937;
46
47         grave['A'] = 0x00C0;
48         grave['E'] = 0x00C8;
49         grave['I'] = 0x00CC;
50         grave['O'] = 0x00D2;
51         grave['U'] = 0x00D9;
52         grave['a'] = 0x00E0;
53         grave['e'] = 0x00E8;
54         grave['i'] = 0x00EC;
55         grave['o'] = 0x00F2;
56         grave['u'] = 0x00F9;
57
58         acute['A'] = 0x00C1;
59         acute['C'] = 0x0106;
60         acute['E'] = 0x00C9;
61         acute['I'] = 0x00CD;
62         acute['L'] = 0x0139;
63         acute['N'] = 0x0143;
64         acute['O'] = 0x00D3;
65         acute['R'] = 0x0154;
66         acute['S'] = 0x015A;
67         acute['U'] = 0x00DA;
68         acute['Y'] = 0x00DD;
69         acute['Z'] = 0x0179;
70         acute['a'] = 0x00E1;
71         acute['c'] = 0x0107;
72         acute['e'] = 0x00E9;
73         acute['g'] = 0x01F5;
74         acute['i'] = 0x00ED;
75         acute['l'] = 0x013A;
76         acute['n'] = 0x0144;
77         acute['o'] = 0x00F3;
78         acute['r'] = 0x0155;
79         acute['s'] = 0x015B;
80         acute['u'] = 0x00FA;
81         acute['y'] = 0x00FD;
82         acute['z'] = 0x017A;
83
84         circumflex['A'] = 0x00C2;
85         circumflex['C'] = 0x0108;
86         circumflex['E'] = 0x00CA;
87         circumflex['G'] = 0x011C;
88         circumflex['H'] = 0x0124;
89         circumflex['I'] = 0x00CE;
90         circumflex['J'] = 0x0134;
91         circumflex['O'] = 0x00D4;
92         circumflex['S'] = 0x015C;
93         circumflex['U'] = 0x00DB;
94         circumflex['W'] = 0x0174;
95         circumflex['Y'] = 0x0176;
96         circumflex['a'] = 0x00E2;
97         circumflex['c'] = 0x0109;
98         circumflex['e'] = 0x00EA;
99         circumflex['g'] = 0x011D;
100         circumflex['h'] = 0x0125;
101         circumflex['i'] = 0x00EE;
102         circumflex['j'] = 0x0135;
103         circumflex['o'] = 0x00F4;
104         circumflex['s'] = 0x015D;
105         circumflex['u'] = 0x00FB;
106         circumflex['w'] = 0x0175;
107         circumflex['y'] = 0x0177;
108
109         tilde['A'] = 0x00C3;
110         tilde['I'] = 0x0128;
111         tilde['N'] = 0x00D1;
112         tilde['O'] = 0x00D5;
113         tilde['U'] = 0x0168;
114         tilde['a'] = 0x00E3;
115         tilde['i'] = 0x0129;
116         tilde['n'] = 0x00F1;
117         tilde['o'] = 0x00F5;
118         tilde['u'] = 0x0169;
119
120         macron['A'] = 0x0100;
121         macron['E'] = 0x0112;
122         macron['I'] = 0x012A;
123         macron['O'] = 0x014C;
124         macron['U'] = 0x016A;
125         macron['a'] = 0x0101;
126         macron['e'] = 0x0113;
127         macron['i'] = 0x012B;
128         macron['o'] = 0x014D;
129         macron['u'] = 0x016B;
130
131         breve['A'] = 0x0102;
132         breve['G'] = 0x011E;
133         breve['U'] = 0x016C;
134         breve['a'] = 0x0103;
135         breve['g'] = 0x011F;
136         breve['u'] = 0x016D;
137
138         dot['C'] = 0x010A;
139         dot['E'] = 0x0116;
140         dot['G'] = 0x0120;
141         dot['I'] = 0x0130;
142         dot['Z'] = 0x017B;
143         dot['c'] = 0x010B;
144         dot['e'] = 0x0117;
145         dot['g'] = 0x0121;
146         dot['z'] = 0x017C;
147
148         diaeresis['A'] = 0x00C4;
149         diaeresis['E'] = 0x00CB;
150         diaeresis['I'] = 0x00CF;
151         diaeresis['O'] = 0x00D6;
152         diaeresis['U'] = 0x00DC;
153         diaeresis['Y'] = 0x0178;
154         diaeresis['a'] = 0x00E4;
155         diaeresis['e'] = 0x00EB;
156         diaeresis['i'] = 0x00EF;
157         diaeresis['o'] = 0x00F6;
158         diaeresis['u'] = 0x00FC;
159         diaeresis['y'] = 0x00FF;
160
161         ring['A'] = 0x00C5;
162         ring['U'] = 0x016E;
163         ring['a'] = 0x00E5;
164         ring['u'] = 0x016F;
165
166         cedilla['C'] = 0x00C7;
167         cedilla['G'] = 0x0122;
168         cedilla['K'] = 0x0136;
169         cedilla['L'] = 0x013B;
170         cedilla['N'] = 0x0145;
171         cedilla['R'] = 0x0156;
172         cedilla['S'] = 0x015E;
173         cedilla['T'] = 0x0162;
174         cedilla['c'] = 0x00E7;
175         cedilla['k'] = 0x0137;
176         cedilla['l'] = 0x013C;
177         cedilla['n'] = 0x0146;
178         cedilla['r'] = 0x0157;
179         cedilla['s'] = 0x015F;
180         cedilla['t'] = 0x0163;
181
182         double_acute['O'] = 0x0150;
183         double_acute['U'] = 0x0170;
184         double_acute['o'] = 0x0151;
185         double_acute['u'] = 0x0171;
186
187         ogonek['A'] = 0x0104;
188         ogonek['E'] = 0x0118;
189         ogonek['I'] = 0x012E;
190         ogonek['U'] = 0x0172;
191         ogonek['a'] = 0x0105;
192         ogonek['e'] = 0x0119;
193         ogonek['u'] = 0x0173;
194         ogonek['i'] = 0x012F;
195
196         caron['C'] = 0x010C;
197         caron['D'] = 0x010E;
198         caron['E'] = 0x011A;
199         caron['L'] = 0x013D;
200         caron['N'] = 0x0147;
201         caron['R'] = 0x0158;
202         caron['S'] = 0x0160;
203         caron['T'] = 0x0164;
204         caron['Z'] = 0x017D;
205         caron['c'] = 0x010D;
206         caron['d'] = 0x010F;
207         caron['e'] = 0x011B;
208         caron['l'] = 0x013E;
209         caron['n'] = 0x0148;
210         caron['r'] = 0x0159;
211         caron['s'] = 0x0161;
212         caron['t'] = 0x0165;
213         caron['z'] = 0x017E;
214
215         main[10] = 0x000A;
216         main[' '] = 0x0020;
217         main['!'] = 0x0021;
218         main['"'] = 0x0022;
219         main['#'] = 0x0023;
220         main['$'] = 0x0024;
221         main['%'] = 0x0025;
222         main['&'] = 0x0026;
223         main['\''] = 0x0027;
224         main['('] = 0x0028;
225         main[')'] = 0x0029;
226         main['*'] = 0x002a;
227         main['+'] = 0x002b;
228         main[','] = 0x002c;
229         main['-'] = 0x002d;
230         main['.'] = 0x002e;
231         main['/'] = 0x002f;
232         main['0'] = 0x0030;
233         main['1'] = 0x0031;
234         main['2'] = 0x0032;
235         main['3'] = 0x0033;
236         main['4'] = 0x0034;
237         main['5'] = 0x0035;
238         main['6'] = 0x0036;
239         main['7'] = 0x0037;
240         main['8'] = 0x0038;
241         main['9'] = 0x0039;
242         main[':'] = 0x003a;
243         main[';'] = 0x003b;
244         main['<'] = 0x003c;
245         main['='] = 0x003d;
246         main['>'] = 0x003e;
247         main['?'] = 0x003f;
248         main['@'] = 0x0040;
249         main['A'] = 0x0041;
250         main['B'] = 0x0042;
251         main['C'] = 0x0043;
252         main['D'] = 0x0044;
253         main['E'] = 0x0045;
254         main['F'] = 0x0046;
255         main['G'] = 0x0047;
256         main['H'] = 0x0048;
257         main['I'] = 0x0049;
258         main['J'] = 0x004a;
259         main['K'] = 0x004b;
260         main['L'] = 0x004c;
261         main['M'] = 0x004d;
262         main['N'] = 0x004e;
263         main['O'] = 0x004f;
264         main['P'] = 0x0050;
265         main['Q'] = 0x0051;
266         main['R'] = 0x0052;
267         main['S'] = 0x0053;
268         main['T'] = 0x0054;
269         main['U'] = 0x0055;
270         main['V'] = 0x0056;
271         main['W'] = 0x0057;
272         main['X'] = 0x0058;
273         main['Y'] = 0x0059;
274         main['Z'] = 0x005a;
275         main['['] = 0x005b;
276         main['\\'] = 0x005c;
277         main[']'] = 0x005d;
278         main['^'] = 0x005e;
279         main['_'] = 0x005f;
280         main['`'] = 0x0060;
281         main['a'] = 0x0061;
282         main['b'] = 0x0062;
283         main['c'] = 0x0063;
284         main['d'] = 0x0064;
285         main['e'] = 0x0065;
286         main['f'] = 0x0066;
287         main['g'] = 0x0067;
288         main['h'] = 0x0068;
289         main['i'] = 0x0069;
290         main['j'] = 0x006a;
291         main['k'] = 0x006b;
292         main['l'] = 0x006c;
293         main['m'] = 0x006d;
294         main['n'] = 0x006e;
295         main['o'] = 0x006f;
296         main['p'] = 0x0070;
297         main['q'] = 0x0071;
298         main['r'] = 0x0072;
299         main['s'] = 0x0073;
300         main['t'] = 0x0074;
301         main['u'] = 0x0075;
302         main['v'] = 0x0076;
303         main['w'] = 0x0077;
304         main['x'] = 0x0078;
305         main['y'] = 0x0079;
306         main['z'] = 0x007a;
307         main['{'] = 0x007b;
308         main['|'] = 0x007c;
309         main['}'] = 0x007d;
310         main['~'] = 0x007e;
311         main[161] = 0x00A1;
312         main[162] = 0x00A2;
313         main[163] = 0x00A3;
314         main[165] = 0x00A5;
315         main[167] = 0x00A7;
316         main[168] = 0x00A4;
317         main[169] = 0x2018;
318         main[170] = 0x201C;
319         main[171] = 0x00AB;
320         main[172] = 0x2190;
321         main[173] = 0x2191;
322         main[174] = 0x2192;
323         main[175] = 0x2193;
324         main[176] = 0x00B0;
325         main[177] = 0x00B1;
326         main[178] = 0x00B2;
327         main[179] = 0x00B3;
328         main[180] = 0x00D7;
329         main[181] = 0x00B5;
330         main[182] = 0x00B6;
331         main[183] = 0x00B7;
332         main[184] = 0x00F7;
333         main[185] = 0x2019;
334         main[186] = 0x201D;
335         main[187] = 0x00BB;
336         main[188] = 0x00BC;
337         main[189] = 0x00BD;
338         main[190] = 0x00BE;
339         main[191] = 0x00BF;
340         main[193] = 0x0300;
341         main[194] = 0x0301;
342         main[195] = 0x0302;
343         main[196] = 0x0303;
344         main[197] = 0x0304;
345         main[198] = 0x0306;
346         main[199] = 0x0307;
347         main[200] = 0x0308;
348         main[202] = 0x030A;
349         main[203] = 0x0327;
350         main[205] = 0x030B;
351         main[206] = 0x032B;
352         main[207] = 0x030C;
353         main[208] = 0x2015;
354         main[209] = 0x00B9;
355         main[210] = 0x00AE;
356         main[211] = 0x00A9;
357         main[212] = 0x2122;
358         main[213] = 0x266A;
359         main[214] = 0x00AC;
360         main[215] = 0x00A6;
361         main[220] = 0x215B;
362         main[221] = 0x215C;
363         main[222] = 0x215D;
364         main[223] = 0x215E;
365         main[224] = 0x2126;
366         main[225] = 0x00C6;
367         main[226] = 0x0110;
368         main[227] = 0x00AA;
369         main[228] = 0x0126;
370         main[230] = 0x0132;
371         main[231] = 0x013F;
372         main[232] = 0x0141;
373         main[233] = 0x00D8;
374         main[234] = 0x0152;
375         main[235] = 0x00BA;
376         main[236] = 0x00DE;
377         main[237] = 0x0166;
378         main[238] = 0x014A;
379         main[239] = 0x0149;
380         main[240] = 0x0138;
381         main[241] = 0x00E6;
382         main[242] = 0x0111;
383         main[243] = 0x00F0;
384         main[244] = 0x0127;
385         main[245] = 0x0131;
386         main[246] = 0x0133;
387         main[247] = 0x0140;
388         main[248] = 0x0142;
389         main[249] = 0x00F8;
390         main[250] = 0x0153;
391         main[251] = 0x00DF;
392         main[252] = 0x00FE;
393         main[253] = 0x0167;
394         main[254] = 0x014B;
395         main[255] = 0x00AD;
396 }