~sil2100/nux/precise_sru-1

« back to all changes in this revision

Viewing changes to Nux/TextEntryComposeSeqs.h

  • Committer: Didier Roche
  • Date: 2012-03-12 08:57:27 UTC
  • mfrom: (159.3.35)
  • Revision ID: didier.roche@canonical.com-20120312085727-9fyfwnno545c46uz
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
* Copyright 2010 Inalogic® Inc.
 
3
*
 
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
 
7
* of the License.
 
8
*
 
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.
 
14
*
 
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/>
 
17
*
 
18
* Authored by: Brandon Schaefer <brandontschaefer@gmail.com>
 
19
*              Jay Taoko <jaytaoko@inalogic.com>
 
20
*
 
21
*/
 
22
 
 
23
 
 
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
 
354
};
 
355
 
 
356
/* 
 
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
 
359
 */
 
360
static const char dead_keys_map[20] = {
 
361
'`',    //XK_dead_grave
 
362
'\'',   //XK_dead_acute
 
363
'^',    //XK_dead_circumflex
 
364
'~',    //XK_dead_tilde
 
365
'_',    //XK_dead_macron
 
366
'b',    //XK_dead_breve
 
367
'\0',   //XK_dead_abovedot
 
368
'"',    //XK_dead_diaeresis
 
369
'o',    //XK_dead_abovering
 
370
'=',    //XK_dead_doubleacute
 
371
'c',    //XK_dead_caron
 
372
',',    //XK_dead_cedilla 
 
373
';',    //XK_dead_ogonek
 
374
'\0',   //XK_dead_iota
 
375
'\0',   //XK_dead_voiced_sound
 
376
'\0',   //XK_dead_semivoiced_sound
 
377
'\0',   //XK_dead_belowdot
 
378
'\0',   //XK_dead_hook
 
379
'\0',   //XK_dead_horn
 
380
'\\'    //XK_dead_stroke
 
381
};