root/windows/neo-vars/src/source/compose-gen.ahk @ 2102

Revision 2102, 70.4 KB (checked in by mösi, 4 years ago)

• EncodeUniComposeA() in compose-gen.ahk verschoben. Passt hier irgendwie besser, ist aber auch nicht optimal und schreit nach einer eigenen Datei für all diese Funktionen.
• Ein paar XKeySyms, die 5 Buchstaben lang waren und mit »U« begannen, sind bei der Erweiterung auf volles UTF-16 bei einer automatischen Suchen+Ersetzen-Aktion um zwei falsche 0-er ergänzt worden, habe das mal in Ordnung gebracht.
• Die Änderungs-Orgie nimmt ihren Lauf: Alle (aktiven) XKeySyms habe ich nun auf UTF-8 inklusive Konvertierung umgestellt, was immerhin 7 Kilobyte spart. :-)

Line 
1; -*- encoding:utf-8 -*-
2
3DefineXKBSym(name,val) {
4  global
5  nlen := StrLen(name)
6  KSYM%nlen% .= name . " "
7  KSCD%nlen% .= EncodeUniComposeA(val)
8}
9
10DefineXKBSyms() {
11  DefineXKBSym("BackSpace"         ,"U000008")
12  DefineXKBSym("Tab"               ,"U000009")
13  DefineXKBSym("Return"            ,"U00000D")
14  DefineXKBSym("Delete"            ,"S___Del")
15  DefineXKBSym("Multi_key"         ,"S__Comp")
16  DefineXKBSym("Home"              ,"S__Home")
17  DefineXKBSym("Left"              ,"S__Left")
18  DefineXKBSym("Up"                ,"S____Up")
19  DefineXKBSym("Right"             ,"S__Rght")
20  DefineXKBSym("Down"              ,"S__Down")
21  DefineXKBSym("Prior"             ,"S__PgUp")
22  DefineXKBSym("Page_Up"           ,"S__PgUp")
23  DefineXKBSym("Next"              ,"S__PgDn")
24  DefineXKBSym("Page_Down"         ,"S__PgDn")
25  DefineXKBSym("End"               ,"S___End")
26  DefineXKBSym("Insert"            ,"S___Ins")
27  DefineXKBSym("KP_Space"          ,"S__NSpc") ; not
28  DefineXKBSym("KP_Tab"            ,"S__NTab") ; not
29  DefineXKBSym("KP_Enter"          ,"S__NEnt")
30  DefineXKBSym("KP_F1"             ,"S__NF_1") ; not
31  DefineXKBSym("KP_F2"             ,"S__NF_2") ; not
32  DefineXKBSym("KP_F3"             ,"S__NF_3") ; not
33  DefineXKBSym("KP_F4"             ,"S__NF_4") ; not
34  DefineXKBSym("KP_Home"           ,"S__NHom")
35  DefineXKBSym("KP_Left"           ,"S__N_Le")
36  DefineXKBSym("KP_Up"             ,"S__N_Up")
37  DefineXKBSym("KP_Right"          ,"S__N_Ri")
38  DefineXKBSym("KP_Down"           ,"S__N_Dn")
39  DefineXKBSym("KP_Prior"          ,"S__NPUp")
40  DefineXKBSym("KP_Page_Up"        ,"S__NPUp")
41  DefineXKBSym("KP_Next"           ,"S__NPDn")
42  DefineXKBSym("KP_Page_Down"      ,"S__NPDn")
43  DefineXKBSym("KP_End"            ,"S__NEnd")
44  DefineXKBSym("KP_Begin"          ,"S__NBgn") ; not
45  DefineXKBSym("KP_Insert"         ,"S__NIns")
46  DefineXKBSym("KP_Delete"         ,"S__NDel")
47  DefineXKBSym("KP_Equal"          ,"S__NEql") ; not
48  DefineXKBSym("KP_Multiply"       ,"S__NMul")
49  DefineXKBSym("KP_Add"            ,"S__NAdd")
50  DefineXKBSym("KP_Separator"      ,"S__NSep") ; not
51  DefineXKBSym("KP_Subtract"       ,"S__NSub")
52  DefineXKBSym("KP_Decimal"        ,"S__NDot")
53  DefineXKBSym("KP_Divide"         ,"S__NDiv")
54  DefineXKBSym("KP_0"              ,"S__N__0")
55  DefineXKBSym("KP_1"              ,"S__N__1")
56  DefineXKBSym("KP_2"              ,"S__N__2")
57  DefineXKBSym("KP_3"              ,"S__N__3")
58  DefineXKBSym("KP_4"              ,"S__N__4")
59  DefineXKBSym("KP_5"              ,"S__N__5")
60  DefineXKBSym("KP_6"              ,"S__N__6")
61  DefineXKBSym("KP_7"              ,"S__N__7")
62  DefineXKBSym("KP_8"              ,"S__N__8")
63  DefineXKBSym("KP_9"              ,"S__N__9")
64  DefineXKBSym("dead_acute"        ,"T__acut")
65  DefineXKBSym("dead_grave"        ,"T__grav")
66  DefineXKBSym("dead_cedilla"      ,"T__cedi")
67  DefineXKBSym("dead_abovedot"     ,"T__abdt")
68  DefineXKBSym("dead_ogonek"       ,"T__ogon")
69  DefineXKBSym("dead_abovering"    ,"T__obrg")
70  DefineXKBSym("dead_circumflex"   ,"T__cflx")
71  DefineXKBSym("dead_caron"        ,"T__cron")
72  DefineXKBSym("dead_breve"        ,"T__brve")
73  DefineXKBSym("dead_belowdot"     ,"T__bldt")
74  DefineXKBSym("dead_tilde"        ,"T__tlde")
75  DefineXKBSym("dead_macron"       ,"T__mcrn")
76  DefineXKBSym("dead_diaeresis"    ,"T__drss")
77  DefineXKBSym("dead_doubleacute"  ,"T__dbac")
78  DefineXKBSym("dead_stroke"       ,"T__strk")
79  DefineXKBSym("dead_iota"         ,"T__iota")    ; not assigned a dead key in NEO
80  DefineXKBSym("dead_voiced_sound" ,"T__vsnd")    ; not assigned a dead key in NEO
81  DefineXKBSym("dead_semivoiced_sound","T__ssnd") ; not assigned a dead key in NEO
82  DefineXKBSym("dead_horn"         ,"T__horn")    ; not assigned a dead key in NEO
83  DefineXKBSym("dead_hook"         ,"T__hook")    ; not assigned a dead key in NEO
84  DefineXKBSym("combining_grave"   ,"T__Cgrv")    ; not assigned a dead key in NEO
85  DefineXKBSym("combining_acute"   ,"T__Cact")    ; not assigned a dead key in NEO
86  DefineXKBSym("combining_belowdot","T__Cbdt")    ; not assigned a dead key in NEO
87  DefineXKBSym("combining_hook"    ,"T__Chok")    ; not assigned a dead key in NEO
88  DefineXKBSym("combining_tilde"   ,"T__Ctld")    ; not assigned a dead key in NEO
89  DefineXKBSym("space"             ," ")
90  DefineXKBSym("dead_space"        ," ")
91  DefineXKBSym("exclam"            ,"!")
92  DefineXKBSym("quotedbl"          ,"""")
93  DefineXKBSym("numbersign"        ,"#")
94  DefineXKBSym("dollar"            ,"$")
95  DefineXKBSym("percent"           ,"%")
96  DefineXKBSym("ampersand"         ,"&")
97  DefineXKBSym("apostrophe"        ,"'")
98  DefineXKBSym("quoteright"        ,"'")
99  DefineXKBSym("parenleft"         ,"(")
100  DefineXKBSym("parenright"        ,")")
101  DefineXKBSym("asterisk"          ,"*")
102  DefineXKBSym("plus"              ,"+")
103  DefineXKBSym("comma"             ,",")
104  DefineXKBSym("minus"             ,"-")
105  DefineXKBSym("period"            ,".")
106  DefineXKBSym("slash"             ,"/")
107  DefineXKBSym("0"                 ,"0")
108  DefineXKBSym("1"                 ,"1")
109  DefineXKBSym("2"                 ,"2")
110  DefineXKBSym("3"                 ,"3")
111  DefineXKBSym("4"                 ,"4")
112  DefineXKBSym("5"                 ,"5")
113  DefineXKBSym("6"                 ,"6")
114  DefineXKBSym("7"                 ,"7")
115  DefineXKBSym("8"                 ,"8")
116  DefineXKBSym("9"                 ,"9")
117  DefineXKBSym("colon"             ,":")
118  DefineXKBSym("semicolon"         ,";")
119  DefineXKBSym("less"              ,"<")
120  DefineXKBSym("equal"             ,"=")
121  DefineXKBSym("greater"           ,">")
122  DefineXKBSym("question"          ,"?")
123  DefineXKBSym("at"                ,"@")
124  DefineXKBSym("A"                 ,"A")
125  DefineXKBSym("B"                 ,"B")
126  DefineXKBSym("C"                 ,"C")
127  DefineXKBSym("D"                 ,"D")
128  DefineXKBSym("E"                 ,"E")
129  DefineXKBSym("F"                 ,"F")
130  DefineXKBSym("G"                 ,"G")
131  DefineXKBSym("H"                 ,"H")
132  DefineXKBSym("I"                 ,"I")
133  DefineXKBSym("J"                 ,"J")
134  DefineXKBSym("K"                 ,"K")
135  DefineXKBSym("L"                 ,"L")
136  DefineXKBSym("M"                 ,"M")
137  DefineXKBSym("N"                 ,"N")
138  DefineXKBSym("O"                 ,"O")
139  DefineXKBSym("P"                 ,"P")
140  DefineXKBSym("Q"                 ,"Q")
141  DefineXKBSym("R"                 ,"R")
142  DefineXKBSym("S"                 ,"S")
143  DefineXKBSym("T"                 ,"T")
144  DefineXKBSym("U"                 ,"U")
145  DefineXKBSym("V"                 ,"V")
146  DefineXKBSym("W"                 ,"W")
147  DefineXKBSym("X"                 ,"X")
148  DefineXKBSym("Y"                 ,"Y")
149  DefineXKBSym("Z"                 ,"Z")
150  DefineXKBSym("bracketleft"       ,"[")
151  DefineXKBSym("backslash"         ,"\")
152  DefineXKBSym("bracketright"      ,"]")
153  DefineXKBSym("asciicircum"       ,"^")
154  DefineXKBSym("underscore"        ,"_")
155  DefineXKBSym("grave"             ,"``")
156  DefineXKBSym("quoteleft"         ,"``")
157  DefineXKBSym("a"                 ,"a")
158  DefineXKBSym("b"                 ,"b")
159  DefineXKBSym("c"                 ,"c")
160  DefineXKBSym("d"                 ,"d")
161  DefineXKBSym("e"                 ,"e")
162  DefineXKBSym("f"                 ,"f")
163  DefineXKBSym("g"                 ,"g")
164  DefineXKBSym("h"                 ,"h")
165  DefineXKBSym("i"                 ,"i")
166  DefineXKBSym("j"                 ,"j")
167  DefineXKBSym("k"                 ,"k")
168  DefineXKBSym("l"                 ,"l")
169  DefineXKBSym("m"                 ,"m")
170  DefineXKBSym("n"                 ,"n")
171  DefineXKBSym("o"                 ,"o")
172  DefineXKBSym("p"                 ,"p")
173  DefineXKBSym("q"                 ,"q")
174  DefineXKBSym("r"                 ,"r")
175  DefineXKBSym("s"                 ,"s")
176  DefineXKBSym("t"                 ,"t")
177  DefineXKBSym("u"                 ,"u")
178  DefineXKBSym("v"                 ,"v")
179  DefineXKBSym("w"                 ,"w")
180  DefineXKBSym("x"                 ,"x")
181  DefineXKBSym("y"                 ,"y")
182  DefineXKBSym("z"                 ,"z")
183  DefineXKBSym("braceleft"         ,"{")
184  DefineXKBSym("bar"               ,"|")
185  DefineXKBSym("braceright"        ,"}")
186  DefineXKBSym("asciitilde"        ,"~")
187  DefineXKBSym("ſ"                 ,"ſ")
188
189; following codes are auto-generated from keysymdef.h (manually disabled if already defined or override)
190
191;  DefineXKBSym("BackSpace","⌫")
192;  DefineXKBSym("Tab","⇥")
193;  DefineXKBSym("Return","↲")
194;  DefineXKBSym("Escape","⌧")
195;  DefineXKBSym("Delete","⌦")
196;  DefineXKBSym("Multi_key","♫")
197;  DefineXKBSym("Home","⇱")
198;  DefineXKBSym("Left","⇠")
199;  DefineXKBSym("Up","⇡")
200;  DefineXKBSym("Right","⇢")
201;  DefineXKBSym("Down","⇣")
202;  DefineXKBSym("Prior","⇞")
203;  DefineXKBSym("Page_Up","⇞")
204;  DefineXKBSym("Next","⇟")
205;  DefineXKBSym("Page_Down","⇟")
206;  DefineXKBSym("End","⇲")
207;  DefineXKBSym("Insert","⎀")
208;  DefineXKBSym("KP_Enter","⎆")
209;  DefineXKBSym("KP_Home","⇱")
210;  DefineXKBSym("KP_Left","⇠")
211;  DefineXKBSym("KP_Up","⇡")
212;  DefineXKBSym("KP_Right","⇢")
213;  DefineXKBSym("KP_Down","⇣")
214;  DefineXKBSym("KP_Prior","⇞")
215;  DefineXKBSym("KP_Page_Up","⇞")
216;  DefineXKBSym("KP_Next","⇟")
217;  DefineXKBSym("KP_Page_Down","⇟")
218;  DefineXKBSym("KP_End","⇲")
219;  DefineXKBSym("KP_Insert","⎀")
220;  DefineXKBSym("KP_Delete","⌦")
221;  DefineXKBSym("KP_Multiply","*")
222;  DefineXKBSym("KP_Add","+")
223;  DefineXKBSym("KP_Subtract","-")
224;  DefineXKBSym("KP_Decimal","⎖")
225;  DefineXKBSym("KP_Divide","∕")
226;  DefineXKBSym("KP_0","0")
227;  DefineXKBSym("KP_1","1")
228;  DefineXKBSym("KP_2","2")
229;  DefineXKBSym("KP_3","3")
230;  DefineXKBSym("KP_4","4")
231;  DefineXKBSym("KP_5","5")
232;  DefineXKBSym("KP_6","6")
233;  DefineXKBSym("KP_7","7")
234;  DefineXKBSym("KP_8","8")
235;  DefineXKBSym("KP_9","9")
236  DefineXKBSym("Shift_L","⇧")
237  DefineXKBSym("Shift_R","⇧")
238  DefineXKBSym("Shift_Lock","⇧")
239;  DefineXKBSym("ISO_Left_Tab","⇤")
240;  DefineXKBSym("dead_grave","U000060")
241;  DefineXKBSym("dead_acute","U0002CA")
242;  DefineXKBSym("dead_circumflex","U00005E")
243;  DefineXKBSym("dead_tilde","U00007E")
244;  DefineXKBSym("dead_macron","U0002C9")
245;  DefineXKBSym("dead_breve","U000306")
246;  DefineXKBSym("dead_abovedot","U0002D9")
247;  DefineXKBSym("dead_diaeresis","U0000A8")
248;  DefineXKBSym("dead_abovering","U0002DA")
249;  DefineXKBSym("dead_doubleacute","U0002DD")
250;  DefineXKBSym("dead_caron","U0002C7")
251;  DefineXKBSym("dead_cedilla","U0000B8")
252;  DefineXKBSym("dead_ogonek","U0002DB")
253;  DefineXKBSym("dead_belowdot","U000323")
254;  DefineXKBSym("dead_stroke","U000335")
255;  DefineXKBSym("space","U000020")
256;  DefineXKBSym("exclam","U000021")
257;  DefineXKBSym("quotedbl","U000022")
258;  DefineXKBSym("numbersign","U000023")
259;  DefineXKBSym("dollar","U000024")
260;  DefineXKBSym("percent","U000025")
261;  DefineXKBSym("ampersand","U000026")
262;  DefineXKBSym("apostrophe","U000027")
263;  DefineXKBSym("parenleft","U000028")
264;  DefineXKBSym("parenright","U000029")
265;  DefineXKBSym("asterisk","U00002A")
266;  DefineXKBSym("plus","U00002B")
267;  DefineXKBSym("comma","U00002C")
268;  DefineXKBSym("minus","U00002D")
269;  DefineXKBSym("period","U00002E")
270;  DefineXKBSym("slash","U00002F")
271;  DefineXKBSym("0","U000030")
272;  DefineXKBSym("1","U000031")
273;  DefineXKBSym("2","U000032")
274;  DefineXKBSym("3","U000033")
275;  DefineXKBSym("4","U000034")
276;  DefineXKBSym("5","U000035")
277;  DefineXKBSym("6","U000036")
278;  DefineXKBSym("7","U000037")
279;  DefineXKBSym("8","U000038")
280;  DefineXKBSym("9","U000039")
281;  DefineXKBSym("colon","U00003A")
282;  DefineXKBSym("semicolon","U00003B")
283;  DefineXKBSym("less","U00003C")
284;  DefineXKBSym("equal","U00003D")
285;  DefineXKBSym("greater","U00003E")
286;  DefineXKBSym("question","U00003F")
287;  DefineXKBSym("at","U000040")
288;  DefineXKBSym("A","U000041")
289;  DefineXKBSym("B","U000042")
290;  DefineXKBSym("C","U000043")
291;  DefineXKBSym("D","U000044")
292;  DefineXKBSym("E","U000045")
293;  DefineXKBSym("F","U000046")
294;  DefineXKBSym("G","U000047")
295;  DefineXKBSym("H","U000048")
296;  DefineXKBSym("I","U000049")
297;  DefineXKBSym("J","U00004A")
298;  DefineXKBSym("K","U00004B")
299;  DefineXKBSym("L","U00004C")
300;  DefineXKBSym("M","U00004D")
301;  DefineXKBSym("N","U00004E")
302;  DefineXKBSym("O","U00004F")
303;  DefineXKBSym("P","U000050")
304;  DefineXKBSym("Q","U000051")
305;  DefineXKBSym("R","U000052")
306;  DefineXKBSym("S","U000053")
307;  DefineXKBSym("T","U000054")
308;  DefineXKBSym("U","U000055")
309;  DefineXKBSym("V","U000056")
310;  DefineXKBSym("W","U000057")
311;  DefineXKBSym("X","U000058")
312;  DefineXKBSym("Y","U000059")
313;  DefineXKBSym("Z","U00005A")
314;  DefineXKBSym("bracketleft","U00005B")
315;  DefineXKBSym("backslash","U00005C")
316;  DefineXKBSym("bracketright","U00005D")
317;  DefineXKBSym("asciicircum","U00005E")
318;  DefineXKBSym("underscore","U00005F")
319;  DefineXKBSym("grave","U000060")
320;  DefineXKBSym("a","U000061")
321;  DefineXKBSym("b","U000062")
322;  DefineXKBSym("c","U000063")
323;  DefineXKBSym("d","U000064")
324;  DefineXKBSym("e","U000065")
325;  DefineXKBSym("f","U000066")
326;  DefineXKBSym("g","U000067")
327;  DefineXKBSym("h","U000068")
328;  DefineXKBSym("i","U000069")
329;  DefineXKBSym("j","U00006A")
330;  DefineXKBSym("k","U00006B")
331;  DefineXKBSym("l","U00006C")
332;  DefineXKBSym("m","U00006D")
333;  DefineXKBSym("n","U00006E")
334;  DefineXKBSym("o","U00006F")
335;  DefineXKBSym("p","U000070")
336;  DefineXKBSym("q","U000071")
337;  DefineXKBSym("r","U000072")
338;  DefineXKBSym("s","U000073")
339;  DefineXKBSym("t","U000074")
340;  DefineXKBSym("u","U000075")
341;  DefineXKBSym("v","U000076")
342;  DefineXKBSym("w","U000077")
343;  DefineXKBSym("x","U000078")
344;  DefineXKBSym("y","U000079")
345;  DefineXKBSym("z","U00007A")
346;  DefineXKBSym("braceleft","U00007B")
347;  DefineXKBSym("bar","U00007C")
348;  DefineXKBSym("braceright","U00007D")
349;  DefineXKBSym("asciitilde","U00007E")
350  DefineXKBSym("nobreakspace","U0000A0")
351  DefineXKBSym("exclamdown","¡")
352  DefineXKBSym("cent","¢")
353  DefineXKBSym("sterling","£")
354  DefineXKBSym("currency","¤")
355  DefineXKBSym("yen","¥")
356  DefineXKBSym("brokenbar","¦")
357  DefineXKBSym("section","§")
358  DefineXKBSym("diaeresis","¨")
359  DefineXKBSym("copyright","©")
360  DefineXKBSym("ordfeminine","ª")
361  DefineXKBSym("guillemotleft","«")
362  DefineXKBSym("notsign","¬")
363  DefineXKBSym("hyphen","­")
364  DefineXKBSym("registered","®")
365  DefineXKBSym("macron","¯")
366  DefineXKBSym("degree","°")
367  DefineXKBSym("plusminus","±")
368  DefineXKBSym("twosuperior","²")
369  DefineXKBSym("threesuperior","³")
370  DefineXKBSym("acute","´")
371  DefineXKBSym("mu","µ")
372  DefineXKBSym("paragraph","¶")
373  DefineXKBSym("periodcentered","·")
374  DefineXKBSym("cedilla","¸")
375  DefineXKBSym("onesuperior","¹")
376  DefineXKBSym("masculine","º")
377  DefineXKBSym("guillemotright","»")
378  DefineXKBSym("onequarter","¼")
379  DefineXKBSym("onehalf","½")
380  DefineXKBSym("threequarters","¾")
381  DefineXKBSym("questiondown","¿")
382  DefineXKBSym("Agrave","À")
383  DefineXKBSym("Aacute","Á")
384  DefineXKBSym("Acircumflex","Â")
385  DefineXKBSym("Atilde","Ã")
386  DefineXKBSym("Adiaeresis","Ä")
387  DefineXKBSym("Aring","Å")
388  DefineXKBSym("AE","Æ")
389  DefineXKBSym("Ccedilla","Ç")
390  DefineXKBSym("Egrave","È")
391  DefineXKBSym("Eacute","É")
392  DefineXKBSym("Ecircumflex","Ê")
393  DefineXKBSym("Ediaeresis","Ë")
394  DefineXKBSym("Igrave","Ì")
395  DefineXKBSym("Iacute","Í")
396  DefineXKBSym("Icircumflex","Î")
397  DefineXKBSym("Idiaeresis","Ï")
398  DefineXKBSym("ETH","Ð")
399  DefineXKBSym("Eth","Ð")                    ; deprecated
400  DefineXKBSym("Ntilde","Ñ")
401  DefineXKBSym("Ograve","Ò")
402  DefineXKBSym("Oacute","Ó")
403  DefineXKBSym("Ocircumflex","Ô")
404  DefineXKBSym("Otilde","Õ")
405  DefineXKBSym("Odiaeresis","Ö")
406  DefineXKBSym("multiply","×")
407  DefineXKBSym("Oslash","Ø")
408  DefineXKBSym("Ooblique","Ø")
409  DefineXKBSym("Ugrave","Ù")
410  DefineXKBSym("Uacute","Ú")
411  DefineXKBSym("Ucircumflex","Û")
412  DefineXKBSym("Udiaeresis","Ü")
413  DefineXKBSym("Yacute","Ý")
414  DefineXKBSym("THORN","Þ")
415  DefineXKBSym("Thorn","Þ")                  ; deprecated
416  DefineXKBSym("ssharp","ß")
417  DefineXKBSym("agrave","à")
418  DefineXKBSym("aacute","á")
419  DefineXKBSym("acircumflex","â")
420  DefineXKBSym("atilde","ã")
421  DefineXKBSym("adiaeresis","ä")
422  DefineXKBSym("aring","å")
423  DefineXKBSym("ae","æ")
424  DefineXKBSym("ccedilla","ç")
425  DefineXKBSym("egrave","è")
426  DefineXKBSym("eacute","é")
427  DefineXKBSym("ecircumflex","ê")
428  DefineXKBSym("ediaeresis","ë")
429  DefineXKBSym("igrave","ì")
430  DefineXKBSym("iacute","í")
431  DefineXKBSym("icircumflex","î")
432  DefineXKBSym("idiaeresis","ï")
433  DefineXKBSym("eth","ð")
434  DefineXKBSym("ntilde","ñ")
435  DefineXKBSym("ograve","ò")
436  DefineXKBSym("oacute","ó")
437  DefineXKBSym("ocircumflex","ô")
438  DefineXKBSym("otilde","õ")
439  DefineXKBSym("odiaeresis","ö")
440  DefineXKBSym("division","÷")
441  DefineXKBSym("oslash","ø")
442  DefineXKBSym("ooblique","ø")
443  DefineXKBSym("ugrave","ù")
444  DefineXKBSym("uacute","ú")
445  DefineXKBSym("ucircumflex","û")
446  DefineXKBSym("udiaeresis","ü")
447  DefineXKBSym("yacute","ý")
448  DefineXKBSym("thorn","þ")
449  DefineXKBSym("ydiaeresis","U0000FF")
450  DefineXKBSym("Aogonek","Ą")
451  DefineXKBSym("breve","˘")
452  DefineXKBSym("Lstroke","Ł")
453  DefineXKBSym("Lcaron","Ľ")
454  DefineXKBSym("Sacute","Ś")
455  DefineXKBSym("Scaron","Š")
456  DefineXKBSym("Scedilla","Ş")
457  DefineXKBSym("Tcaron","Ť")
458  DefineXKBSym("Zacute","Ź")
459  DefineXKBSym("Zcaron","Ž")
460  DefineXKBSym("Zabovedot","Ż")
461  DefineXKBSym("aogonek","ą")
462  DefineXKBSym("ogonek","˛")
463  DefineXKBSym("lstroke","ł")
464  DefineXKBSym("lcaron","ľ")
465  DefineXKBSym("sacute","ś")
466  DefineXKBSym("caron","ˇ")
467  DefineXKBSym("scaron","š")
468  DefineXKBSym("scedilla","ş")
469  DefineXKBSym("tcaron","ť")
470  DefineXKBSym("zacute","ź")
471  DefineXKBSym("doubleacute","˝")
472  DefineXKBSym("zcaron","ž")
473  DefineXKBSym("zabovedot","ż")
474  DefineXKBSym("Racute","Ŕ")
475  DefineXKBSym("Abreve","Ă")
476  DefineXKBSym("Lacute","Ĺ")
477  DefineXKBSym("Cacute","Ć")
478  DefineXKBSym("Ccaron","Č")
479  DefineXKBSym("Eogonek","Ę")
480  DefineXKBSym("Ecaron","Ě")
481  DefineXKBSym("Dcaron","Ď")
482  DefineXKBSym("Dstroke","Đ")
483  DefineXKBSym("Nacute","Ń")
484  DefineXKBSym("Ncaron","Ň")
485  DefineXKBSym("Odoubleacute","Ő")
486  DefineXKBSym("Rcaron","ř")
487  DefineXKBSym("Uring","Ů")
488  DefineXKBSym("Udoubleacute","Ű")
489  DefineXKBSym("Tcedilla","Ţ")
490  DefineXKBSym("racute","ŕ")
491  DefineXKBSym("abreve","ă")
492  DefineXKBSym("lacute","ĺ")
493  DefineXKBSym("cacute","ć")
494  DefineXKBSym("ccaron","č")
495  DefineXKBSym("eogonek","ę")
496  DefineXKBSym("ecaron","ě")
497  DefineXKBSym("dcaron","ď")
498  DefineXKBSym("dstroke","đ")
499  DefineXKBSym("nacute","ń")
500  DefineXKBSym("ncaron","ň")
501  DefineXKBSym("odoubleacute","ő")
502  DefineXKBSym("udoubleacute","ű")
503  DefineXKBSym("rcaron","ř")
504  DefineXKBSym("uring","ů")
505  DefineXKBSym("tcedilla","ţ")
506  DefineXKBSym("abovedot","˙")
507  DefineXKBSym("Hstroke","Ħ")
508  DefineXKBSym("Hcircumflex","Ĥ")
509  DefineXKBSym("Iabovedot","İ")
510  DefineXKBSym("Gbreve","Ğ")
511  DefineXKBSym("Jcircumflex","Ĵ")
512  DefineXKBSym("hstroke","ħ")
513  DefineXKBSym("hcircumflex","ĥ")
514  DefineXKBSym("idotless","ı")
515  DefineXKBSym("gbreve","ğ")
516  DefineXKBSym("jcircumflex","ĵ")
517  DefineXKBSym("Cabovedot","Ċ")
518  DefineXKBSym("Ccircumflex","Ĉ")
519  DefineXKBSym("Gabovedot","Ġ")
520  DefineXKBSym("Gcircumflex","Ĝ")
521  DefineXKBSym("Ubreve","Ŭ")
522  DefineXKBSym("Scircumflex","Ŝ")
523  DefineXKBSym("cabovedot","ċ")
524  DefineXKBSym("ccircumflex","ĉ")
525  DefineXKBSym("gabovedot","ġ")
526  DefineXKBSym("gcircumflex","ĝ")
527  DefineXKBSym("ubreve","ŭ")
528  DefineXKBSym("scircumflex","ŝ")
529  DefineXKBSym("kra","ĸ")
530  DefineXKBSym("Rcedilla","Ŗ")
531  DefineXKBSym("Itilde","Ĩ")
532  DefineXKBSym("Lcedilla","Ļ")
533  DefineXKBSym("Emacron","Ē")
534  DefineXKBSym("Gcedilla","Ģ")
535  DefineXKBSym("Tslash","Ŧ")
536  DefineXKBSym("rcedilla","ŗ")
537  DefineXKBSym("itilde","ĩ")
538  DefineXKBSym("lcedilla","ļ")
539  DefineXKBSym("emacron","ē")
540  DefineXKBSym("gcedilla","ģ")
541  DefineXKBSym("tslash","ŧ")
542  DefineXKBSym("ENG","Ŋ")
543  DefineXKBSym("eng","ŋ")
544  DefineXKBSym("Amacron","Ā")
545  DefineXKBSym("Iogonek","Į")
546  DefineXKBSym("Eabovedot","Ė")
547  DefineXKBSym("Imacron","Ī")
548  DefineXKBSym("Ncedilla","Ņ")
549  DefineXKBSym("Omacron","Ō")
550  DefineXKBSym("Kcedilla","Ķ")
551  DefineXKBSym("Uogonek","Ų")
552  DefineXKBSym("Utilde","Ũ")
553  DefineXKBSym("Umacron","Ū")
554  DefineXKBSym("amacron","ā")
555  DefineXKBSym("iogonek","į")
556  DefineXKBSym("eabovedot","ė")
557  DefineXKBSym("imacron","ī")
558  DefineXKBSym("ncedilla","ņ")
559  DefineXKBSym("omacron","ō")
560  DefineXKBSym("kcedilla","ķ")
561  DefineXKBSym("uogonek","ų")
562  DefineXKBSym("utilde","ũ")
563  DefineXKBSym("umacron","ū")
564  DefineXKBSym("Babovedot","Ḃ")
565  DefineXKBSym("babovedot","ḃ")
566  DefineXKBSym("Dabovedot","Ḋ")
567  DefineXKBSym("Wgrave","Ẁ")
568  DefineXKBSym("Wacute","Ẃ")
569  DefineXKBSym("dabovedot","ḋ")
570  DefineXKBSym("Ygrave","Ỳ")
571  DefineXKBSym("Fabovedot","Ḟ")
572  DefineXKBSym("fabovedot","ḟ")
573  DefineXKBSym("Mabovedot","Ṁ")
574  DefineXKBSym("mabovedot","ṁ")
575  DefineXKBSym("Pabovedot","Ṗ")
576  DefineXKBSym("wgrave","ẁ")
577  DefineXKBSym("pabovedot","ṗ")
578  DefineXKBSym("wacute","ẃ")
579  DefineXKBSym("Sabovedot","Ṡ")
580  DefineXKBSym("ygrave","ỳ")
581  DefineXKBSym("Wdiaeresis","Ẅ")
582  DefineXKBSym("wdiaeresis","ẅ")
583  DefineXKBSym("sabovedot","ṡ")
584  DefineXKBSym("Wcircumflex","Ŵ")
585  DefineXKBSym("Tabovedot","Ṫ")
586  DefineXKBSym("Ycircumflex","Ŷ")
587  DefineXKBSym("wcircumflex","ŵ")
588  DefineXKBSym("tabovedot","ṫ")
589  DefineXKBSym("ycircumflex","ŷ")
590  DefineXKBSym("OE","Œ")
591  DefineXKBSym("oe","œ")
592  DefineXKBSym("Ydiaeresis","Ÿ")
593  DefineXKBSym("overline","‾")
594  DefineXKBSym("kana_fullstop","。")
595  DefineXKBSym("kana_openingbracket","「")
596  DefineXKBSym("kana_closingbracket","」")
597  DefineXKBSym("kana_comma","、")
598  DefineXKBSym("kana_conjunctive","・")
599  DefineXKBSym("kana_WO","ヲ")
600  DefineXKBSym("kana_a","ァ")
601  DefineXKBSym("kana_i","ィ")
602  DefineXKBSym("kana_u","ゥ")
603  DefineXKBSym("kana_e","ェ")
604  DefineXKBSym("kana_o","ォ")
605  DefineXKBSym("kana_ya","ャ")
606  DefineXKBSym("kana_yu","ュ")
607  DefineXKBSym("kana_yo","ョ")
608  DefineXKBSym("kana_tsu","ッ")
609  DefineXKBSym("prolongedsound","ー")
610  DefineXKBSym("kana_A","ア")
611  DefineXKBSym("kana_I","イ")
612  DefineXKBSym("kana_U","ウ")
613  DefineXKBSym("kana_E","エ")
614  DefineXKBSym("kana_O","オ")
615  DefineXKBSym("kana_KA","カ")
616  DefineXKBSym("kana_KI","キ")
617  DefineXKBSym("kana_KU","ク")
618  DefineXKBSym("kana_KE","ケ")
619  DefineXKBSym("kana_KO","コ")
620  DefineXKBSym("kana_SA","サ")
621  DefineXKBSym("kana_SHI","シ")
622  DefineXKBSym("kana_SU","ス")
623  DefineXKBSym("kana_SE","セ")
624  DefineXKBSym("kana_SO","ソ")
625  DefineXKBSym("kana_TA","タ")
626  DefineXKBSym("kana_CHI","チ")
627  DefineXKBSym("kana_TSU","ツ")
628  DefineXKBSym("kana_TE","テ")
629  DefineXKBSym("kana_TO","ト")
630  DefineXKBSym("kana_NA","ナ")
631  DefineXKBSym("kana_NI","ニ")
632  DefineXKBSym("kana_NU","ヌ")
633  DefineXKBSym("kana_NE","ネ")
634  DefineXKBSym("kana_NO","ノ")
635  DefineXKBSym("kana_HA","ハ")
636  DefineXKBSym("kana_HI","ヒ")
637  DefineXKBSym("kana_FU","フ")
638  DefineXKBSym("kana_HE","ヘ")
639  DefineXKBSym("kana_HO","ホ")
640  DefineXKBSym("kana_MA","マ")
641  DefineXKBSym("kana_MI","ミ")
642  DefineXKBSym("kana_MU","ム")
643  DefineXKBSym("kana_ME","メ")
644  DefineXKBSym("kana_MO","モ")
645  DefineXKBSym("kana_YA","ヤ")
646  DefineXKBSym("kana_YU","ユ")
647  DefineXKBSym("kana_YO","ヨ")
648  DefineXKBSym("kana_RA","ラ")
649  DefineXKBSym("kana_RI","リ")
650  DefineXKBSym("kana_RU","ル")
651  DefineXKBSym("kana_RE","レ")
652  DefineXKBSym("kana_RO","ロ")
653  DefineXKBSym("kana_WA","ワ")
654  DefineXKBSym("kana_N","ン")
655  DefineXKBSym("voicedsound","゛")
656  DefineXKBSym("semivoicedsound","゜")
657  DefineXKBSym("Farsi_0","۰")
658  DefineXKBSym("Farsi_1","۱")
659  DefineXKBSym("Farsi_2","۲")
660  DefineXKBSym("Farsi_3","۳")
661  DefineXKBSym("Farsi_4","۴")
662  DefineXKBSym("Farsi_5","۵")
663  DefineXKBSym("Farsi_6","۶")
664  DefineXKBSym("Farsi_7","۷")
665  DefineXKBSym("Farsi_8","۸")
666  DefineXKBSym("Farsi_9","۹")
667  DefineXKBSym("Arabic_percent","٪")
668  DefineXKBSym("Arabic_superscript_alef","ٰ")
669  DefineXKBSym("Arabic_tteh","ٹ")
670  DefineXKBSym("Arabic_peh","پ")
671  DefineXKBSym("Arabic_tcheh","چ")
672  DefineXKBSym("Arabic_ddal","ڈ")
673  DefineXKBSym("Arabic_rreh","ڑ")
674  DefineXKBSym("Arabic_comma","،")
675  DefineXKBSym("Arabic_fullstop","۔")
676  DefineXKBSym("Arabic_0","٠")
677  DefineXKBSym("Arabic_1","١")
678  DefineXKBSym("Arabic_2","٢")
679  DefineXKBSym("Arabic_3","٣")
680  DefineXKBSym("Arabic_4","٤")
681  DefineXKBSym("Arabic_5","٥")
682  DefineXKBSym("Arabic_6","٦")
683  DefineXKBSym("Arabic_7","٧")
684  DefineXKBSym("Arabic_8","٨")
685  DefineXKBSym("Arabic_9","٩")
686  DefineXKBSym("Arabic_semicolon","؛")
687  DefineXKBSym("Arabic_question_mark","؟")
688  DefineXKBSym("Arabic_hamza","ء")
689  DefineXKBSym("Arabic_maddaonalef","آ")
690  DefineXKBSym("Arabic_hamzaonalef","أ")
691  DefineXKBSym("Arabic_hamzaonwaw","ؤ")
692  DefineXKBSym("Arabic_hamzaunderalef","إ")
693  DefineXKBSym("Arabic_hamzaonyeh","ئ")
694  DefineXKBSym("Arabic_alef","ا")
695  DefineXKBSym("Arabic_beh","ب")
696  DefineXKBSym("Arabic_tehmarbuta","ة")
697  DefineXKBSym("Arabic_teh","ت")
698  DefineXKBSym("Arabic_theh","ث")
699  DefineXKBSym("Arabic_jeem","ج")
700  DefineXKBSym("Arabic_hah","ح")
701  DefineXKBSym("Arabic_khah","خ")
702  DefineXKBSym("Arabic_dal","د")
703  DefineXKBSym("Arabic_thal","ذ")
704  DefineXKBSym("Arabic_ra","ر")
705  DefineXKBSym("Arabic_zain","ز")
706  DefineXKBSym("Arabic_seen","س")
707  DefineXKBSym("Arabic_sheen","ش")
708  DefineXKBSym("Arabic_sad","ص")
709  DefineXKBSym("Arabic_dad","ض")
710  DefineXKBSym("Arabic_tah","ط")
711  DefineXKBSym("Arabic_zah","ظ")
712  DefineXKBSym("Arabic_ain","ع")
713  DefineXKBSym("Arabic_ghain","غ")
714  DefineXKBSym("Arabic_tatweel","ـ")
715  DefineXKBSym("Arabic_feh","ف")
716  DefineXKBSym("Arabic_qaf","ق")
717  DefineXKBSym("Arabic_kaf","ك")
718  DefineXKBSym("Arabic_lam","ل")
719  DefineXKBSym("Arabic_meem","م")
720  DefineXKBSym("Arabic_noon","ن")
721  DefineXKBSym("Arabic_ha","ه")
722  DefineXKBSym("Arabic_waw","و")
723  DefineXKBSym("Arabic_alefmaksura","ى")
724  DefineXKBSym("Arabic_yeh","ي")
725  DefineXKBSym("Arabic_fathatan","ً")
726  DefineXKBSym("Arabic_dammatan","ٌ")
727  DefineXKBSym("Arabic_kasratan","ٍ")
728  DefineXKBSym("Arabic_fatha","َ")
729  DefineXKBSym("Arabic_damma","ُ")
730  DefineXKBSym("Arabic_kasra","ِ")
731  DefineXKBSym("Arabic_shadda","ّ")
732  DefineXKBSym("Arabic_sukun","ْ")
733  DefineXKBSym("Arabic_madda_above","ٓ")
734  DefineXKBSym("Arabic_hamza_above","ٔ")
735  DefineXKBSym("Arabic_hamza_below","ٕ")
736  DefineXKBSym("Arabic_jeh","ژ")
737  DefineXKBSym("Arabic_veh","ڤ")
738  DefineXKBSym("Arabic_keheh","ک")
739  DefineXKBSym("Arabic_gaf","گ")
740  DefineXKBSym("Arabic_noon_ghunna","ں")
741  DefineXKBSym("Arabic_heh_doachashmee","ھ")
742  DefineXKBSym("Farsi_yeh","ی")
743  DefineXKBSym("Arabic_farsi_yeh","ی")
744  DefineXKBSym("Arabic_yeh_baree","ے")
745  DefineXKBSym("Arabic_heh_goal","ہ")
746  DefineXKBSym("Cyrillic_GHE_bar","Ғ")
747  DefineXKBSym("Cyrillic_ghe_bar","ғ")
748  DefineXKBSym("Cyrillic_ZHE_descender","Җ")
749  DefineXKBSym("Cyrillic_zhe_descender","җ")
750  DefineXKBSym("Cyrillic_KA_descender","Қ")
751  DefineXKBSym("Cyrillic_ka_descender","қ")
752  DefineXKBSym("Cyrillic_KA_vertstroke","Ҝ")
753  DefineXKBSym("Cyrillic_ka_vertstroke","ҝ")
754  DefineXKBSym("Cyrillic_EN_descender","Ң")
755  DefineXKBSym("Cyrillic_en_descender","ң")
756  DefineXKBSym("Cyrillic_U_straight","Ү")
757  DefineXKBSym("Cyrillic_u_straight","ү")
758  DefineXKBSym("Cyrillic_U_straight_bar","Ұ")
759  DefineXKBSym("Cyrillic_u_straight_bar","ұ")
760  DefineXKBSym("Cyrillic_HA_descender","Ҳ")
761  DefineXKBSym("Cyrillic_ha_descender","ҳ")
762  DefineXKBSym("Cyrillic_CHE_descender","Ҷ")
763  DefineXKBSym("Cyrillic_che_descender","ҷ")
764  DefineXKBSym("Cyrillic_CHE_vertstroke","Ҹ")
765  DefineXKBSym("Cyrillic_che_vertstroke","ҹ")
766  DefineXKBSym("Cyrillic_SHHA","Һ")
767  DefineXKBSym("Cyrillic_shha","һ")
768  DefineXKBSym("Cyrillic_SCHWA","Ә")
769  DefineXKBSym("Cyrillic_schwa","ә")
770  DefineXKBSym("Cyrillic_I_macron","Ӣ")
771  DefineXKBSym("Cyrillic_i_macron","ӣ")
772  DefineXKBSym("Cyrillic_O_bar","Ө")
773  DefineXKBSym("Cyrillic_o_bar","ө")
774  DefineXKBSym("Cyrillic_U_macron","Ӯ")
775  DefineXKBSym("Cyrillic_u_macron","ӯ")
776  DefineXKBSym("Serbian_dje","ђ")
777  DefineXKBSym("Macedonia_gje","ѓ")
778  DefineXKBSym("Cyrillic_io","ё")
779  DefineXKBSym("Ukrainian_ie","є")
780  DefineXKBSym("Macedonia_dse","ѕ")
781  DefineXKBSym("Ukrainian_i","і")
782  DefineXKBSym("Ukrainian_yi","ї")
783  DefineXKBSym("Cyrillic_je","ј")
784  DefineXKBSym("Cyrillic_lje","љ")
785  DefineXKBSym("Cyrillic_nje","њ")
786  DefineXKBSym("Serbian_tshe","ћ")
787  DefineXKBSym("Macedonia_kje","ќ")
788  DefineXKBSym("Ukrainian_ghe_with_upturn","ґ")
789  DefineXKBSym("Byelorussian_shortu","ў")
790  DefineXKBSym("Cyrillic_dzhe","џ")
791  DefineXKBSym("numerosign","№")
792  DefineXKBSym("Serbian_DJE","Ђ")
793  DefineXKBSym("Macedonia_GJE","Ѓ")
794  DefineXKBSym("Cyrillic_IO","Ё")
795  DefineXKBSym("Ukrainian_IE","Є")
796  DefineXKBSym("Macedonia_DSE","Ѕ")
797  DefineXKBSym("Ukrainian_I","І")
798  DefineXKBSym("Ukrainian_YI","Ї")
799  DefineXKBSym("Cyrillic_JE","Ј")
800  DefineXKBSym("Cyrillic_LJE","Љ")
801  DefineXKBSym("Cyrillic_NJE","Њ")
802  DefineXKBSym("Serbian_TSHE","Ћ")
803  DefineXKBSym("Macedonia_KJE","Ќ")
804  DefineXKBSym("Ukrainian_GHE_WITH_UPTURN","Ґ")
805  DefineXKBSym("Byelorussian_SHORTU","Ў")
806  DefineXKBSym("Cyrillic_DZHE","Џ")
807  DefineXKBSym("Cyrillic_yu","ю")
808  DefineXKBSym("Cyrillic_a","а")
809  DefineXKBSym("Cyrillic_be","б")
810  DefineXKBSym("Cyrillic_tse","ц")
811  DefineXKBSym("Cyrillic_de","д")
812  DefineXKBSym("Cyrillic_ie","е")
813  DefineXKBSym("Cyrillic_ef","ф")
814  DefineXKBSym("Cyrillic_ghe","г")
815  DefineXKBSym("Cyrillic_ha","х")
816  DefineXKBSym("Cyrillic_i","и")
817  DefineXKBSym("Cyrillic_shorti","й")
818  DefineXKBSym("Cyrillic_ka","к")
819  DefineXKBSym("Cyrillic_el","л")
820  DefineXKBSym("Cyrillic_em","м")
821  DefineXKBSym("Cyrillic_en","н")
822  DefineXKBSym("Cyrillic_o","о")
823  DefineXKBSym("Cyrillic_pe","п")
824  DefineXKBSym("Cyrillic_ya","я")
825  DefineXKBSym("Cyrillic_er","р")
826  DefineXKBSym("Cyrillic_es","с")
827  DefineXKBSym("Cyrillic_te","т")
828  DefineXKBSym("Cyrillic_u","у")
829  DefineXKBSym("Cyrillic_zhe","ж")
830  DefineXKBSym("Cyrillic_ve","в")
831  DefineXKBSym("Cyrillic_softsign","ь")
832  DefineXKBSym("Cyrillic_yeru","ы")
833  DefineXKBSym("Cyrillic_ze","з")
834  DefineXKBSym("Cyrillic_sha","ш")
835  DefineXKBSym("Cyrillic_e","э")
836  DefineXKBSym("Cyrillic_shcha","щ")
837  DefineXKBSym("Cyrillic_che","ч")
838  DefineXKBSym("Cyrillic_hardsign","ъ")
839  DefineXKBSym("Cyrillic_YU","Ю")
840  DefineXKBSym("Cyrillic_A","А")
841  DefineXKBSym("Cyrillic_BE","Б")
842  DefineXKBSym("Cyrillic_TSE","Ц")
843  DefineXKBSym("Cyrillic_DE","Д")
844  DefineXKBSym("Cyrillic_IE","Е")
845  DefineXKBSym("Cyrillic_EF","Ф")
846  DefineXKBSym("Cyrillic_GHE","Г")
847  DefineXKBSym("Cyrillic_HA","Х")
848  DefineXKBSym("Cyrillic_I","И")
849  DefineXKBSym("Cyrillic_SHORTI","Й")
850  DefineXKBSym("Cyrillic_KA","К")
851  DefineXKBSym("Cyrillic_EL","Л")
852  DefineXKBSym("Cyrillic_EM","М")
853  DefineXKBSym("Cyrillic_EN","Н")
854  DefineXKBSym("Cyrillic_O","О")
855  DefineXKBSym("Cyrillic_PE","П")
856  DefineXKBSym("Cyrillic_YA","Я")
857  DefineXKBSym("Cyrillic_ER","Р")
858  DefineXKBSym("Cyrillic_ES","С")
859  DefineXKBSym("Cyrillic_TE","Т")
860  DefineXKBSym("Cyrillic_U","У")
861  DefineXKBSym("Cyrillic_ZHE","Ж")
862  DefineXKBSym("Cyrillic_VE","В")
863  DefineXKBSym("Cyrillic_SOFTSIGN","Ь")
864  DefineXKBSym("Cyrillic_YERU","Ы")
865  DefineXKBSym("Cyrillic_ZE","З")
866  DefineXKBSym("Cyrillic_SHA","Ш")
867  DefineXKBSym("Cyrillic_E","Э")
868  DefineXKBSym("Cyrillic_SHCHA","Щ")
869  DefineXKBSym("Cyrillic_CHE","Ч")
870  DefineXKBSym("Cyrillic_HARDSIGN","Ъ")
871  DefineXKBSym("Greek_ALPHAaccent","Ά")
872  DefineXKBSym("Greek_EPSILONaccent","Έ")
873  DefineXKBSym("Greek_ETAaccent","Ή")
874  DefineXKBSym("Greek_IOTAaccent","Ί")
875  DefineXKBSym("Greek_IOTAdieresis","Ϊ")
876  DefineXKBSym("Greek_OMICRONaccent","Ό")
877  DefineXKBSym("Greek_UPSILONaccent","Ύ")
878  DefineXKBSym("Greek_UPSILONdieresis","Ϋ")
879  DefineXKBSym("Greek_OMEGAaccent","Ώ")
880  DefineXKBSym("Greek_accentdieresis","΅")
881  DefineXKBSym("Greek_horizbar","―")
882  DefineXKBSym("Greek_alphaaccent","ά")
883  DefineXKBSym("Greek_epsilonaccent","έ")
884  DefineXKBSym("Greek_etaaccent","ή")
885  DefineXKBSym("Greek_iotaaccent","ί")
886  DefineXKBSym("Greek_iotadieresis","ϊ")
887  DefineXKBSym("Greek_iotaaccentdieresis","ΐ")
888  DefineXKBSym("Greek_omicronaccent","ό")
889  DefineXKBSym("Greek_upsilonaccent","ύ")
890  DefineXKBSym("Greek_upsilondieresis","ϋ")
891  DefineXKBSym("Greek_upsilonaccentdieresis","ΰ")
892  DefineXKBSym("Greek_omegaaccent","ώ")
893  DefineXKBSym("Greek_ALPHA","Α")
894  DefineXKBSym("Greek_BETA","Β")
895  DefineXKBSym("Greek_GAMMA","Γ")
896  DefineXKBSym("Greek_DELTA","Δ")
897  DefineXKBSym("Greek_EPSILON","Ε")
898  DefineXKBSym("Greek_ZETA","Ζ")
899  DefineXKBSym("Greek_ETA","Η")
900  DefineXKBSym("Greek_THETA","Θ")
901  DefineXKBSym("Greek_IOTA","Ι")
902  DefineXKBSym("Greek_KAPPA","Κ")
903  DefineXKBSym("Greek_LAMDA","Λ")
904  DefineXKBSym("Greek_LAMBDA","Λ")
905  DefineXKBSym("Greek_MU","Μ")
906  DefineXKBSym("Greek_NU","Ν")
907  DefineXKBSym("Greek_XI","Ξ")
908  DefineXKBSym("Greek_OMICRON","Ο")
909  DefineXKBSym("Greek_PI","Π")
910  DefineXKBSym("Greek_RHO","Ρ")
911  DefineXKBSym("Greek_SIGMA","Σ")
912  DefineXKBSym("Greek_TAU","Τ")
913  DefineXKBSym("Greek_UPSILON","Υ")
914  DefineXKBSym("Greek_PHI","Φ")
915  DefineXKBSym("Greek_CHI","Χ")
916  DefineXKBSym("Greek_PSI","Ψ")
917  DefineXKBSym("Greek_OMEGA","Ω")
918  DefineXKBSym("Greek_alpha","α")
919  DefineXKBSym("Greek_beta","β")
920  DefineXKBSym("Greek_gamma","γ")
921  DefineXKBSym("Greek_delta","δ")
922  DefineXKBSym("Greek_epsilon","ε")
923  DefineXKBSym("Greek_zeta","ζ")
924  DefineXKBSym("Greek_eta","η")
925  DefineXKBSym("Greek_theta","θ")
926  DefineXKBSym("Greek_iota","ι")
927  DefineXKBSym("Greek_kappa","κ")
928  DefineXKBSym("Greek_lamda","λ")
929  DefineXKBSym("Greek_lambda","λ")
930  DefineXKBSym("Greek_mu","μ")
931  DefineXKBSym("Greek_nu","ν")
932  DefineXKBSym("Greek_xi","ξ")
933  DefineXKBSym("Greek_omicron","ο")
934  DefineXKBSym("Greek_pi","π")
935  DefineXKBSym("Greek_rho","ρ")
936  DefineXKBSym("Greek_sigma","σ")
937  DefineXKBSym("Greek_finalsmallsigma","ς")
938  DefineXKBSym("Greek_tau","τ")
939  DefineXKBSym("Greek_upsilon","υ")
940  DefineXKBSym("Greek_phi","φ")
941  DefineXKBSym("Greek_chi","χ")
942  DefineXKBSym("Greek_psi","ψ")
943  DefineXKBSym("Greek_omega","ω")
944  DefineXKBSym("leftradical","⎷")
945  DefineXKBSym("topleftradical","┌")
946  DefineXKBSym("horizconnector","─")
947  DefineXKBSym("topintegral","⌠")
948  DefineXKBSym("botintegral","⌡")
949  DefineXKBSym("vertconnector","│")
950  DefineXKBSym("topleftsqbracket","⎡")
951  DefineXKBSym("botleftsqbracket","⎣")
952  DefineXKBSym("toprightsqbracket","⎤")
953  DefineXKBSym("botrightsqbracket","⎦")
954  DefineXKBSym("topleftparens","⎛")
955  DefineXKBSym("botleftparens","⎝")
956  DefineXKBSym("toprightparens","⎞")
957  DefineXKBSym("botrightparens","⎠")
958  DefineXKBSym("leftmiddlecurlybrace","⎨")
959  DefineXKBSym("rightmiddlecurlybrace","⎬")
960  DefineXKBSym("lessthanequal","≤")
961  DefineXKBSym("notequal","≠")
962  DefineXKBSym("greaterthanequal","≥")
963  DefineXKBSym("integral","∫")
964  DefineXKBSym("therefore","∴")
965  DefineXKBSym("variation","∝")
966  DefineXKBSym("infinity","∞")
967  DefineXKBSym("nabla","∇")
968  DefineXKBSym("approximate","∼")
969  DefineXKBSym("similarequal","≃")
970  DefineXKBSym("ifonlyif","⇔")
971  DefineXKBSym("implies","⇒")
972  DefineXKBSym("identical","≡")
973  DefineXKBSym("radical","√")
974  DefineXKBSym("includedin","⊂")
975  DefineXKBSym("includes","⊃")
976  DefineXKBSym("intersection","∩")
977  DefineXKBSym("union","∪")
978  DefineXKBSym("logicaland","∧")
979  DefineXKBSym("logicalor","∨")
980  DefineXKBSym("partialderivative","∂")
981  DefineXKBSym("function","ƒ")
982  DefineXKBSym("leftarrow","←")
983  DefineXKBSym("uparrow","↑")
984  DefineXKBSym("rightarrow","→")
985  DefineXKBSym("downarrow","↓")
986  DefineXKBSym("soliddiamond","◆")
987  DefineXKBSym("checkerboard","▒")
988  DefineXKBSym("ht","␉")
989  DefineXKBSym("ff","␌")
990  DefineXKBSym("cr","␍")
991  DefineXKBSym("lf","␊")
992  DefineXKBSym("nl","␤")
993  DefineXKBSym("vt","␋")
994  DefineXKBSym("lowrightcorner","┘")
995  DefineXKBSym("uprightcorner","┐")
996  DefineXKBSym("upleftcorner","┌")
997  DefineXKBSym("lowleftcorner","└")
998  DefineXKBSym("crossinglines","┼")
999  DefineXKBSym("horizlinescan1","⎺")
1000  DefineXKBSym("horizlinescan3","⎻")
1001  DefineXKBSym("horizlinescan5","─")
1002  DefineXKBSym("horizlinescan7","⎼")
1003  DefineXKBSym("horizlinescan9","⎽")
1004  DefineXKBSym("leftt","├")
1005  DefineXKBSym("rightt","┤")
1006  DefineXKBSym("bott","┴")
1007  DefineXKBSym("topt","┬")
1008  DefineXKBSym("vertbar","│")
1009  DefineXKBSym("emspace"," ")
1010  DefineXKBSym("enspace"," ")
1011  DefineXKBSym("em3space"," ")
1012  DefineXKBSym("em4space"," ")
1013  DefineXKBSym("digitspace"," ")
1014  DefineXKBSym("punctspace"," ")
1015  DefineXKBSym("thinspace"," ")
1016  DefineXKBSym("hairspace"," ")
1017  DefineXKBSym("emdash","—")
1018  DefineXKBSym("endash","–")
1019  DefineXKBSym("signifblank","␣")
1020  DefineXKBSym("ellipsis","…")
1021  DefineXKBSym("doubbaselinedot","‥")
1022  DefineXKBSym("onethird","⅓")
1023  DefineXKBSym("twothirds","⅔")
1024  DefineXKBSym("onefifth","⅕")
1025  DefineXKBSym("twofifths","⅖")
1026  DefineXKBSym("threefifths","⅗")
1027  DefineXKBSym("fourfifths","⅘")
1028  DefineXKBSym("onesixth","⅙")
1029  DefineXKBSym("fivesixths","⅚")
1030  DefineXKBSym("careof","℅")
1031  DefineXKBSym("figdash","‒")
1032  DefineXKBSym("leftanglebracket","⟨")
1033  DefineXKBSym("decimalpoint",".")
1034  DefineXKBSym("rightanglebracket","⟩")
1035  DefineXKBSym("oneeighth","⅛")
1036  DefineXKBSym("threeeighths","⅜")
1037  DefineXKBSym("fiveeighths","⅝")
1038  DefineXKBSym("seveneighths","⅞")
1039  DefineXKBSym("trademark","™")
1040  DefineXKBSym("signaturemark","☓")
1041  DefineXKBSym("leftopentriangle","◁")
1042  DefineXKBSym("rightopentriangle","▷")
1043  DefineXKBSym("emopencircle","○")
1044  DefineXKBSym("emopenrectangle","▯")
1045  DefineXKBSym("leftsinglequotemark","‘")
1046  DefineXKBSym("rightsinglequotemark","’")
1047  DefineXKBSym("leftdoublequotemark","“")
1048  DefineXKBSym("rightdoublequotemark","”")
1049  DefineXKBSym("prescription","℞")
1050  DefineXKBSym("minutes","′")
1051  DefineXKBSym("seconds","″")
1052  DefineXKBSym("latincross","✝")
1053  DefineXKBSym("filledrectbullet","▬")
1054  DefineXKBSym("filledlefttribullet","◀")
1055  DefineXKBSym("filledrighttribullet","▶")
1056  DefineXKBSym("emfilledcircle","●")
1057  DefineXKBSym("emfilledrect","▮")
1058  DefineXKBSym("enopencircbullet","◦")
1059  DefineXKBSym("enopensquarebullet","▫")
1060  DefineXKBSym("openrectbullet","▭")
1061  DefineXKBSym("opentribulletup","△")
1062  DefineXKBSym("opentribulletdown","▽")
1063  DefineXKBSym("openstar","☆")
1064  DefineXKBSym("enfilledcircbullet","•")
1065  DefineXKBSym("enfilledsqbullet","▪")
1066  DefineXKBSym("filledtribulletup","▲")
1067  DefineXKBSym("filledtribulletdown","▼")
1068  DefineXKBSym("leftpointer","☜")
1069  DefineXKBSym("rightpointer","☞")
1070  DefineXKBSym("club","♣")
1071  DefineXKBSym("diamond","♦")
1072  DefineXKBSym("heart","♥")
1073  DefineXKBSym("maltesecross","✠")
1074  DefineXKBSym("dagger","†")
1075  DefineXKBSym("doubledagger","‡")
1076  DefineXKBSym("checkmark","✓")
1077  DefineXKBSym("ballotcross","✗")
1078  DefineXKBSym("musicalsharp","♯")
1079  DefineXKBSym("musicalflat","♭")
1080  DefineXKBSym("malesymbol","♂")
1081  DefineXKBSym("femalesymbol","♀")
1082  DefineXKBSym("telephone","☎")
1083  DefineXKBSym("telephonerecorder","⌕")
1084  DefineXKBSym("phonographcopyright","℗")
1085  DefineXKBSym("caret","‸")
1086  DefineXKBSym("singlelowquotemark","‚")
1087  DefineXKBSym("doublelowquotemark","„")
1088  DefineXKBSym("leftcaret","<")
1089  DefineXKBSym("rightcaret",">")
1090  DefineXKBSym("downcaret","∨")
1091  DefineXKBSym("upcaret","∧")
1092  DefineXKBSym("overbar","¯")
1093  DefineXKBSym("downtack","⊥")
1094  DefineXKBSym("upshoe","∩")
1095  DefineXKBSym("downstile","⌊")
1096  DefineXKBSym("underbar","_")
1097  DefineXKBSym("jot","∘")
1098  DefineXKBSym("quad","⎕")
1099  DefineXKBSym("uptack","⊤")
1100  DefineXKBSym("circle","○")
1101  DefineXKBSym("upstile","⌈")
1102  DefineXKBSym("downshoe","∪")
1103  DefineXKBSym("rightshoe","⊃")
1104  DefineXKBSym("leftshoe","⊂")
1105  DefineXKBSym("lefttack","⊢")
1106  DefineXKBSym("righttack","⊣")
1107  DefineXKBSym("hebrew_doublelowline","‗")
1108  DefineXKBSym("hebrew_aleph","א")
1109  DefineXKBSym("hebrew_bet","ב")
1110  DefineXKBSym("hebrew_beth","ב")                     ; deprecated
1111  DefineXKBSym("hebrew_gimel","ג")
1112  DefineXKBSym("hebrew_gimmel","ג")                   ; deprecated
1113  DefineXKBSym("hebrew_dalet","ד")
1114  DefineXKBSym("hebrew_daleth","ד")                   ; deprecated
1115  DefineXKBSym("hebrew_he","ה")
1116  DefineXKBSym("hebrew_waw","ו")
1117  DefineXKBSym("hebrew_zain","ז")
1118  DefineXKBSym("hebrew_zayin","ז")                    ; deprecated
1119  DefineXKBSym("hebrew_chet","ח")
1120  DefineXKBSym("hebrew_het","ח")                      ; deprecated
1121  DefineXKBSym("hebrew_tet","ט")
1122  DefineXKBSym("hebrew_teth","ט")                     ; deprecated
1123  DefineXKBSym("hebrew_yod","י")
1124  DefineXKBSym("hebrew_finalkaph","ך")
1125  DefineXKBSym("hebrew_kaph","כ")
1126  DefineXKBSym("hebrew_lamed","ל")
1127  DefineXKBSym("hebrew_finalmem","ם")
1128  DefineXKBSym("hebrew_mem","מ")
1129  DefineXKBSym("hebrew_finalnun","ן")
1130  DefineXKBSym("hebrew_nun","נ")
1131  DefineXKBSym("hebrew_samech","ס")
1132  DefineXKBSym("hebrew_samekh","ס")                   ; deprecated
1133  DefineXKBSym("hebrew_ayin","ע2")
1134  DefineXKBSym("hebrew_finalpe","ף")
1135  DefineXKBSym("hebrew_pe","פ")
1136  DefineXKBSym("hebrew_finalzade","ץ")
1137  DefineXKBSym("hebrew_finalzadi","ץ")                ; deprecated
1138  DefineXKBSym("hebrew_zade","צ")
1139  DefineXKBSym("hebrew_zadi","צ")                     ; deprecated
1140  DefineXKBSym("hebrew_qoph","ק")
1141  DefineXKBSym("hebrew_kuf","ק")                      ; deprecated
1142  DefineXKBSym("hebrew_resh","ר")
1143  DefineXKBSym("hebrew_shin","ש")
1144  DefineXKBSym("hebrew_taw","ת")
1145  DefineXKBSym("hebrew_taf","ת")                      ; deprecated
1146  DefineXKBSym("Thai_kokai","ก")
1147  DefineXKBSym("Thai_khokhai","ข")
1148  DefineXKBSym("Thai_khokhuat","ฃ")
1149  DefineXKBSym("Thai_khokhwai","ค")
1150  DefineXKBSym("Thai_khokhon","ฅ")
1151  DefineXKBSym("Thai_khorakhang","ฆ")
1152  DefineXKBSym("Thai_ngongu","ง")
1153  DefineXKBSym("Thai_chochan","จ")
1154  DefineXKBSym("Thai_choching","ฉ")
1155  DefineXKBSym("Thai_chochang","ช")
1156  DefineXKBSym("Thai_soso","ซ")
1157  DefineXKBSym("Thai_chochoe","ฌ")
1158  DefineXKBSym("Thai_yoying","ญ")
1159  DefineXKBSym("Thai_dochada","ฎ")
1160  DefineXKBSym("Thai_topatak","ฏ")
1161  DefineXKBSym("Thai_thothan","ฐ")
1162  DefineXKBSym("Thai_thonangmontho","ฑ")
1163  DefineXKBSym("Thai_thophuthao","ฒ")
1164  DefineXKBSym("Thai_nonen","ณ")
1165  DefineXKBSym("Thai_dodek","ด")
1166  DefineXKBSym("Thai_totao","ต")
1167  DefineXKBSym("Thai_thothung","ถ")
1168  DefineXKBSym("Thai_thothahan","ท")
1169  DefineXKBSym("Thai_thothong","ธ")
1170  DefineXKBSym("Thai_nonu","น")
1171  DefineXKBSym("Thai_bobaimai","บ")
1172  DefineXKBSym("Thai_popla","ป")
1173  DefineXKBSym("Thai_phophung","ผ")
1174  DefineXKBSym("Thai_fofa","ฝ")
1175  DefineXKBSym("Thai_phophan","พ")
1176  DefineXKBSym("Thai_fofan","ฟ")
1177  DefineXKBSym("Thai_phosamphao","ภ")
1178  DefineXKBSym("Thai_moma","ม")
1179  DefineXKBSym("Thai_yoyak","ย")
1180  DefineXKBSym("Thai_rorua","ร")
1181  DefineXKBSym("Thai_ru","ฤ")
1182  DefineXKBSym("Thai_loling","ล")
1183  DefineXKBSym("Thai_lu","ฦ")
1184  DefineXKBSym("Thai_wowaen","ว")
1185  DefineXKBSym("Thai_sosala","ศ")
1186  DefineXKBSym("Thai_sorusi","ษ")
1187  DefineXKBSym("Thai_sosua","ส")
1188  DefineXKBSym("Thai_hohip","ห")
1189  DefineXKBSym("Thai_lochula","ฬ")
1190  DefineXKBSym("Thai_oang","อ")
1191  DefineXKBSym("Thai_honokhuk","ฮ")
1192  DefineXKBSym("Thai_paiyannoi","ฯ")
1193  DefineXKBSym("Thai_saraa","ะ")
1194  DefineXKBSym("Thai_maihanakat","ั")
1195  DefineXKBSym("Thai_saraaa","า")
1196  DefineXKBSym("Thai_saraam","ำ")
1197  DefineXKBSym("Thai_sarai","ิ")
1198  DefineXKBSym("Thai_saraii","ี")
1199  DefineXKBSym("Thai_saraue","ึ")
1200  DefineXKBSym("Thai_sarauee","ื")
1201  DefineXKBSym("Thai_sarau","ุ")
1202  DefineXKBSym("Thai_sarauu","ู")
1203  DefineXKBSym("Thai_phinthu","ฺ")
1204  DefineXKBSym("Thai_baht","฿")
1205  DefineXKBSym("Thai_sarae","เ")
1206  DefineXKBSym("Thai_saraae","แ")
1207  DefineXKBSym("Thai_sarao","โ")
1208  DefineXKBSym("Thai_saraaimaimuan","ใ")
1209  DefineXKBSym("Thai_saraaimaimalai","ไ")
1210  DefineXKBSym("Thai_lakkhangyao","ๅ")
1211  DefineXKBSym("Thai_maiyamok","ๆ")
1212  DefineXKBSym("Thai_maitaikhu","็")
1213  DefineXKBSym("Thai_maiek","่")
1214  DefineXKBSym("Thai_maitho","้")
1215  DefineXKBSym("Thai_maitri","๊")
1216  DefineXKBSym("Thai_maichattawa","๋")
1217  DefineXKBSym("Thai_thanthakhat","์")
1218  DefineXKBSym("Thai_nikhahit","ํ")
1219  DefineXKBSym("Thai_leksun","๐")
1220  DefineXKBSym("Thai_leknung","๑")
1221  DefineXKBSym("Thai_leksong","๒")
1222  DefineXKBSym("Thai_leksam","๓")
1223  DefineXKBSym("Thai_leksi","๔")
1224  DefineXKBSym("Thai_lekha","๕")
1225  DefineXKBSym("Thai_lekhok","๖")
1226  DefineXKBSym("Thai_lekchet","๗")
1227  DefineXKBSym("Thai_lekpaet","๘")
1228  DefineXKBSym("Thai_lekkao","๙")
1229  DefineXKBSym("Korean_Won","₩")
1230  DefineXKBSym("Armenian_ligature_ew","և")
1231  DefineXKBSym("Armenian_full_stop","։")
1232  DefineXKBSym("Armenian_verjaket","։")
1233  DefineXKBSym("Armenian_separation_mark","՝")
1234  DefineXKBSym("Armenian_but","՝")
1235  DefineXKBSym("Armenian_hyphen","֊")
1236  DefineXKBSym("Armenian_yentamna","֊")
1237  DefineXKBSym("Armenian_exclam","՜")
1238  DefineXKBSym("Armenian_amanak","՜")
1239  DefineXKBSym("Armenian_accent","՛")
1240  DefineXKBSym("Armenian_shesht","՛")
1241  DefineXKBSym("Armenian_question","՞")
1242  DefineXKBSym("Armenian_paruyk","՞")
1243  DefineXKBSym("Armenian_AYB","Ա")
1244  DefineXKBSym("Armenian_ayb","ա")
1245  DefineXKBSym("Armenian_BEN","Բ")
1246  DefineXKBSym("Armenian_ben","բ")
1247  DefineXKBSym("Armenian_GIM","Գ")
1248  DefineXKBSym("Armenian_gim","գ")
1249  DefineXKBSym("Armenian_DA","Դ")
1250  DefineXKBSym("Armenian_da","դ")
1251  DefineXKBSym("Armenian_YECH","Ե")
1252  DefineXKBSym("Armenian_yech","ե")
1253  DefineXKBSym("Armenian_ZA","Զ")
1254  DefineXKBSym("Armenian_za","զ")
1255  DefineXKBSym("Armenian_E","Է")
1256  DefineXKBSym("Armenian_e","է")
1257  DefineXKBSym("Armenian_AT","Ը")
1258  DefineXKBSym("Armenian_at","ը")
1259  DefineXKBSym("Armenian_TO","Թ")
1260  DefineXKBSym("Armenian_to","թ")
1261  DefineXKBSym("Armenian_ZHE","Ժ")
1262  DefineXKBSym("Armenian_zhe","ժ")
1263  DefineXKBSym("Armenian_INI","Ի")
1264  DefineXKBSym("Armenian_ini","ի")
1265  DefineXKBSym("Armenian_LYUN","Լ")
1266  DefineXKBSym("Armenian_lyun","լ")
1267  DefineXKBSym("Armenian_KHE","Խ")
1268  DefineXKBSym("Armenian_khe","խ")
1269  DefineXKBSym("Armenian_TSA","Ծ")
1270  DefineXKBSym("Armenian_tsa","ծ")
1271  DefineXKBSym("Armenian_KEN","Կ")
1272  DefineXKBSym("Armenian_ken","կ")
1273  DefineXKBSym("Armenian_HO","Հ")
1274  DefineXKBSym("Armenian_ho","հ")
1275  DefineXKBSym("Armenian_DZA","Ձ")
1276  DefineXKBSym("Armenian_dza","ձ")
1277  DefineXKBSym("Armenian_GHAT","Ղ")
1278  DefineXKBSym("Armenian_ghat","ղ")
1279  DefineXKBSym("Armenian_TCHE","Ճ")
1280  DefineXKBSym("Armenian_tche","ճ")
1281  DefineXKBSym("Armenian_MEN","Մ")
1282  DefineXKBSym("Armenian_men","մ")
1283  DefineXKBSym("Armenian_HI","Յ")
1284  DefineXKBSym("Armenian_hi","յ")
1285  DefineXKBSym("Armenian_NU","Ն")
1286  DefineXKBSym("Armenian_nu","ն")
1287  DefineXKBSym("Armenian_SHA","Շ")
1288  DefineXKBSym("Armenian_sha","շ")
1289  DefineXKBSym("Armenian_VO","Ո")
1290  DefineXKBSym("Armenian_vo","ո")
1291  DefineXKBSym("Armenian_CHA","Չ")
1292  DefineXKBSym("Armenian_cha","չ")
1293  DefineXKBSym("Armenian_PE","Պ")
1294  DefineXKBSym("Armenian_pe","պ")
1295  DefineXKBSym("Armenian_JE","Ջ")
1296  DefineXKBSym("Armenian_je","ջ")
1297  DefineXKBSym("Armenian_RA","Ռ")
1298  DefineXKBSym("Armenian_ra","ռ")
1299  DefineXKBSym("Armenian_SE","Ս")
1300  DefineXKBSym("Armenian_se","ս")
1301  DefineXKBSym("Armenian_VEV","Վ")
1302  DefineXKBSym("Armenian_vev","վ")
1303  DefineXKBSym("Armenian_TYUN","Տ")
1304  DefineXKBSym("Armenian_tyun","տ")
1305  DefineXKBSym("Armenian_RE","Ր")
1306  DefineXKBSym("Armenian_re","ր")
1307  DefineXKBSym("Armenian_TSO","Ց")
1308  DefineXKBSym("Armenian_tso","ց")
1309  DefineXKBSym("Armenian_VYUN","Ւ")
1310  DefineXKBSym("Armenian_vyun","ւ")
1311  DefineXKBSym("Armenian_PYUR","Փ")
1312  DefineXKBSym("Armenian_pyur","փ")
1313  DefineXKBSym("Armenian_KE","Ք")
1314  DefineXKBSym("Armenian_ke","ք")
1315  DefineXKBSym("Armenian_O","Օ")
1316  DefineXKBSym("Armenian_o","օ")
1317  DefineXKBSym("Armenian_FE","Ֆ")
1318  DefineXKBSym("Armenian_fe","ֆ")
1319  DefineXKBSym("Armenian_apostrophe","՚")
1320  DefineXKBSym("Georgian_an","ა")
1321  DefineXKBSym("Georgian_ban","ბ")
1322  DefineXKBSym("Georgian_gan","გ")
1323  DefineXKBSym("Georgian_don","დ")
1324  DefineXKBSym("Georgian_en","ე")
1325  DefineXKBSym("Georgian_vin","ვ")
1326  DefineXKBSym("Georgian_zen","ზ")
1327  DefineXKBSym("Georgian_tan","თ")
1328  DefineXKBSym("Georgian_in","ი")
1329  DefineXKBSym("Georgian_kan","კ")
1330  DefineXKBSym("Georgian_las","ლ")
1331  DefineXKBSym("Georgian_man","მ")
1332  DefineXKBSym("Georgian_nar","ნ")
1333  DefineXKBSym("Georgian_on","ო")
1334  DefineXKBSym("Georgian_par","პ")
1335  DefineXKBSym("Georgian_zhar","ჟ")
1336  DefineXKBSym("Georgian_rae","რ")
1337  DefineXKBSym("Georgian_san","ს")
1338  DefineXKBSym("Georgian_tar","ტ")
1339  DefineXKBSym("Georgian_un","უ")
1340  DefineXKBSym("Georgian_phar","ფ")
1341  DefineXKBSym("Georgian_khar","ქ")
1342  DefineXKBSym("Georgian_ghan","ღ")
1343  DefineXKBSym("Georgian_qar","ყ")
1344  DefineXKBSym("Georgian_shin","შ")
1345  DefineXKBSym("Georgian_chin","ჩ")
1346  DefineXKBSym("Georgian_can","ც")
1347  DefineXKBSym("Georgian_jil","ძ")
1348  DefineXKBSym("Georgian_cil","წ")
1349  DefineXKBSym("Georgian_char","ჭ")
1350  DefineXKBSym("Georgian_xan","ხ")
1351  DefineXKBSym("Georgian_jhan","ჯ")
1352  DefineXKBSym("Georgian_hae","ჰ")
1353  DefineXKBSym("Georgian_he","ჱ")
1354  DefineXKBSym("Georgian_hie","ჲ")
1355  DefineXKBSym("Georgian_we","ჳ")
1356  DefineXKBSym("Georgian_har","ჴ")
1357  DefineXKBSym("Georgian_hoe","ჵ")
1358  DefineXKBSym("Georgian_fi","ჶ")
1359  DefineXKBSym("Xabovedot","Ẋ")
1360  DefineXKBSym("Ibreve","Ĭ")
1361  DefineXKBSym("Zstroke","Ƶ")
1362  DefineXKBSym("Gcaron","Ǧ")
1363  DefineXKBSym("Ocaron","ǒ")
1364  DefineXKBSym("Obarred","Ɵ")
1365  DefineXKBSym("xabovedot","ẋ")
1366  DefineXKBSym("ibreve","ĭ")
1367  DefineXKBSym("zstroke","ƶ")
1368  DefineXKBSym("gcaron","ǧ")
1369  DefineXKBSym("ocaron","ǒ")
1370  DefineXKBSym("obarred","ɵ")
1371  DefineXKBSym("SCHWA","Ə")
1372  DefineXKBSym("schwa","ə")
1373  DefineXKBSym("Lbelowdot","Ḷ")
1374  DefineXKBSym("lbelowdot","ḷ")
1375  DefineXKBSym("Abelowdot","Ạ")
1376  DefineXKBSym("abelowdot","ạ")
1377  DefineXKBSym("Ahook","Ả")
1378  DefineXKBSym("ahook","ả")
1379  DefineXKBSym("Acircumflexacute","Ấ")
1380  DefineXKBSym("acircumflexacute","ấ")
1381  DefineXKBSym("Acircumflexgrave","Ầ")
1382  DefineXKBSym("acircumflexgrave","ầ")
1383  DefineXKBSym("Acircumflexhook","Ẩ")
1384  DefineXKBSym("acircumflexhook","ẩ")
1385  DefineXKBSym("Acircumflextilde","Ẫ")
1386  DefineXKBSym("acircumflextilde","ẫ")
1387  DefineXKBSym("Acircumflexbelowdot","Ậ")
1388  DefineXKBSym("acircumflexbelowdot","ậ")
1389  DefineXKBSym("Abreveacute","Ắ")
1390  DefineXKBSym("abreveacute","ắ")
1391  DefineXKBSym("Abrevegrave","Ằ")
1392  DefineXKBSym("abrevegrave","ằ")
1393  DefineXKBSym("Abrevehook","Ẳ")
1394  DefineXKBSym("abrevehook","ẳ")
1395  DefineXKBSym("Abrevetilde","Ẵ")
1396  DefineXKBSym("abrevetilde","ẵ")
1397  DefineXKBSym("Abrevebelowdot","Ặ")
1398  DefineXKBSym("abrevebelowdot","ặ")
1399  DefineXKBSym("Ebelowdot","Ẹ")
1400  DefineXKBSym("ebelowdot","ẹ")
1401  DefineXKBSym("Ehook","Ẻ")
1402  DefineXKBSym("ehook","ẻ")
1403  DefineXKBSym("Etilde","Ẽ")
1404  DefineXKBSym("etilde","ẽ")
1405  DefineXKBSym("Ecircumflexacute","Ế")
1406  DefineXKBSym("ecircumflexacute","ế")
1407  DefineXKBSym("Ecircumflexgrave","Ề")
1408  DefineXKBSym("ecircumflexgrave","ề")
1409  DefineXKBSym("Ecircumflexhook","Ể")
1410  DefineXKBSym("ecircumflexhook","ể")
1411  DefineXKBSym("Ecircumflextilde","Ễ")
1412  DefineXKBSym("ecircumflextilde","ễ")
1413  DefineXKBSym("Ecircumflexbelowdot","Ệ")
1414  DefineXKBSym("ecircumflexbelowdot","ệ")
1415  DefineXKBSym("Ihook","Ỉ")
1416  DefineXKBSym("ihook","ỉ")
1417  DefineXKBSym("Ibelowdot","Ị")
1418  DefineXKBSym("ibelowdot","ị")
1419  DefineXKBSym("Obelowdot","Ọ")
1420  DefineXKBSym("obelowdot","ọ")
1421  DefineXKBSym("Ohook","Ỏ")
1422  DefineXKBSym("ohook","ỏ")
1423  DefineXKBSym("Ocircumflexacute","Ố")
1424  DefineXKBSym("ocircumflexacute","ố")
1425  DefineXKBSym("Ocircumflexgrave","Ồ")
1426  DefineXKBSym("ocircumflexgrave","ồ")
1427  DefineXKBSym("Ocircumflexhook","Ổ")
1428  DefineXKBSym("ocircumflexhook","ổ")
1429  DefineXKBSym("Ocircumflextilde","Ỗ")
1430  DefineXKBSym("ocircumflextilde","ỗ")
1431  DefineXKBSym("Ocircumflexbelowdot","Ộ")
1432  DefineXKBSym("ocircumflexbelowdot","ộ")
1433  DefineXKBSym("Ohornacute","Ớ")
1434  DefineXKBSym("ohornacute","ớ")
1435  DefineXKBSym("Ohorngrave","Ờ")
1436  DefineXKBSym("ohorngrave","ờ")
1437  DefineXKBSym("Ohornhook","Ở")
1438  DefineXKBSym("ohornhook","ở")
1439  DefineXKBSym("Ohorntilde","Ỡ")
1440  DefineXKBSym("ohorntilde","ỡ")
1441  DefineXKBSym("Ohornbelowdot","Ợ")
1442  DefineXKBSym("ohornbelowdot","ợ")
1443  DefineXKBSym("Ubelowdot","Ụ")
1444  DefineXKBSym("ubelowdot","ụ")
1445  DefineXKBSym("Uhook","Ủ")
1446  DefineXKBSym("uhook","ủ")
1447  DefineXKBSym("Uhornacute","Ứ")
1448  DefineXKBSym("uhornacute","ứ")
1449  DefineXKBSym("Uhorngrave","Ừ")
1450  DefineXKBSym("uhorngrave","ừ")
1451  DefineXKBSym("Uhornhook","Ử")
1452  DefineXKBSym("uhornhook","ử")
1453  DefineXKBSym("Uhorntilde","Ữ")
1454  DefineXKBSym("uhorntilde","ữ")
1455  DefineXKBSym("Uhornbelowdot","Ự")
1456  DefineXKBSym("uhornbelowdot","ự")
1457  DefineXKBSym("Ybelowdot","Ỵ")
1458  DefineXKBSym("ybelowdot","ỵ")
1459  DefineXKBSym("Yhook","Ỷ")
1460  DefineXKBSym("yhook","ỷ")
1461  DefineXKBSym("Ytilde","Ỹ")
1462  DefineXKBSym("ytilde","ỹ")
1463  DefineXKBSym("Ohorn","Ơ")
1464  DefineXKBSym("ohorn","ơ")
1465  DefineXKBSym("Uhorn","Ư")
1466  DefineXKBSym("uhorn","ư")
1467  DefineXKBSym("EcuSign","₠")
1468  DefineXKBSym("ColonSign","₡")
1469  DefineXKBSym("CruzeiroSign","₢")
1470  DefineXKBSym("FFrancSign","₣")
1471  DefineXKBSym("LiraSign","₤")
1472  DefineXKBSym("MillSign","₥")
1473  DefineXKBSym("NairaSign","₦")
1474  DefineXKBSym("PesetaSign","₧")
1475  DefineXKBSym("RupeeSign","₨")
1476  DefineXKBSym("WonSign","₩")
1477  DefineXKBSym("NewSheqelSign","₪")
1478  DefineXKBSym("DongSign","₫")
1479  DefineXKBSym("EuroSign","€")
1480  DefineXKBSym("zerosuperior","⁰")
1481  DefineXKBSym("foursuperior","⁴")
1482  DefineXKBSym("fivesuperior","⁵")
1483  DefineXKBSym("sixsuperior","⁶")
1484  DefineXKBSym("sevensuperior","⁷")
1485  DefineXKBSym("eightsuperior","⁸")
1486  DefineXKBSym("ninesuperior","⁹")
1487  DefineXKBSym("zerosubscript","₀")
1488  DefineXKBSym("onesubscript","₁")
1489  DefineXKBSym("twosubscript","₂")
1490  DefineXKBSym("threesubscript","₃")
1491  DefineXKBSym("foursubscript","₄")
1492  DefineXKBSym("fivesubscript","₅")
1493  DefineXKBSym("sixsubscript","₆")
1494  DefineXKBSym("sevensubscript","₇")
1495  DefineXKBSym("eightsubscript","₈")
1496  DefineXKBSym("ninesubscript","₉")
1497  DefineXKBSym("partdifferential","∂")
1498  DefineXKBSym("emptyset","∅")
1499  DefineXKBSym("elementof","∈")
1500  DefineXKBSym("notelementof","∉")
1501  DefineXKBSym("containsas","∋")
1502  DefineXKBSym("squareroot","√")
1503  DefineXKBSym("cuberoot","∛")
1504  DefineXKBSym("fourthroot","∜")
1505  DefineXKBSym("dintegral","∬")
1506  DefineXKBSym("tintegral","∭")
1507  DefineXKBSym("because","∵")
1508  DefineXKBSym("approxeq","≅")
1509  DefineXKBSym("notapproxeq","≇")
1510  DefineXKBSym("notidentical","≢")
1511  DefineXKBSym("stricteq","≣")
1512  DefineXKBSym("braille_blank","⠀")
1513  DefineXKBSym("braille_dots_1","⠁")
1514  DefineXKBSym("braille_dots_2","⠂")
1515  DefineXKBSym("braille_dots_12","⠃")
1516  DefineXKBSym("braille_dots_3","⠄")
1517  DefineXKBSym("braille_dots_13","⠅")
1518  DefineXKBSym("braille_dots_23","⠆")
1519  DefineXKBSym("braille_dots_123","⠇")
1520  DefineXKBSym("braille_dots_4","⠈")
1521  DefineXKBSym("braille_dots_14","⠉")
1522  DefineXKBSym("braille_dots_24","⠊")
1523  DefineXKBSym("braille_dots_124","⠋")
1524  DefineXKBSym("braille_dots_34","⠌")
1525  DefineXKBSym("braille_dots_134","⠍")
1526  DefineXKBSym("braille_dots_234","⠎")
1527  DefineXKBSym("braille_dots_1234","⠏")
1528  DefineXKBSym("braille_dots_5","⠐")
1529  DefineXKBSym("braille_dots_15","⠑")
1530  DefineXKBSym("braille_dots_25","⠒")
1531  DefineXKBSym("braille_dots_125","⠓")
1532  DefineXKBSym("braille_dots_35","⠔")
1533  DefineXKBSym("braille_dots_135","⠕")
1534  DefineXKBSym("braille_dots_235","⠖")
1535  DefineXKBSym("braille_dots_1235","⠗")
1536  DefineXKBSym("braille_dots_45","⠘")
1537  DefineXKBSym("braille_dots_145","⠙")
1538  DefineXKBSym("braille_dots_245","⠚")
1539  DefineXKBSym("braille_dots_1245","⠛")
1540  DefineXKBSym("braille_dots_345","⠜")
1541  DefineXKBSym("braille_dots_1345","⠝")
1542  DefineXKBSym("braille_dots_2345","⠞")
1543  DefineXKBSym("braille_dots_12345","⠟")
1544  DefineXKBSym("braille_dots_6","⠠")
1545  DefineXKBSym("braille_dots_16","⠡")
1546  DefineXKBSym("braille_dots_26","⠢")
1547  DefineXKBSym("braille_dots_126","⠣")
1548  DefineXKBSym("braille_dots_36","⠤")
1549  DefineXKBSym("braille_dots_136","⠥")
1550  DefineXKBSym("braille_dots_236","⠦")
1551  DefineXKBSym("braille_dots_1236","⠧")
1552  DefineXKBSym("braille_dots_46","⠨")
1553  DefineXKBSym("braille_dots_146","⠩")
1554  DefineXKBSym("braille_dots_246","⠪")
1555  DefineXKBSym("braille_dots_1246","⠫")
1556  DefineXKBSym("braille_dots_346","⠬")
1557  DefineXKBSym("braille_dots_1346","⠭")
1558  DefineXKBSym("braille_dots_2346","⠮")
1559  DefineXKBSym("braille_dots_12346","⠯")
1560  DefineXKBSym("braille_dots_56","⠰")
1561  DefineXKBSym("braille_dots_156","⠱")
1562  DefineXKBSym("braille_dots_256","⠲")
1563  DefineXKBSym("braille_dots_1256","⠳")
1564  DefineXKBSym("braille_dots_356","⠴")
1565  DefineXKBSym("braille_dots_1356","⠵")
1566  DefineXKBSym("braille_dots_2356","⠶")
1567  DefineXKBSym("braille_dots_12356","⠷")
1568  DefineXKBSym("braille_dots_456","⠸")
1569  DefineXKBSym("braille_dots_1456","⠹")
1570  DefineXKBSym("braille_dots_2456","⠺")
1571  DefineXKBSym("braille_dots_12456","⠻")
1572  DefineXKBSym("braille_dots_3456","⠼")
1573  DefineXKBSym("braille_dots_13456","⠽")
1574  DefineXKBSym("braille_dots_23456","⠾")
1575  DefineXKBSym("braille_dots_123456","⠿")
1576  DefineXKBSym("braille_dots_7","⡀")
1577  DefineXKBSym("braille_dots_17","⡁")
1578  DefineXKBSym("braille_dots_27","⡂")
1579  DefineXKBSym("braille_dots_127","⡃")
1580  DefineXKBSym("braille_dots_37","⡄")
1581  DefineXKBSym("braille_dots_137","⡅")
1582  DefineXKBSym("braille_dots_237","⡆")
1583  DefineXKBSym("braille_dots_1237","⡇")
1584  DefineXKBSym("braille_dots_47","⡈")
1585  DefineXKBSym("braille_dots_147","⡉")
1586  DefineXKBSym("braille_dots_247","⡊")
1587  DefineXKBSym("braille_dots_1247","⡋")
1588  DefineXKBSym("braille_dots_347","⡌")
1589  DefineXKBSym("braille_dots_1347","⡍")
1590  DefineXKBSym("braille_dots_2347","⡎")
1591  DefineXKBSym("braille_dots_12347","⡏")
1592  DefineXKBSym("braille_dots_57","⡐")
1593  DefineXKBSym("braille_dots_157","⡑")
1594  DefineXKBSym("braille_dots_257","⡒")
1595  DefineXKBSym("braille_dots_1257","⡓")
1596  DefineXKBSym("braille_dots_357","⡔")
1597  DefineXKBSym("braille_dots_1357","⡕")
1598  DefineXKBSym("braille_dots_2357","⡖")
1599  DefineXKBSym("braille_dots_12357","⡗")
1600  DefineXKBSym("braille_dots_457","⡘")
1601  DefineXKBSym("braille_dots_1457","⡙")
1602  DefineXKBSym("braille_dots_2457","⡚")
1603  DefineXKBSym("braille_dots_12457","⡛")
1604  DefineXKBSym("braille_dots_3457","⡜")
1605  DefineXKBSym("braille_dots_13457","⡝")
1606  DefineXKBSym("braille_dots_23457","⡞")
1607  DefineXKBSym("braille_dots_123457","⡟")
1608  DefineXKBSym("braille_dots_67","⡠")
1609  DefineXKBSym("braille_dots_167","⡡")
1610  DefineXKBSym("braille_dots_267","⡢")
1611  DefineXKBSym("braille_dots_1267","⡣")
1612  DefineXKBSym("braille_dots_367","⡤")
1613  DefineXKBSym("braille_dots_1367","⡥")
1614  DefineXKBSym("braille_dots_2367","⡦")
1615  DefineXKBSym("braille_dots_12367","⡧")
1616  DefineXKBSym("braille_dots_467","⡨")
1617  DefineXKBSym("braille_dots_1467","⡩")
1618  DefineXKBSym("braille_dots_2467","⡪")
1619  DefineXKBSym("braille_dots_12467","⡫")
1620  DefineXKBSym("braille_dots_3467","⡜")
1621  DefineXKBSym("braille_dots_13467","⡭")
1622  DefineXKBSym("braille_dots_23467","⡮")
1623  DefineXKBSym("braille_dots_123467","⡯")
1624  DefineXKBSym("braille_dots_567","⡰")
1625  DefineXKBSym("braille_dots_1567","⡱")
1626  DefineXKBSym("braille_dots_2567","⡲")
1627  DefineXKBSym("braille_dots_12567","⡳")
1628  DefineXKBSym("braille_dots_3567","⡴")
1629  DefineXKBSym("braille_dots_13567","⡵")
1630  DefineXKBSym("braille_dots_23567","⡶")
1631  DefineXKBSym("braille_dots_123567","⡷")
1632  DefineXKBSym("braille_dots_4567","⡸")
1633  DefineXKBSym("braille_dots_14567","⡹")
1634  DefineXKBSym("braille_dots_24567","⡺")
1635  DefineXKBSym("braille_dots_124567","⡻")
1636  DefineXKBSym("braille_dots_34567","⡼")
1637  DefineXKBSym("braille_dots_134567","⡽")
1638  DefineXKBSym("braille_dots_234567","⡾")
1639  DefineXKBSym("braille_dots_1234567","⡿")
1640  DefineXKBSym("braille_dots_8","⢀")
1641  DefineXKBSym("braille_dots_18","⢁")
1642  DefineXKBSym("braille_dots_28","⢂")
1643  DefineXKBSym("braille_dots_128","⢃")
1644  DefineXKBSym("braille_dots_38","⢄")
1645  DefineXKBSym("braille_dots_138","⢅")
1646  DefineXKBSym("braille_dots_238","⢆")
1647  DefineXKBSym("braille_dots_1238","⢇")
1648  DefineXKBSym("braille_dots_48","⢈")
1649  DefineXKBSym("braille_dots_148","⢉")
1650  DefineXKBSym("braille_dots_248","⢊")
1651  DefineXKBSym("braille_dots_1248","⢋")
1652  DefineXKBSym("braille_dots_348","⢌")
1653  DefineXKBSym("braille_dots_1348","⢍")
1654  DefineXKBSym("braille_dots_2348","⢎")
1655  DefineXKBSym("braille_dots_12348","⢏")
1656  DefineXKBSym("braille_dots_58","⢐")
1657  DefineXKBSym("braille_dots_158","⢑")
1658  DefineXKBSym("braille_dots_258","⢒")
1659  DefineXKBSym("braille_dots_1258","⢓")
1660  DefineXKBSym("braille_dots_358","⢔")
1661  DefineXKBSym("braille_dots_1358","⢕")
1662  DefineXKBSym("braille_dots_2358","⢖")
1663  DefineXKBSym("braille_dots_12358","⢗")
1664  DefineXKBSym("braille_dots_458","⢘")
1665  DefineXKBSym("braille_dots_1458","⢙")
1666  DefineXKBSym("braille_dots_2458","⢚")
1667  DefineXKBSym("braille_dots_12458","⢛")
1668  DefineXKBSym("braille_dots_3458","⢜")
1669  DefineXKBSym("braille_dots_13458","⢝")
1670  DefineXKBSym("braille_dots_23458","⢞")
1671  DefineXKBSym("braille_dots_123458","⢟")
1672  DefineXKBSym("braille_dots_68","⢠")
1673  DefineXKBSym("braille_dots_168","⢡")
1674  DefineXKBSym("braille_dots_268","⢢")
1675  DefineXKBSym("braille_dots_1268","⢣")
1676  DefineXKBSym("braille_dots_368","⢤")
1677  DefineXKBSym("braille_dots_1368","⢥")
1678  DefineXKBSym("braille_dots_2368","⢦")
1679  DefineXKBSym("braille_dots_12368","⢧")
1680  DefineXKBSym("braille_dots_468","⢨")
1681  DefineXKBSym("braille_dots_1468","⢩")
1682  DefineXKBSym("braille_dots_2468","⢪")
1683  DefineXKBSym("braille_dots_12468","⢫")
1684  DefineXKBSym("braille_dots_3468","⢬")
1685  DefineXKBSym("braille_dots_13468","⢭")
1686  DefineXKBSym("braille_dots_23468","⢮")
1687  DefineXKBSym("braille_dots_123468","⢯")
1688  DefineXKBSym("braille_dots_568","⢰")
1689  DefineXKBSym("braille_dots_1568","⢱")
1690  DefineXKBSym("braille_dots_2568","⢲")
1691  DefineXKBSym("braille_dots_12568","⢳")
1692  DefineXKBSym("braille_dots_3568","⢴")
1693  DefineXKBSym("braille_dots_13568","⢵")
1694  DefineXKBSym("braille_dots_23568","⢶")
1695  DefineXKBSym("braille_dots_123568","⢷")
1696  DefineXKBSym("braille_dots_4568","⢸")
1697  DefineXKBSym("braille_dots_14568","⢹")
1698  DefineXKBSym("braille_dots_24568","⢺")
1699  DefineXKBSym("braille_dots_124568","⢻")
1700  DefineXKBSym("braille_dots_34568","⢼")
1701  DefineXKBSym("braille_dots_134568","⢽")
1702  DefineXKBSym("braille_dots_234568","⢾")
1703  DefineXKBSym("braille_dots_1234568","⢿")
1704  DefineXKBSym("braille_dots_78","⣀")
1705  DefineXKBSym("braille_dots_178","⣁")
1706  DefineXKBSym("braille_dots_278","⣂")
1707  DefineXKBSym("braille_dots_1278","⣃")
1708  DefineXKBSym("braille_dots_378","⣄")
1709  DefineXKBSym("braille_dots_1378","⣅")
1710  DefineXKBSym("braille_dots_2378","⣆")
1711  DefineXKBSym("braille_dots_12378","⣇")
1712  DefineXKBSym("braille_dots_478","⣈")
1713  DefineXKBSym("braille_dots_1478","⣉")
1714  DefineXKBSym("braille_dots_2478","⣊")
1715  DefineXKBSym("braille_dots_12478","⣋")
1716  DefineXKBSym("braille_dots_3478","⣌")
1717  DefineXKBSym("braille_dots_13478","⣍")
1718  DefineXKBSym("braille_dots_23478","⣎")
1719  DefineXKBSym("braille_dots_123478","⣏")
1720  DefineXKBSym("braille_dots_578","⣐")
1721  DefineXKBSym("braille_dots_1578","⣑")
1722  DefineXKBSym("braille_dots_2578","⣒")
1723  DefineXKBSym("braille_dots_12578","⣓")
1724  DefineXKBSym("braille_dots_3578","⣔")
1725  DefineXKBSym("braille_dots_13578","⣕")
1726  DefineXKBSym("braille_dots_23578","⣖")
1727  DefineXKBSym("braille_dots_123578","⣗")
1728  DefineXKBSym("braille_dots_4578","⣘")
1729  DefineXKBSym("braille_dots_14578","⣙")
1730  DefineXKBSym("braille_dots_24578","⣚")
1731  DefineXKBSym("braille_dots_124578","⣛")
1732  DefineXKBSym("braille_dots_34578","⣜")
1733  DefineXKBSym("braille_dots_134578","⣝")
1734  DefineXKBSym("braille_dots_234578","⣞")
1735  DefineXKBSym("braille_dots_1234578","⣟")
1736  DefineXKBSym("braille_dots_678","⣠")
1737  DefineXKBSym("braille_dots_1678","⣡")
1738  DefineXKBSym("braille_dots_2678","⣢")
1739  DefineXKBSym("braille_dots_12678","⣣")
1740  DefineXKBSym("braille_dots_3678","⣤")
1741  DefineXKBSym("braille_dots_13678","⣥")
1742  DefineXKBSym("braille_dots_23678","⣦")
1743  DefineXKBSym("braille_dots_123678","⣧")
1744  DefineXKBSym("braille_dots_4678","⣨")
1745  DefineXKBSym("braille_dots_14678","⣩")
1746  DefineXKBSym("braille_dots_24678","⣪")
1747  DefineXKBSym("braille_dots_124678","⣫")
1748  DefineXKBSym("braille_dots_34678","⣬")
1749  DefineXKBSym("braille_dots_134678","⣭")
1750  DefineXKBSym("braille_dots_234678","⣮")
1751  DefineXKBSym("braille_dots_1234678","⣯")
1752  DefineXKBSym("braille_dots_5678","⣰")
1753  DefineXKBSym("braille_dots_15678","⣱")
1754  DefineXKBSym("braille_dots_25678","⣲")
1755  DefineXKBSym("braille_dots_125678","⣳")
1756  DefineXKBSym("braille_dots_35678","⣴")
1757  DefineXKBSym("braille_dots_135678","⣵")
1758  DefineXKBSym("braille_dots_235678","⣶")
1759  DefineXKBSym("braille_dots_1235678","⣷")
1760  DefineXKBSym("braille_dots_45678","⣸")
1761  DefineXKBSym("braille_dots_145678","⣹")
1762  DefineXKBSym("braille_dots_245678","⣺")
1763  DefineXKBSym("braille_dots_1245678","⣻")
1764  DefineXKBSym("braille_dots_345678","⣼")
1765  DefineXKBSym("braille_dots_1345678","⣽")
1766  DefineXKBSym("braille_dots_2345678","⣾")
1767  DefineXKBSym("braille_dots_12345678","⣿")
1768  DefineXKBSym("NoSymbol","U000020")
1769}
1770
1771convertXkbsym(X) {
1772  global
1773  nlen := StrLen(X)
1774  SS := X . " "
1775  pos := InStr(KSYM%nlen%,SS,true)
1776  if (pos>0) {
1777    poscd := 7*(pos-1)/(nlen+1)+1
1778    X := SubStr(KSCD%nlen%,poscd,7)
1779    return X
1780  } else if (SubStr(X,1,1) == "U")
1781    return X
1782  else {
1783     ResName := EncodeUni(X)
1784     if (StrLen(ResName) == 7)
1785       return ResName
1786  }
1787  return ""
1788}
1789
1790EncodeUniCompose(str) {
1791SetFormat, Integer, hex
1792  result := ""
1793  loop {
1794    if (str == "")
1795      break
1796    char := asc(SubStr(str,1,1))
1797    str  := SubStr(str,2)
1798    if (char < 0x80)
1799      result .= "U" . SubStr("000000" . SubStr(char,3),-5)
1800    else if (char < 0xC0) {
1801      ; error
1802    } else if (char < 0xE0) {
1803       char2 := asc(Substr(str,1,1))
1804       str   := SubStr(str,2)
1805       if ((char2 < 0x80) or (char2 > 0xBF)) {
1806         ; error
1807       } else {
1808         result .= "U" . SubStr("000000" . SubStr((((char & 0x1F) << 6) + (char2 & 0x3F)),3),-5)
1809       }
1810    } else if (char < 0xF0) {
1811       char2 := asc(SubStr(str,1,1))
1812       char3 := asc(SubStr(str,2,1))
1813       str   := SubStr(str,3)
1814       if ((char2 < 0x80) or (char2 > 0xBF)
1815           or (char3 < 0x80) or (char3 > 0xBF)) {
1816         ; error
1817       } else {
1818         result .= "U" . SubStr("000000" . SubStr((((char & 0x0F) << 12) + ((char2 & 0x3F) << 6) + (char3 & 0x3F)),3),-5)
1819       }
1820    } else if (char < 0xF8) {
1821       char2 := asc(SubStr(str,1,1))
1822       char3 := asc(SubStr(str,2,1))
1823       char4 := asc(SubStr(str,3,1))
1824       str   := SubStr(str,4)
1825       if (   (char2 < 0x80) or (char2 > 0xBF)
1826           or (char3 < 0x80) or (char3 > 0xBF)
1827           or (char4 < 0x80) or (char4 > 0xBF)) {
1828         ; error
1829       } else {
1830         result .= "U" . SubStr("000000" . SubStr((((char & 0x07) << 18) + ((char2 & 0x3F) << 12) + ((char3 & 0x3F) << 6) + (char4 & 0x3F)),3),-5)
1831       }
1832    }
1833  }
1834SetFormat, Integer, d
1835  StringUpper,result,result
1836  return result
1837}
1838
1839EncodeUniComposeA(ea) {
1840  if (StrLen(ea) == 7)
1841    return ea
1842  return EncodeUniCompose(ea)
1843}
1844
1845VarSetCapacity(Composita,10240000) ; 10 MB
1846
1847ProcessComposeFile(FFrom) {
1848  global
1849
1850  FileRead, FileContents, %FFrom%
1851
1852  Loop, parse, FileContents, `n, `r  ; Specifying `n prior to `r allows both Windows and Unix files to be parsed.
1853  {
1854    Line := A_LoopField
1855    if ((Line == "") or (SubStr(Line,1,5) == "XCOMM") or (SubStr(Line,1,1) == "#"))
1856      continue
1857    Line := RegExReplace(Line,"[\t ]*(<[^>]*>)[\t ]*","$1")
1858    RegExMatch(Line,"([^:]*):[\t ]*""((\\.|[^""])*)"".*",OutputVar)
1859    ReplaceLeft := OutputVar1
1860    ReplaceRight := ""
1861    loop {
1862      thechar := SubStr(OutputVar2,1,1)
1863      OutputVar2 := SubStr(OutputVar2,2)
1864      if (thechar == "\") {
1865        thechar := SubStr(OutputVar2,1,1)
1866        OutputVar2 := SubStr(OutputVar2,2)
1867        if (thechar == "n")
1868          thechar := chr(0x000d) ; Line-Feed
1869        ReplaceRight := ReplaceRight . thechar
1870      } else
1871        ReplaceRight := ReplaceRight . thechar
1872      if (OutputVar2 == "")
1873        break
1874    }
1875
1876    ; care for replaceleft
1877    modkeys := ""
1878    loop {
1879      if ((SubStr(ReplaceLeft,1,1)=="<") and (InStr(ReplaceLeft,">"))) {
1880        Xkbsym := SubStr(ReplaceLeft,2,InStr(ReplaceLeft,">")-2)
1881        ReplaceLeft := SubStr(ReplaceLeft,InStr(ReplaceLeft,">")+1)
1882
1883        modkey := ConvertXkbsym(Xkbsym)
1884        if (modkey == "") {
1885          modkeys := "" ; invalidate whole line
1886          break
1887        }
1888        modkeys := modkeys . modkey
1889        if (ReplaceLeft == "")
1890          break
1891        if (CM%modkeys% != 1)
1892          CM%modkeys% := 1
1893      }
1894      else {
1895        modkeys := "" ; invalidate whole line
1896        break
1897      }
1898    }
1899    if (modkeys != "") {
1900      ressymb := EncodeUniCompose(ReplaceRight)
1901      CD%modkeys% := ressymb
1902      if (StrLen(ressymb)==7)
1903        CRC%ressymb% .= " " . modkeys
1904    }
1905  }
1906
1907}
1908
1909LoadCurrentComposeFile(FIn) {
1910  global
1911  if (!CurrentComposeLoaded) {
1912    DefineXKBSyms()
1913    CurrentComposeLoaded := 1
1914  }
1915  ProcessComposeFile(Fin)
1916}
1917
1918LoadCurrentCompose() {
1919  global
1920  ; setup a new thread to start immediately in the background
1921  SetTimer,ConvertCompose,-1
1922  return
1923
1924  ConvertCompose:
1925    ComposePath := "..\..\..\Compose\src"
1926    LoadCurrentComposeFile(ComposePath . "\en_US.UTF-8")
1927    LoadCurrentComposeFile(ComposePath . "\base.module")
1928    TrayTip,Compose-Konvertierung,Konvertierung abgeschlossen!,10,1
1929  return
1930}
Note: See TracBrowser for help on using the browser.