2
* Copyright 2010 Inalogic® Inc.
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License, as
6
* published by the Free Software Foundation; either version 2.1 or 3.0
9
* This program is distributed in the hope that it will be useful, but
10
* WITHOUT ANY WARRANTY; without even the implied warranties of
11
* MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
12
* PURPOSE. See the applicable version of the GNU Lesser General Public
13
* License for more details.
15
* You should have received a copy of both the GNU Lesser General Public
16
* License along with this program. If not, see <http://www.gnu.org/licenses/>
18
* Authored by: Brandon Schaefer <brandontschaefer@gmail.com>
19
* Jay Taoko <jaytaoko@inalogic.com>
24
static const std::string nux_compose_seqs_compact[] = {
25
" ", "::", " ", //nobreakspace # NO-BREAK SPACE
26
"!!", "::", "¡", //exclamdown # INVERTED EXCLAMATION MARK
27
"|c", "c|", "c/", "/c", "::", "¢", //CENT SIGN
28
"L-", "-L", "::", "£", //POUND SIGN
29
"ox", "xo", "::", "¤", //currency # CURRENCY SIGN
30
"Y=", "=Y", "::", "¥", //yen # YEN SIGN
31
"!^", "::", "¦", //brokenbar # BROKEN BAR
32
"so", "os", "::", "§", //section # SECTION SIGN
33
"oc", "oC", "Oc", "OC", "::", "©", //copyright # COPYRIGHT SIGN
34
"^_a", "::", "ª", //FEMININE ORDINAL INDICATOR
35
"<<", "::", "«", //guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
36
",-", "-,", "::", "¬", //NOT SIGN
37
"or", "oR", "Or", "OR", "::", "®", //registered # REGISTERED SIGN
38
"oo", "::", "°", //degree # DEGREE SIGN
39
"+-", "::", "±", //plusminus # PLUS-MINUS SIGN
40
"^2", "::", "²", //SUPERSCRIPT TWO
41
"^3", "::", "³", //SUPERSCRIPT THREE
42
"mu", "::", "µ", //MICRO SIGN
43
"p!", "P!", "PP", "::", "¶", //paragraph # PILCROW SIGN
44
"..", "::", "·", //MIDDLE DOT
45
", ", " ,", "::", "¸", //cedilla # CEDILLA
46
"^1", "::", "¹", //SUPERSCRIPT ONE
47
"^_o", "::", "º", //MASCULINE ORDINAL INDICATOR
48
">>", "::", "»", //guillemotright # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
49
"14", "::", "¼", //VULGAR FRACTION ONE QUARTER
50
"12", "::", "½", //VULGAR FRACTION ONE HALF
51
"34", "::", "¾", //VULGAR FRACTION THREE QUARTERS
52
"??", "::", "¿", //questiondown # INVERTED QUESTION MARK
53
"`A", "::", "À", //LATIN CAPITAL LETTER A WITH GRAVE
54
"'A", "::", "Á", //LATIN CAPITAL LETTER A WITH ACUTE
55
"^A", "::", "Â", //LATIN CAPITAL LETTER A WITH CIRCUMFLEX
56
"~A", "::", "Ã", //LATIN CAPITAL LETTER A WITH TILDE
57
"\"A", "::", "Ä", //LATIN CAPITAL LETTER A WITH DIAERESIS
58
"oA", "::", "Å", //LATIN CAPITAL LETTER A WITH RING ABOVE
59
"AE", "::", "Æ", //AE # LATIN CAPITAL LETTER AE
60
",C", "::", "Ç", //LATIN CAPITAL LETTER C WITH CEDILLA
61
"`E", "::", "È", //LATIN CAPITAL LETTER E WITH GRAVE
62
"'E", "::", "É", //LATIN CAPITAL LETTER E WITH ACUTE
63
"^E", "::", "Ê", //LATIN CAPITAL LETTER E WITH CIRCUMFLEX
64
"\"E", "::", "Ë", //LATIN CAPITAL LETTER E WITH DIAERESIS
65
"`I", "::", "Ì", //LATIN CAPITAL LETTER I WITH GRAVE
66
"'I", "::", "Í", //LATIN CAPITAL LETTER I WITH ACUTE
67
"^I", "::", "Î", //LATIN CAPITAL LETTER I WITH CIRCUMFLEX
68
"\"I", "::", "Ï", //LATIN CAPITAL LETTER I WITH DIAERESIS
69
"DH", "::", "Ð", //LATIN CAPITAL LETTER ETH
70
"~N", "::", "Ñ", //LATIN CAPITAL LETTER N WITH TILDE
71
"`O", "::", "Ò", //LATIN CAPITAL LETTER O WITH GRAVE
72
"'O", "::", "Ó", //LATIN CAPITAL LETTER O WITH ACUTE
73
"^O", "::", "Ô", //LATIN CAPITAL LETTER O WITH CIRCUMFLEX
74
"~O", "::", "Õ", //LATIN CAPITAL LETTER O WITH TILDE
75
"\"O", "::", "Ö", //LATIN CAPITAL LETTER O WITH DIAERESIS
76
"xx", "::", "×", //MULTIPLICATION SIGN
77
"/O", "::", "Ø", //LATIN CAPITAL LETTER O WITH STROKE
78
"`U", "::", "Ù", //LATIN CAPITAL LETTER U WITH GRAVE
79
"'U", "::", "Ú", //LATIN CAPITAL LETTER U WITH ACUTE
80
"^U", "::", "Û", //LATIN CAPITAL LETTER U WITH CIRCUMFLEX
81
"\"U", "::", "Ü", //LATIN CAPITAL LETTER U WITH DIAERESIS
82
"'Y", "::", "Ý", //LATIN CAPITAL LETTER Y WITH ACUTE
83
"TH", "::", "Þ", //LATIN CAPITAL LETTER THORN
84
"ss", "::", "ß", //ssharp # LATIN SMALL LETTER SHARP S
85
"`a", "::", "à", //LATIN SMALL LETTER A WITH GRAVE
86
"'a", "::", "á", //LATIN SMALL LETTER A WITH ACUTE
87
"^a", "::", "â", //LATIN SMALL LETTER A WITH CIRCUMFLEX
88
"~a", "::", "ã", //LATIN SMALL LETTER A WITH TILDE
89
"\"a", "::", "ä", //LATIN SMALL LETTER A WITH DIAERESIS
90
"oa", "::", "å", //LATIN SMALL LETTER A WITH RING ABOVE
91
"ae", "::", "æ", //ae # LATIN SMALL LETTER AE
92
",c", "::", "ç", //LATIN SMALL LETTER C WITH CEDILLA
93
"`e", "::", "è", //LATIN SMALL LETTER E WITH GRAVE
94
"'e", "::", "é", //LATIN SMALL LETTER E WITH ACUTE
95
"^e", "::", "ê", //LATIN SMALL LETTER E WITH CIRCUMFLEX
96
"\"e", "::", "ë", //LATIN SMALL LETTER E WITH DIAERESIS
97
"`i", "::", "ì", //LATIN SMALL LETTER I WITH GRAVE
98
"'i", "::", "í", //LATIN SMALL LETTER I WITH ACUTE
99
"^i", "::", "î", //LATIN SMALL LETTER I WITH CIRCUMFLEX
100
"\"i", "::", "ï", //LATIN SMALL LETTER I WITH DIAERESIS
101
"dh", "::", "ð", //LATIN SMALL LETTER ETH
102
"~n", "::", "ñ", //LATIN SMALL LETTER N WITH TILDE
103
"`o", "::", "ò", //LATIN SMALL LETTER O WITH GRAVE
104
"'o", "::", "ó", //LATIN SMALL LETTER O WITH ACUTE
105
"^o", "::", "ô", //LATIN SMALL LETTER O WITH CIRCUMFLEX
106
"~o", "::", "õ", //LATIN SMALL LETTER O WITH TILDE
107
"\"o", "::", "ö", //LATIN SMALL LETTER O WITH DIAERESIS
108
":-", "-:", "::", "÷", //DIVISION SIGN
109
"/o", "::", "ø", //LATIN SMALL LETTER O WITH STROKE
110
"`u", "::", "ù", //LATIN SMALL LETTER U WITH GRAVE
111
"'u", "::", "ú", //LATIN SMALL LETTER U WITH ACUTE
112
"^u", "::", "û", //LATIN SMALL LETTER U WITH CIRCUMFLEX
113
"\"u", "::", "ü", //LATIN SMALL LETTER U WITH DIAERESIS
114
"'y", "::", "ý", //LATIN SMALL LETTER Y WITH ACUTE
115
"th", "::", "þ", //LATIN SMALL LETTER THORN
116
"\"y", "::", "ÿ", //LATIN SMALL LETTER Y WITH DIAERESIS
117
"_A", "::", "Ā", //LATIN CAPITAL LETTER A WITH MACRON
118
"_a", "::", "ā", //LATIN SMALL LETTER A WITH MACRON
119
"UA", "bA", "::", "Ă", //LATIN CAPITAL LETTER A WITH BREVE
120
"Ua", "ba", "::", "ă", //LATIN SMALL LETTER A WITH BREVE
121
";A", "::", "Ą", //LATIN CAPITAL LETTER A WITH OGONEK
122
";a", "::", "ą", //LATIN SMALL LETTER A WITH OGONEK
123
"'C", "::", "Ć", //LATIN CAPITAL LETTER C WITH ACUTE
124
"'c", "::", "ć", //LATIN SMALL LETTER C WITH ACUTE
125
"^C", "::", "Ĉ", //LATIN CAPITAL LETTER C WITH CIRCUMFLEX
126
"^c", "::", "ĉ", //LATIN SMALL LETTER C WITH CIRCUMFLEX
127
"cC", "::", "Č", //LATIN CAPITAL LETTER C WITH CARON
128
"cc", "::", "č", //LATIN SMALL LETTER C WITH CARON
129
"cD", "::", "Ď", //LATIN CAPITAL LETTER D WITH CARON
130
"cd", "::", "ď", //LATIN SMALL LETTER D WITH CARON
131
"-D", "/D", "::", "Đ", //Dstroke # LATIN CAPITAL LETTER D WITH STROKE
132
"-d", "/d", "::", "đ", //dstroke # LATIN SMALL LETTER D WITH STROKE
133
"_E", "::", "Ē", //LATIN CAPITAL LETTER E WITH MACRON
134
"_e", "::", "ē", //LATIN SMALL LETTER E WITH MACRON
135
"UE", "bE", "::", "Ĕ", //LATIN CAPITAL LETTER E WITH BREVE
136
"Ue", "be", "::", "ĕ", //LATIN SMALL LETTER E WITH BREVE
137
";E", "::", "Ę", //LATIN CAPITAL LETTER E WITH OGONEK
138
";e", "::", "ę", //LATIN SMALL LETTER E WITH OGONEK
139
"cE", "::", "Ě", //LATIN CAPITAL LETTER E WITH CARON
140
"ce", "::", "ě", //LATIN SMALL LETTER E WITH CARON
141
"^G", "::", "Ĝ", //LATIN CAPITAL LETTER G WITH CIRCUMFLEX
142
"^g", "::", "ĝ", //LATIN SMALL LETTER G WITH CIRCUMFLEX
143
"UG", "bG", "::", "Ğ", //LATIN CAPITAL LETTER G WITH BREVE
144
"Ug", "bg", "::", "ğ", //LATIN SMALL LETTER G WITH BREVE
145
",G", "::", "Ģ", //LATIN CAPITAL LETTER G WITH CEDILLA
146
",g", "::", "ģ", //LATIN SMALL LETTER G WITH CEDILLA
147
"^H", "::", "Ĥ", //LATIN CAPITAL LETTER H WITH CIRCUMFLEX
148
"^h", "::", "ĥ", //LATIN SMALL LETTER H WITH CIRCUMFLEX
149
"/H", "::", "Ħ", //LATIN CAPITAL LETTER H WITH STROKE
150
"/h", "::", "ħ", //LATIN SMALL LETTER H WITH STROKE
151
"~I", "::", "Ĩ", //LATIN CAPITAL LETTER I WITH TILDE
152
"~i", "::", "ĩ", //LATIN SMALL LETTER I WITH TILDE
153
"_I", "::", "Ī", //LATIN CAPITAL LETTER I WITH MACRON
154
"_i", "::", "ī", //LATIN SMALL LETTER I WITH MACRON
155
"UI", "bI", "::", "Ĭ", //LATIN CAPITAL LETTER I WITH BREVE
156
"Ui", "bi", "::", "ĭ", //LATIN SMALL LETTER I WITH BREVE
157
";I", "::", "Į", //LATIN CAPITAL LETTER I WITH OGONEK
158
";i", "::", "į", //LATIN SMALL LETTER I WITH OGONEK
159
"i.", "::", "ı", //LATIN SMALL LETTER DOTLESS I
160
"^J", "::", "Ĵ", //LATIN CAPITAL LETTER J WITH CIRCUMFLEX
161
"^j", "::", "ĵ", //LATIN SMALL LETTER J WITH CIRCUMFLEX
162
",K", "::", "Ķ", //LATIN CAPITAL LETTER K WITH CEDILLA
163
",k", "::", "ķ", //LATIN SMALL LETTER K WITH CEDILLA
164
"kk", "::", "ĸ", //LATIN SMALL LETTER KRA
165
"'L", "::", "Ĺ", //LATIN CAPITAL LETTER L WITH ACUTE
166
"'l", "::", "ĺ", //LATIN SMALL LETTER L WITH ACUTE
167
",L", "::", "Ļ", //LATIN CAPITAL LETTER L WITH CEDILLA
168
",l", "::", "ļ", //LATIN SMALL LETTER L WITH CEDILLA
169
"cL", "::", "Ľ", //LATIN CAPITAL LETTER L WITH CARON
170
"cl", "::", "ľ", //LATIN SMALL LETTER L WITH CARON
171
"/L", "::", "Ł", //LATIN CAPITAL LETTER L WITH STROKE
172
"/l", "::", "ł", //LATIN SMALL LETTER L WITH STROKE
173
"'N", "::", "Ń", //LATIN CAPITAL LETTER N WITH ACUTE
174
"'n", "::", "ń", //LATIN SMALL LETTER N WITH ACUTE
175
",N", "::", "Ņ", //LATIN CAPITAL LETTER N WITH CEDILLA
176
",n", "::", "ņ", //LATIN SMALL LETTER N WITH CEDILLA
177
"cN", "::", "Ň", //LATIN CAPITAL LETTER N WITH CARON
178
"cn", "::", "ň", //LATIN SMALL LETTER N WITH CARON
179
"NG", "::", "Ŋ", //LATIN CAPITAL LETTER ENG
180
"ng", "::", "ŋ", //LATIN SMALL LETTER ENG
181
"_O", "::", "Ō", //LATIN CAPITAL LETTER O WITH MACRON
182
"_o", "::", "ō", //LATIN SMALL LETTER O WITH MACRON
183
"UO", "bO", "::", "Ŏ", //LATIN CAPITAL LETTER O WITH BREVE
184
"Uo", "bo", "::", "ŏ", //LATIN SMALL LETTER O WITH BREVE
185
"=O", "::", "Ő", //LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
186
"=o", "::", "ő", //LATIN SMALL LETTER O WITH DOUBLE ACUTE
187
"OE", "::", "Œ", //OE # LATIN CAPITAL LIGATURE OE
188
"oe", "::", "œ", //oe # LATIN SMALL LIGATURE OE
189
"'R", "::", "Ŕ", //LATIN CAPITAL LETTER R WITH ACUTE
190
"'r", "::", "ŕ", //LATIN SMALL LETTER R WITH ACUTE
191
",R", "::", "Ŗ", //LATIN CAPITAL LETTER R WITH CEDILLA
192
",r", "::", "ŗ", //LATIN SMALL LETTER R WITH CEDILLA
193
"cR", "::", "Ř", //LATIN CAPITAL LETTER R WITH CARON
194
"cr", "::", "ř", //LATIN SMALL LETTER R WITH CARON
195
"'S", "::", "Ś", //LATIN CAPITAL LETTER S WITH ACUTE
196
"'s", "::", "ś", //LATIN SMALL LETTER S WITH ACUTE
197
"^S", "::", "Ŝ", //LATIN CAPITAL LETTER S WITH CIRCUMFLEX
198
"^s", "::", "ŝ", //LATIN SMALL LETTER S WITH CIRCUMFLEX
199
",S", "::", "Ş", //LATIN CAPITAL LETTER S WITH CEDILLA
200
",s", "::", "ş", //LATIN SMALL LETTER S WITH CEDILLA
201
"cS", "::", "Š", //LATIN CAPITAL LETTER S WITH CARON
202
"cs", "::", "š", //LATIN SMALL LETTER S WITH CARON
203
",T", "::", "Ţ", //LATIN CAPITAL LETTER T WITH CEDILLA
204
",t", "::", "ţ", //LATIN SMALL LETTER T WITH CEDILLA
205
"cT", "::", "Ť", //LATIN CAPITAL LETTER T WITH CARON
206
"ct", "::", "ť", //LATIN SMALL LETTER T WITH CARON
207
"/T", "::", "Ŧ", //LATIN CAPITAL LETTER T WITH STROKE
208
"/t", "::", "ŧ", //LATIN SMALL LETTER T WITH STROKE
209
"~U", "::", "Ũ", //LATIN CAPITAL LETTER U WITH TILDE
210
"~u", "::", "ũ", //LATIN SMALL LETTER U WITH TILDE
211
"_U", "::", "Ū", //LATIN CAPITAL LETTER U WITH MACRON
212
"_u", "::", "ū", //LATIN SMALL LETTER U WITH MACRON
213
"UU", "bU", "::", "Ŭ", //LATIN CAPITAL LETTER U WITH BREVE
214
"Uu", "bu", "::", "ŭ", //LATIN SMALL LETTER U WITH BREVE
215
"oU", "::", "Ů", //LATIN CAPITAL LETTER U WITH RING ABOVE
216
"ou", "::", "ů", //LATIN SMALL LETTER U WITH RING ABOVE
217
"=U", "::", "Ű", //LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
218
"=u", "::", "ű", //LATIN SMALL LETTER U WITH DOUBLE ACUTE
219
";U", "::", "Ų", //LATIN CAPITAL LETTER U WITH OGONEK
220
";u", "::", "ų", //LATIN SMALL LETTER U WITH OGONEK
221
"^W", "::", "Ŵ", //LATIN CAPITAL LETTER W WITH CIRCUMFLEX
222
"^w", "::", "ŵ", //LATIN SMALL LETTER W WITH CIRCUMFLEX
223
"^Y", "::", "Ŷ", //LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
224
"^y", "::", "ŷ", //LATIN SMALL LETTER Y WITH CIRCUMFLEX
225
"\"Y", "::", "Ÿ", //LATIN CAPITAL LETTER Y WITH DIAERESIS
226
"'Z", "::", "Ź", //LATIN CAPITAL LETTER Z WITH ACUTE
227
"'z", "::", "ź", //LATIN SMALL LETTER Z WITH ACUTE
228
"cZ", "::", "Ž", //LATIN CAPITAL LETTER Z WITH CARON
229
"cz", "::", "ž", //LATIN SMALL LETTER Z WITH CARON
230
"fs", "fS", "::", "ſ", //LATIN SMALL LETTER LONG S
231
"/b", "::", "ƀ", //LATIN SMALL LETTER B WITH STROKE
232
"/I", "::", "Ɨ", //LATIN CAPITAL LETTER I WITH STROKE
233
"/Z", "::", "Ƶ", //LATIN CAPITAL LETTER Z WITH STROKE
234
"/z", "::", "ƶ", //LATIN SMALL LETTER Z WITH STROKE
235
"cA", "::", "Ǎ", //LATIN CAPITAL LETTER A WITH CARON
236
"ca", "::", "ǎ", //LATIN SMALL LETTER A WITH CARON
237
"cI", "::", "Ǐ", //LATIN CAPITAL LETTER I WITH CARON
238
"ci", "::", "ǐ", //LATIN SMALL LETTER I WITH CARON
239
"cO", "::", "Ǒ", //LATIN CAPITAL LETTER O WITH CARON
240
"co", "::", "ǒ", //LATIN SMALL LETTER O WITH CARON
241
"cU", "::", "Ǔ", //LATIN CAPITAL LETTER U WITH CARON
242
"cu", "::", "ǔ", //LATIN SMALL LETTER U WITH CARON
243
"/G", "::", "Ǥ", //LATIN CAPITAL LETTER G WITH STROKE
244
"/g", "::", "ǥ", //LATIN SMALL LETTER G WITH STROKE
245
"cG", "::", "Ǧ", //LATIN CAPITAL LETTER G WITH CARON
246
"cg", "::", "ǧ", //LATIN SMALL LETTER G WITH CARON
247
"cK", "::", "Ǩ", //LATIN CAPITAL LETTER K WITH CARON
248
"ck", "::", "ǩ", //LATIN SMALL LETTER K WITH CARON
249
";O", "::", "Ǫ", //LATIN CAPITAL LETTER O WITH OGONEK
250
";o", "::", "ǫ", //LATIN SMALL LETTER O WITH OGONEK
251
"cj", "::", "ǰ", //LATIN SMALL LETTER J WITH CARON
252
"'G", "::", "Ǵ", //LATIN CAPITAL LETTER G WITH ACUTE
253
"'g", "::", "ǵ", //LATIN SMALL LETTER G WITH ACUTE
254
"`N", "::", "Ǹ", //LATIN CAPITAL LETTER N WITH GRAVE
255
"`n", "::", "ǹ", //LATIN SMALL LETTER N WITH GRAVE
256
"cH", "::", "Ȟ", //LATIN CAPITAL LETTER H WITH CARON
257
"ch", "::", "ȟ", //LATIN SMALL LETTER H WITH CARON
258
",E", "::", "Ȩ", //LATIN CAPITAL LETTER E WITH CEDILLA
259
",e", "::", "ȩ", //LATIN SMALL LETTER E WITH CEDILLA
260
"_Y", "::", "Ȳ", //LATIN CAPITAL LETTER Y WITH MACRON
261
"_y", "::", "ȳ", //LATIN SMALL LETTER Y WITH MACRON
262
"ee", "::", "ə", //LATIN SMALL LETTER SCHWA
263
"/i", "::", "ɨ", //LATIN SMALL LETTER I WITH STROKE
264
",D", "::", "Ḑ", //LATIN CAPITAL LETTER D WITH CEDILLA
265
",d", "::", "ḑ", //LATIN SMALL LETTER D WITH CEDILLA
266
"_G", "::", "Ḡ", //LATIN CAPITAL LETTER G WITH MACRON
267
"_g", "::", "ḡ", //LATIN SMALL LETTER G WITH MACRON
268
"\"H", "::", "Ḧ", //LATIN CAPITAL LETTER H WITH DIAERESIS
269
"\"h", "::", "ḧ", //LATIN SMALL LETTER H WITH DIAERESIS
270
",H", "::", "Ḩ", //LATIN CAPITAL LETTER H WITH CEDILLA
271
",h", "::", "ḩ", //LATIN SMALL LETTER H WITH CEDILLA
272
"'K", "::", "Ḱ", //LATIN CAPITAL LETTER K WITH ACUTE
273
"'k", "::", "ḱ", //LATIN SMALL LETTER K WITH ACUTE
274
"'M", "::", "Ḿ", //LATIN CAPITAL LETTER M WITH ACUTE
275
"'m", "::", "ḿ", //LATIN SMALL LETTER M WITH ACUTE
276
"'P", "::", "Ṕ", //LATIN CAPITAL LETTER P WITH ACUTE
277
"'p", "::", "ṕ", //LATIN SMALL LETTER P WITH ACUTE
278
"~V", "::", "Ṽ", //LATIN CAPITAL LETTER V WITH TILDE
279
"~v", "::", "ṽ", //LATIN SMALL LETTER V WITH TILDE
280
"`W", "::", "Ẁ", //LATIN CAPITAL LETTER W WITH GRAVE
281
"`w", "::", "ẁ", //LATIN SMALL LETTER W WITH GRAVE
282
"'W", "::", "Ẃ", //LATIN CAPITAL LETTER W WITH ACUTE
283
"'w", "::", "ẃ", //LATIN SMALL LETTER W WITH ACUTE
284
"\"W", "::", "Ẅ", //LATIN CAPITAL LETTER W WITH DIAERESIS
285
"\"w", "::", "ẅ", //LATIN SMALL LETTER W WITH DIAERESIS
286
"\"X", "::", "Ẍ", //LATIN CAPITAL LETTER X WITH DIAERESIS
287
"\"x", "::", "ẍ", //LATIN SMALL LETTER X WITH DIAERESIS
288
"^Z", "::", "Ẑ", //LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
289
"^z", "::", "ẑ", //LATIN SMALL LETTER Z WITH CIRCUMFLEX
290
"\"t", "::", "ẗ", //LATIN SMALL LETTER T WITH DIAERESIS
291
"ow", "::", "ẘ", //LATIN SMALL LETTER W WITH RING ABOVE
292
"oy", "::", "ẙ", //LATIN SMALL LETTER Y WITH RING ABOVE
293
"~E", "::", "Ẽ", //LATIN CAPITAL LETTER E WITH TILDE
294
"~e", "::", "ẽ", //LATIN SMALL LETTER E WITH TILDE
295
"`Y", "::", "Ỳ", //LATIN CAPITAL LETTER Y WITH GRAVE
296
"`y", "::", "ỳ", //LATIN SMALL LETTER Y WITH GRAVE
297
"~Y", "::", "Ỹ", //LATIN CAPITAL LETTER Y WITH TILDE
298
"~y", "::", "ỹ", //LATIN SMALL LETTER Y WITH TILDE
299
" .", "::", " ", //PUNCTUATION SPACE
300
"--.", "::", "–", //EN DASH
301
"---", "::", "—", //EM DASH
302
"<'", "'<", "::", "‘", //LEFT SINGLE QUOTATION MARK
303
">'", "'>", "::", "’", //RIGHT SINGLE QUOTATION MARK
304
",'", "',", "::", "‚", //SINGLE LOW-9 QUOTATION MARK
305
"<\"", "\"<", "::", "“", //LEFT DOUBLE QUOTATION MARK
306
">\"", "\">", "::", "”", //RIGHT DOUBLE QUOTATION MARK
307
",\"", "\",", "::", "„", //DOUBLE LOW-9 QUOTATION MARK
308
"\%o", "::", "‰", //PER MILLE SIGN
309
".<", "::", "‹", //SINGLE LEFT-POINTING ANGLE QUOTATION MARK
310
".>", "::", "›", //SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
311
"^0", "::", "⁰", //SUPERSCRIPT ZERO
312
"^_i", "::", "ⁱ", //SUPERSCRIPT LATIN SMALL LETTER I
313
"^4", "::", "⁴", //SUPERSCRIPT FOUR
314
"^5", "::", "⁵", //SUPERSCRIPT FIVE
315
"^6", "::", "⁶", //SUPERSCRIPT SIX
316
"^7", "::", "⁷", //SUPERSCRIPT SEVEN
317
"^8", "::", "⁸", //SUPERSCRIPT EIGHT
318
"^9", "::", "⁹", //SUPERSCRIPT NINE
319
"^+", "::", "⁺", //SUPERSCRIPT PLUS SIGN
320
"^=", "::", "⁼", //SUPERSCRIPT EQUALS SIGN
321
"^(", "::", "⁽", //SUPERSCRIPT LEFT PARENTHESIS
322
"^)", "::", "⁾", //SUPERSCRIPT RIGHT PARENTHESIS
323
"^_n", "::", "ⁿ", //SUPERSCRIPT LATIN SMALL LETTER N
324
"_0", "::", "₀", //SUBSCRIPT ZERO
325
"_1", "::", "₁", //SUBSCRIPT ONE
326
"_2", "::", "₂", //SUBSCRIPT TWO
327
"_3", "::", "₃", //SUBSCRIPT THREE
328
"_4", "::", "₄", //SUBSCRIPT FOUR
329
"_5", "::", "₅", //SUBSCRIPT FIVE
330
"_6", "::", "₆", //SUBSCRIPT SIX
331
"_7", "::", "₇", //SUBSCRIPT SEVEN
332
"_8", "::", "₈", //SUBSCRIPT EIGHT
333
"_9", "::", "₉", //SUBSCRIPT NINE
334
"_+", "::", "₊", //SUBSCRIPT PLUS SIGN
335
"_=", "::", "₌", //SUBSCRIPT EQUALS SIGN
336
"_(", "::", "₍", //SUBSCRIPT LEFT PARENTHESIS
337
"_)", "::", "₎", //SUBSCRIPT RIGHT PARENTHESIS
338
"CE", "::", "₠", //EURO-CURRENCY SIGN
339
"C/", "/C", "::", "₡", //COLON SIGN
340
"Cr", "::", "₢", //CRUZEIRO SIGN
341
"Fr", "::", "₣", //FRENCH FRANC SIGN
342
"L=", "=L", "::", "₤", //LIRA SIGN
343
"m/", "/m", "::", "₥", //MILL SIGN
344
"N=", "=N", "::", "₦", //NAIRA SIGN
345
"Pt", "::", "₧", //PESETA SIGN
346
"Rs", "::", "₨", //RUPEE SIGN
347
"W=", "=W", "::", "₩", //WON SIGN
348
"d-", "::", "₫", //DONG SIGN
349
"C=", "=C", "c=", "=c", "E=", "=E", "::", "€", //EuroSign # EURO SIGN
350
"^TM", "::", "™", //TRADE MARK SIGN
351
"\"\\", "::", "〝", //REVERSED DOUBLE PRIME QUOTATION MARK
352
"\"/", "::", "〞", //DOUBLE PRIME QUOTATION MARK
353
"\0" //NULL so we know when to end
357
* These are a mapping between dead keys and its composition sequence
358
* All NULL chars dont match anything as of yet. To be filled in later
360
static const char dead_keys_map[20] = {
362
'\'', //XK_dead_acute
363
'^', //XK_dead_circumflex
365
'_', //XK_dead_macron
367
'\0', //XK_dead_abovedot
368
'"', //XK_dead_diaeresis
369
'o', //XK_dead_abovering
370
'=', //XK_dead_doubleacute
372
',', //XK_dead_cedilla
373
';', //XK_dead_ogonek
375
'\0', //XK_dead_voiced_sound
376
'\0', //XK_dead_semivoiced_sound
377
'\0', //XK_dead_belowdot
380
'\\' //XK_dead_stroke