neo-layout/windows/neo-vars/src/source/makecompose.ahk

1995 rader
80 KiB
AutoHotkey
Blame Historik

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; -*- encoding:utf-8 -*-
DefineXKBSym(name,val) {
global
nlen := StrLen(name)
KSYM%nlen% .= name . " "
KSCD%nlen% .= val
}
DefineXKBSyms() {
DefineXKBSym("BackSpace" ,"U000008")
DefineXKBSym("Tab" ,"U000009")
DefineXKBSym("Return" ,"U00000D")
DefineXKBSym("Delete" ,"S___Del")
DefineXKBSym("Multi_key" ,"S__Comp")
DefineXKBSym("Home" ,"S__Home")
DefineXKBSym("Left" ,"S__Left")
DefineXKBSym("Up" ,"S____Up")
DefineXKBSym("Right" ,"S__Rght")
DefineXKBSym("Down" ,"S__Down")
DefineXKBSym("Prior" ,"S__PgUp")
DefineXKBSym("Page_Up" ,"S__PgUp")
DefineXKBSym("Next" ,"S__PgDn")
DefineXKBSym("Page_Down" ,"S__PgDn")
DefineXKBSym("End" ,"S___End")
DefineXKBSym("Insert" ,"S___Ins")
DefineXKBSym("KP_Space" ,"S__NSpc") ; not
DefineXKBSym("KP_Tab" ,"S__NTab") ; not
DefineXKBSym("KP_Enter" ,"S__NEnt")
DefineXKBSym("KP_F1" ,"S__NF_1") ; not
DefineXKBSym("KP_F2" ,"S__NF_2") ; not
DefineXKBSym("KP_F3" ,"S__NF_3") ; not
DefineXKBSym("KP_F4" ,"S__NF_4") ; not
DefineXKBSym("KP_Home" ,"S__NHom")
DefineXKBSym("KP_Left" ,"S__N_Le")
DefineXKBSym("KP_Up" ,"S__N_Up")
DefineXKBSym("KP_Right" ,"S__N_Ri")
DefineXKBSym("KP_Down" ,"S__N_Dn")
DefineXKBSym("KP_Prior" ,"S__NPUp")
DefineXKBSym("KP_Page_Up" ,"S__NPUp")
DefineXKBSym("KP_Next" ,"S__NPDn")
DefineXKBSym("KP_Page_Down" ,"S__NPDn")
DefineXKBSym("KP_End" ,"S__NEnd")
DefineXKBSym("KP_Begin" ,"S__NBgn") ; not
DefineXKBSym("KP_Insert" ,"S__NIns")
DefineXKBSym("KP_Delete" ,"S__NDel")
DefineXKBSym("KP_Equal" ,"S__NEql") ; not
DefineXKBSym("KP_Multiply" ,"S__NMul")
DefineXKBSym("KP_Add" ,"S__NAdd")
DefineXKBSym("KP_Separator" ,"S__NSep") ; not
DefineXKBSym("KP_Subtract" ,"S__NSub")
DefineXKBSym("KP_Decimal" ,"S__NDot")
DefineXKBSym("KP_Divide" ,"S__NDiv")
DefineXKBSym("KP_0" ,"S__N__0")
DefineXKBSym("KP_1" ,"S__N__1")
DefineXKBSym("KP_2" ,"S__N__2")
DefineXKBSym("KP_3" ,"S__N__3")
DefineXKBSym("KP_4" ,"S__N__4")
DefineXKBSym("KP_5" ,"S__N__5")
DefineXKBSym("KP_6" ,"S__N__6")
DefineXKBSym("KP_7" ,"S__N__7")
DefineXKBSym("KP_8" ,"S__N__8")
DefineXKBSym("KP_9" ,"S__N__9")
DefineXKBSym("dead_acute" ,"T__acut")
DefineXKBSym("dead_grave" ,"T__grav")
DefineXKBSym("dead_cedilla" ,"T__cedi")
DefineXKBSym("dead_abovedot" ,"T__abdt")
DefineXKBSym("dead_ogonek" ,"T__ogon")
DefineXKBSym("dead_abovering" ,"T__abrg")
DefineXKBSym("dead_circumflex" ,"T__cflx")
DefineXKBSym("dead_caron" ,"T__cron")
DefineXKBSym("dead_breve" ,"T__brve")
DefineXKBSym("dead_belowdot" ,"T__bldt")
DefineXKBSym("dead_tilde" ,"T__tlde")
DefineXKBSym("dead_macron" ,"T__mcrn")
DefineXKBSym("dead_diaeresis" ,"T__drss")
DefineXKBSym("dead_doubleacute" ,"T__dbac")
DefineXKBSym("dead_stroke" ,"T__strk")
DefineXKBSym("U02DE" ,"T__hook")
DefineXKBSym("U21BB" ,"T__turn")
DefineXKBSym("dead_dasia" ,"T_dasia")
DefineXKBSym("dead_psili" ,"T_psili")
DefineXKBSym("dead_iota" ,"T__iota") ; not assigned a dead key in NEO
DefineXKBSym("dead_voiced_sound" ,"T__vsnd") ; not assigned a dead key in NEO
DefineXKBSym("dead_semivoiced_sound","T__ssnd") ; not assigned a dead key in NEO
DefineXKBSym("dead_horn" ,"T__horn") ; not assigned a dead key in NEO
DefineXKBSym("dead_hook" ,"T__hook") ; not assigned a dead key in NEO
DefineXKBSym("combining_grave" ,"T__Cgrv") ; not assigned a dead key in NEO
DefineXKBSym("combining_acute" ,"T__Cact") ; not assigned a dead key in NEO
DefineXKBSym("combining_belowdot","T__Cbdt") ; not assigned a dead key in NEO
DefineXKBSym("combining_hook" ,"T__Chok") ; not assigned a dead key in NEO
DefineXKBSym("combining_tilde" ,"T__Ctld") ; not assigned a dead key in NEO
DefineXKBSym("space" ,"U000020")
DefineXKBSym("dead_space" ,"U0000A0")
DefineXKBSym("exclam" ,"U000021")
DefineXKBSym("quotedbl" ,"U000022")
DefineXKBSym("numbersign" ,"U000023")
DefineXKBSym("dollar" ,"U000024")
DefineXKBSym("percent" ,"U000025")
DefineXKBSym("ampersand" ,"U000026")
DefineXKBSym("apostrophe" ,"U000027")
DefineXKBSym("quoteright" ,"U000027")
DefineXKBSym("parenleft" ,"U000028")
DefineXKBSym("parenright" ,"U000029")
DefineXKBSym("asterisk" ,"U00002A")
DefineXKBSym("plus" ,"U00002B")
DefineXKBSym("comma" ,"U00002C")
DefineXKBSym("minus" ,"U00002D")
DefineXKBSym("period" ,"U00002E")
DefineXKBSym("slash" ,"U00002F")
DefineXKBSym("0" ,"U000030")
DefineXKBSym("1" ,"U000031")
DefineXKBSym("2" ,"U000032")
DefineXKBSym("3" ,"U000033")
DefineXKBSym("4" ,"U000034")
DefineXKBSym("5" ,"U000035")
DefineXKBSym("6" ,"U000036")
DefineXKBSym("7" ,"U000037")
DefineXKBSym("8" ,"U000038")
DefineXKBSym("9" ,"U000039")
DefineXKBSym("colon" ,"U00003A")
DefineXKBSym("semicolon" ,"U00003B")
DefineXKBSym("less" ,"U00003C")
DefineXKBSym("equal" ,"U00003D")
DefineXKBSym("greater" ,"U00003E")
DefineXKBSym("question" ,"U00003F")
DefineXKBSym("at" ,"U000040")
DefineXKBSym("A" ,"U000041")
DefineXKBSym("B" ,"U000042")
DefineXKBSym("C" ,"U000043")
DefineXKBSym("D" ,"U000044")
DefineXKBSym("E" ,"U000045")
DefineXKBSym("F" ,"U000046")
DefineXKBSym("G" ,"U000047")
DefineXKBSym("H" ,"U000048")
DefineXKBSym("I" ,"U000049")
DefineXKBSym("J" ,"U00004A")
DefineXKBSym("K" ,"U00004B")
DefineXKBSym("L" ,"U00004C")
DefineXKBSym("M" ,"U00004D")
DefineXKBSym("N" ,"U00004E")
DefineXKBSym("O" ,"U00004F")
DefineXKBSym("P" ,"U000050")
DefineXKBSym("Q" ,"U000051")
DefineXKBSym("R" ,"U000052")
DefineXKBSym("S" ,"U000053")
DefineXKBSym("T" ,"U000054")
DefineXKBSym("U" ,"U000055")
DefineXKBSym("V" ,"U000056")
DefineXKBSym("W" ,"U000057")
DefineXKBSym("X" ,"U000058")
DefineXKBSym("Y" ,"U000059")
DefineXKBSym("Z" ,"U00005A")
DefineXKBSym("bracketleft" ,"U00005B")
DefineXKBSym("backslash" ,"U00005C")
DefineXKBSym("bracketright" ,"U00005D")
DefineXKBSym("asciicircum" ,"U00005E")
DefineXKBSym("underscore" ,"U00005F")
DefineXKBSym("grave" ,"U000060")
DefineXKBSym("quoteleft" ,"U000060")
DefineXKBSym("a" ,"U000061")
DefineXKBSym("b" ,"U000062")
DefineXKBSym("c" ,"U000063")
DefineXKBSym("d" ,"U000064")
DefineXKBSym("e" ,"U000065")
DefineXKBSym("f" ,"U000066")
DefineXKBSym("g" ,"U000067")
DefineXKBSym("h" ,"U000068")
DefineXKBSym("i" ,"U000069")
DefineXKBSym("j" ,"U00006A")
DefineXKBSym("k" ,"U00006B")
DefineXKBSym("l" ,"U00006C")
DefineXKBSym("m" ,"U00006D")
DefineXKBSym("n" ,"U00006E")
DefineXKBSym("o" ,"U00006F")
DefineXKBSym("p" ,"U000070")
DefineXKBSym("q" ,"U000071")
DefineXKBSym("r" ,"U000072")
DefineXKBSym("s" ,"U000073")
DefineXKBSym("t" ,"U000074")
DefineXKBSym("u" ,"U000075")
DefineXKBSym("v" ,"U000076")
DefineXKBSym("w" ,"U000077")
DefineXKBSym("x" ,"U000078")
DefineXKBSym("y" ,"U000079")
DefineXKBSym("z" ,"U00007A")
DefineXKBSym("braceleft" ,"U00007B")
DefineXKBSym("bar" ,"U00007C")
DefineXKBSym("braceright" ,"U00007D")
DefineXKBSym("asciitilde" ,"U00007E")
DefineXKBSym("ſ" ,"U00017F")
; following codes are auto-generated from keysymdef.h (manually disabled if already defined or override)
; DefineXKBSym("BackSpace","U00232B")
; DefineXKBSym("Tab","U0021E5")
; DefineXKBSym("Return","U0023CE")
; DefineXKBSym("Escape","U002327")
; DefineXKBSym("Delete","U002326")
; DefineXKBSym("Multi_key","U00266B")
; DefineXKBSym("Home","U0021F1")
; DefineXKBSym("Left","U0021E0")
; DefineXKBSym("Up","U0021E1")
; DefineXKBSym("Right","U0021E2")
; DefineXKBSym("Down","U0021E3")
; DefineXKBSym("Prior","U0021DE")
; DefineXKBSym("Page_Up","U0021DE")
; DefineXKBSym("Next","U0021DF")
; DefineXKBSym("Page_Down","U0021DF")
; DefineXKBSym("End","U0021F2")
; DefineXKBSym("Insert","U002380")
; DefineXKBSym("KP_Enter","U002386")
; DefineXKBSym("KP_Home","U0021F1")
; DefineXKBSym("KP_Left","U0021E0")
; DefineXKBSym("KP_Up","U0021E1")
; DefineXKBSym("KP_Right","U0021E2")
; DefineXKBSym("KP_Down","U0021E3")
; DefineXKBSym("KP_Prior","U0021DE")
; DefineXKBSym("KP_Page_Up","U0021DE")
; DefineXKBSym("KP_Next","U0021DF")
; DefineXKBSym("KP_Page_Down","U0021DF")
; DefineXKBSym("KP_End","U0021F2")
; DefineXKBSym("KP_Insert","U002380")
; DefineXKBSym("KP_Delete","U002326")
; DefineXKBSym("KP_Multiply","U00002A")
; DefineXKBSym("KP_Add","U00002B")
; DefineXKBSym("KP_Subtract","U00002D")
; DefineXKBSym("KP_Decimal","U002396")
; DefineXKBSym("KP_Divide","U002215")
; DefineXKBSym("KP_0","U000030")
; DefineXKBSym("KP_1","U000031")
; DefineXKBSym("KP_2","U000032")
; DefineXKBSym("KP_3","U000033")
; DefineXKBSym("KP_4","U000034")
; DefineXKBSym("KP_5","U000035")
; DefineXKBSym("KP_6","U000036")
; DefineXKBSym("KP_7","U000037")
; DefineXKBSym("KP_8","U000038")
; DefineXKBSym("KP_9","U000039")
DefineXKBSym("Shift_L","U0021E7")
DefineXKBSym("Shift_R","U0021E7")
DefineXKBSym("Shift_Lock","U0021E7")
; DefineXKBSym("ISO_Left_Tab","U0021E4")
; DefineXKBSym("dead_grave","U000060")
; DefineXKBSym("dead_acute","U0002CA")
; DefineXKBSym("dead_circumflex","U00005E")
; DefineXKBSym("dead_tilde","U00007E")
; DefineXKBSym("dead_macron","U0002C9")
; DefineXKBSym("dead_breve","U000306")
; DefineXKBSym("dead_abovedot","U0002D9")
; DefineXKBSym("dead_diaeresis","U0000A8")
; DefineXKBSym("dead_abovering","U0002DA")
; DefineXKBSym("dead_doubleacute","U0002DD")
; DefineXKBSym("dead_caron","U0002C7")
; DefineXKBSym("dead_cedilla","U0000B8")
; DefineXKBSym("dead_ogonek","U0002DB")
; DefineXKBSym("dead_belowdot","U000323")
; DefineXKBSym("dead_stroke","U000335")
; DefineXKBSym("space","U000020")
; DefineXKBSym("exclam","U000021")
; DefineXKBSym("quotedbl","U000022")
; DefineXKBSym("numbersign","U000023")
; DefineXKBSym("dollar","U000024")
; DefineXKBSym("percent","U000025")
; DefineXKBSym("ampersand","U000026")
; DefineXKBSym("apostrophe","U000027")
; DefineXKBSym("parenleft","U000028")
; DefineXKBSym("parenright","U000029")
; DefineXKBSym("asterisk","U00002A")
; DefineXKBSym("plus","U00002B")
; DefineXKBSym("comma","U00002C")
; DefineXKBSym("minus","U00002D")
; DefineXKBSym("period","U00002E")
; DefineXKBSym("slash","U00002F")
; DefineXKBSym("0","U000030")
; DefineXKBSym("1","U000031")
; DefineXKBSym("2","U000032")
; DefineXKBSym("3","U000033")
; DefineXKBSym("4","U000034")
; DefineXKBSym("5","U000035")
; DefineXKBSym("6","U000036")
; DefineXKBSym("7","U000037")
; DefineXKBSym("8","U000038")
; DefineXKBSym("9","U000039")
; DefineXKBSym("colon","U00003A")
; DefineXKBSym("semicolon","U00003B")
; DefineXKBSym("less","U00003C")
; DefineXKBSym("equal","U00003D")
; DefineXKBSym("greater","U00003E")
; DefineXKBSym("question","U00003F")
; DefineXKBSym("at","U000040")
; DefineXKBSym("A","U000041")
; DefineXKBSym("B","U000042")
; DefineXKBSym("C","U000043")
; DefineXKBSym("D","U000044")
; DefineXKBSym("E","U000045")
; DefineXKBSym("F","U000046")
; DefineXKBSym("G","U000047")
; DefineXKBSym("H","U000048")
; DefineXKBSym("I","U000049")
; DefineXKBSym("J","U00004A")
; DefineXKBSym("K","U00004B")
; DefineXKBSym("L","U00004C")
; DefineXKBSym("M","U00004D")
; DefineXKBSym("N","U00004E")
; DefineXKBSym("O","U00004F")
; DefineXKBSym("P","U000050")
; DefineXKBSym("Q","U000051")
; DefineXKBSym("R","U000052")
; DefineXKBSym("S","U000053")
; DefineXKBSym("T","U000054")
; DefineXKBSym("U","U000055")
; DefineXKBSym("V","U000056")
; DefineXKBSym("W","U000057")
; DefineXKBSym("X","U000058")
; DefineXKBSym("Y","U000059")
; DefineXKBSym("Z","U00005A")
; DefineXKBSym("bracketleft","U00005B")
; DefineXKBSym("backslash","U00005C")
; DefineXKBSym("bracketright","U00005D")
; DefineXKBSym("asciicircum","U00005E")
; DefineXKBSym("underscore","U00005F")
; DefineXKBSym("grave","U000060")
; DefineXKBSym("a","U000061")
; DefineXKBSym("b","U000062")
; DefineXKBSym("c","U000063")
; DefineXKBSym("d","U000064")
; DefineXKBSym("e","U000065")
; DefineXKBSym("f","U000066")
; DefineXKBSym("g","U000067")
; DefineXKBSym("h","U000068")
; DefineXKBSym("i","U000069")
; DefineXKBSym("j","U00006A")
; DefineXKBSym("k","U00006B")
; DefineXKBSym("l","U00006C")
; DefineXKBSym("m","U00006D")
; DefineXKBSym("n","U00006E")
; DefineXKBSym("o","U00006F")
; DefineXKBSym("p","U000070")
; DefineXKBSym("q","U000071")
; DefineXKBSym("r","U000072")
; DefineXKBSym("s","U000073")
; DefineXKBSym("t","U000074")
; DefineXKBSym("u","U000075")
; DefineXKBSym("v","U000076")
; DefineXKBSym("w","U000077")
; DefineXKBSym("x","U000078")
; DefineXKBSym("y","U000079")
; DefineXKBSym("z","U00007A")
; DefineXKBSym("braceleft","U00007B")
; DefineXKBSym("bar","U00007C")
; DefineXKBSym("braceright","U00007D")
; DefineXKBSym("asciitilde","U00007E")
DefineXKBSym("nobreakspace","U0000A0")
DefineXKBSym("exclamdown","U0000A1")
DefineXKBSym("cent","U0000A2")
DefineXKBSym("sterling","U0000A3")
DefineXKBSym("currency","U0000A4")
DefineXKBSym("yen","U0000A5")
DefineXKBSym("brokenbar","U0000A6")
DefineXKBSym("section","U0000A7")
DefineXKBSym("diaeresis","U0000A8")
DefineXKBSym("copyright","U0000A9")
DefineXKBSym("ordfeminine","U0000AA")
DefineXKBSym("guillemotleft","U0000AB")
DefineXKBSym("notsign","U0000AC")
DefineXKBSym("hyphen","U0000AD")
DefineXKBSym("registered","U0000AE")
DefineXKBSym("macron","U0000AF")
DefineXKBSym("degree","U0000B0")
DefineXKBSym("plusminus","U0000B1")
DefineXKBSym("twosuperior","U0000B2")
DefineXKBSym("threesuperior","U0000B3")
DefineXKBSym("acute","U0000B4")
DefineXKBSym("mu","U0000B5")
DefineXKBSym("paragraph","U0000B6")
DefineXKBSym("periodcentered","U0000B7")
DefineXKBSym("cedilla","U0000B8")
DefineXKBSym("onesuperior","U0000B9")
DefineXKBSym("masculine","U0000BA")
DefineXKBSym("guillemotright","U0000BB")
DefineXKBSym("onequarter","U0000BC")
DefineXKBSym("onehalf","U0000BD")
DefineXKBSym("threequarters","U0000BE")
DefineXKBSym("questiondown","U0000BF")
DefineXKBSym("Agrave","U0000C0")
DefineXKBSym("Aacute","U0000C1")
DefineXKBSym("Acircumflex","U0000C2")
DefineXKBSym("Atilde","U0000C3")
DefineXKBSym("Adiaeresis","U0000C4")
DefineXKBSym("Aring","U0000C5")
DefineXKBSym("AE","U0000C6")
DefineXKBSym("Ccedilla","U0000C7")
DefineXKBSym("Egrave","U0000C8")
DefineXKBSym("Eacute","U0000C9")
DefineXKBSym("Ecircumflex","U0000CA")
DefineXKBSym("Ediaeresis","U0000CB")
DefineXKBSym("Igrave","U0000CC")
DefineXKBSym("Iacute","U0000CD")
DefineXKBSym("Icircumflex","U0000CE")
DefineXKBSym("Idiaeresis","U0000CF")
DefineXKBSym("ETH","U0000D0")
DefineXKBSym("Eth","U0000D0") ; deprecated
DefineXKBSym("Ntilde","U0000D1")
DefineXKBSym("Ograve","U0000D2")
DefineXKBSym("Oacute","U0000D3")
DefineXKBSym("Ocircumflex","U0000D4")
DefineXKBSym("Otilde","U0000D5")
DefineXKBSym("Odiaeresis","U0000D6")
DefineXKBSym("multiply","U0000D7")
DefineXKBSym("Oslash","U0000D8")
DefineXKBSym("Ooblique","U0000D8")
DefineXKBSym("Ugrave","U0000D9")
DefineXKBSym("Uacute","U0000DA")
DefineXKBSym("Ucircumflex","U0000DB")
DefineXKBSym("Udiaeresis","U0000DC")
DefineXKBSym("Yacute","U0000DD")
DefineXKBSym("THORN","U0000DE")
DefineXKBSym("Thorn","U0000DE") ; deprecated
DefineXKBSym("ssharp","U0000DF")
DefineXKBSym("agrave","U0000E0")
DefineXKBSym("aacute","U0000E1")
DefineXKBSym("acircumflex","U0000E2")
DefineXKBSym("atilde","U0000E3")
DefineXKBSym("adiaeresis","U0000E4")
DefineXKBSym("aring","U0000E5")
DefineXKBSym("ae","U0000E6")
DefineXKBSym("ccedilla","U0000E7")
DefineXKBSym("egrave","U0000E8")
DefineXKBSym("eacute","U0000E9")
DefineXKBSym("ecircumflex","U0000EA")
DefineXKBSym("ediaeresis","U0000EB")
DefineXKBSym("igrave","U0000EC")
DefineXKBSym("iacute","U0000ED")
DefineXKBSym("icircumflex","U0000EE")
DefineXKBSym("idiaeresis","U0000EF")
DefineXKBSym("eth","U0000F0")
DefineXKBSym("ntilde","U0000F1")
DefineXKBSym("ograve","U0000F2")
DefineXKBSym("oacute","U0000F3")
DefineXKBSym("ocircumflex","U0000F4")
DefineXKBSym("otilde","U0000F5")
DefineXKBSym("odiaeresis","U0000F6")
DefineXKBSym("division","U0000F7")
DefineXKBSym("oslash","U0000F8")
DefineXKBSym("ooblique","U0000F8")
DefineXKBSym("ugrave","U0000F9")
DefineXKBSym("uacute","U0000FA")
DefineXKBSym("ucircumflex","U0000FB")
DefineXKBSym("udiaeresis","U0000FC")
DefineXKBSym("yacute","U0000FD")
DefineXKBSym("thorn","U0000FE")
DefineXKBSym("ydiaeresis","U0000FF")
DefineXKBSym("Aogonek","U000104")
DefineXKBSym("breve","U0002D8")
DefineXKBSym("Lstroke","U000141")
DefineXKBSym("Lcaron","U00013D")
DefineXKBSym("Sacute","U00015A")
DefineXKBSym("Scaron","U000160")
DefineXKBSym("Scedilla","U00015E")
DefineXKBSym("Tcaron","U000164")
DefineXKBSym("Zacute","U000179")
DefineXKBSym("Zcaron","U00017D")
DefineXKBSym("Zabovedot","U00017B")
DefineXKBSym("aogonek","U000105")
DefineXKBSym("ogonek","U0002DB")
DefineXKBSym("lstroke","U000142")
DefineXKBSym("lcaron","U00013E")
DefineXKBSym("sacute","U00015B")
DefineXKBSym("caron","U0002C7")
DefineXKBSym("scaron","U000161")
DefineXKBSym("scedilla","U00015F")
DefineXKBSym("tcaron","U000165")
DefineXKBSym("zacute","U00017A")
DefineXKBSym("doubleacute","U0002DD")
DefineXKBSym("zcaron","U00017E")
DefineXKBSym("zabovedot","U00017C")
DefineXKBSym("Racute","U000154")
DefineXKBSym("Abreve","U000102")
DefineXKBSym("Lacute","U000139")
DefineXKBSym("Cacute","U000106")
DefineXKBSym("Ccaron","U00010C")
DefineXKBSym("Eogonek","U000118")
DefineXKBSym("Ecaron","U00011A")
DefineXKBSym("Dcaron","U00010E")
DefineXKBSym("Dstroke","U000110")
DefineXKBSym("Nacute","U000143")
DefineXKBSym("Ncaron","U000147")
DefineXKBSym("Odoubleacute","U000150")
DefineXKBSym("Rcaron","U000158")
DefineXKBSym("Uring","U00016E")
DefineXKBSym("Udoubleacute","U000170")
DefineXKBSym("Tcedilla","U000162")
DefineXKBSym("racute","U000155")
DefineXKBSym("abreve","U000103")
DefineXKBSym("lacute","U00013A")
DefineXKBSym("cacute","U000107")
DefineXKBSym("ccaron","U00010D")
DefineXKBSym("eogonek","U000119")
DefineXKBSym("ecaron","U00011B")
DefineXKBSym("dcaron","U00010F")
DefineXKBSym("dstroke","U000111")
DefineXKBSym("nacute","U000144")
DefineXKBSym("ncaron","U000148")
DefineXKBSym("odoubleacute","U000151")
DefineXKBSym("udoubleacute","U000171")
DefineXKBSym("rcaron","U000159")
DefineXKBSym("uring","U00016F")
DefineXKBSym("tcedilla","U000163")
DefineXKBSym("abovedot","U0002D9")
DefineXKBSym("Hstroke","U000126")
DefineXKBSym("Hcircumflex","U000124")
DefineXKBSym("Iabovedot","U000130")
DefineXKBSym("Gbreve","U00011E")
DefineXKBSym("Jcircumflex","U000134")
DefineXKBSym("hstroke","U000127")
DefineXKBSym("hcircumflex","U000125")
DefineXKBSym("idotless","U000131")
DefineXKBSym("gbreve","U00011F")
DefineXKBSym("jcircumflex","U000135")
DefineXKBSym("Cabovedot","U00010A")
DefineXKBSym("Ccircumflex","U000108")
DefineXKBSym("Gabovedot","U000120")
DefineXKBSym("Gcircumflex","U00011C")
DefineXKBSym("Ubreve","U00016C")
DefineXKBSym("Scircumflex","U00015C")
DefineXKBSym("cabovedot","U00010B")
DefineXKBSym("ccircumflex","U000109")
DefineXKBSym("gabovedot","U000121")
DefineXKBSym("gcircumflex","U00011D")
DefineXKBSym("ubreve","U00016D")
DefineXKBSym("scircumflex","U00015D")
DefineXKBSym("kra","U000138")
DefineXKBSym("Rcedilla","U000156")
DefineXKBSym("Itilde","U000128")
DefineXKBSym("Lcedilla","U00013B")
DefineXKBSym("Emacron","U000112")
DefineXKBSym("Gcedilla","U000122")
DefineXKBSym("Tslash","U000166")
DefineXKBSym("rcedilla","U000157")
DefineXKBSym("itilde","U000129")
DefineXKBSym("lcedilla","U00013C")
DefineXKBSym("emacron","U000113")
DefineXKBSym("gcedilla","U000123")
DefineXKBSym("tslash","U000167")
DefineXKBSym("ENG","U00014A")
DefineXKBSym("eng","U00014B")
DefineXKBSym("Amacron","U000100")
DefineXKBSym("Iogonek","U00012E")
DefineXKBSym("Eabovedot","U000116")
DefineXKBSym("Imacron","U00012A")
DefineXKBSym("Ncedilla","U000145")
DefineXKBSym("Omacron","U00014C")
DefineXKBSym("Kcedilla","U000136")
DefineXKBSym("Uogonek","U000172")
DefineXKBSym("Utilde","U000168")
DefineXKBSym("Umacron","U00016A")
DefineXKBSym("amacron","U000101")
DefineXKBSym("iogonek","U00012F")
DefineXKBSym("eabovedot","U000117")
DefineXKBSym("imacron","U00012B")
DefineXKBSym("ncedilla","U000146")
DefineXKBSym("omacron","U00014D")
DefineXKBSym("kcedilla","U000137")
DefineXKBSym("uogonek","U000173")
DefineXKBSym("utilde","U000169")
DefineXKBSym("umacron","U00016B")
DefineXKBSym("Babovedot","U001E02")
DefineXKBSym("babovedot","U001E03")
DefineXKBSym("Dabovedot","U001E0A")
DefineXKBSym("Wgrave","U001E80")
DefineXKBSym("Wacute","U001E82")
DefineXKBSym("dabovedot","U001E0B")
DefineXKBSym("Ygrave","U001EF2")
DefineXKBSym("Fabovedot","U001E1E")
DefineXKBSym("fabovedot","U001E1F")
DefineXKBSym("Mabovedot","U001E40")
DefineXKBSym("mabovedot","U001E41")
DefineXKBSym("Pabovedot","U001E56")
DefineXKBSym("wgrave","U001E81")
DefineXKBSym("pabovedot","U001E57")
DefineXKBSym("wacute","U001E83")
DefineXKBSym("Sabovedot","U001E60")
DefineXKBSym("ygrave","U001EF3")
DefineXKBSym("Wdiaeresis","U001E84")
DefineXKBSym("wdiaeresis","U001E85")
DefineXKBSym("sabovedot","U001E61")
DefineXKBSym("Wcircumflex","U000174")
DefineXKBSym("Tabovedot","U001E6A")
DefineXKBSym("Ycircumflex","U000176")
DefineXKBSym("wcircumflex","U000175")
DefineXKBSym("tabovedot","U001E6B")
DefineXKBSym("ycircumflex","U000177")
DefineXKBSym("OE","U000152")
DefineXKBSym("oe","U000153")
DefineXKBSym("Ydiaeresis","U000178")
DefineXKBSym("overline","U00203E")
DefineXKBSym("kana_fullstop","U003002")
DefineXKBSym("kana_openingbracket","U00300C")
DefineXKBSym("kana_closingbracket","U00300D")
DefineXKBSym("kana_comma","U003001")
DefineXKBSym("kana_conjunctive","U0030FB")
DefineXKBSym("kana_WO","U0030F2")
DefineXKBSym("kana_a","U0030A1")
DefineXKBSym("kana_i","U0030A3")
DefineXKBSym("kana_u","U0030A5")
DefineXKBSym("kana_e","U0030A7")
DefineXKBSym("kana_o","U0030A9")
DefineXKBSym("kana_ya","U0030E3")
DefineXKBSym("kana_yu","U0030E5")
DefineXKBSym("kana_yo","U0030E7")
DefineXKBSym("kana_tsu","U0030C3")
DefineXKBSym("prolongedsound","U0030FC")
DefineXKBSym("kana_A","U0030A2")
DefineXKBSym("kana_I","U0030A4")
DefineXKBSym("kana_U","U0030A6")
DefineXKBSym("kana_E","U0030A8")
DefineXKBSym("kana_O","U0030AA")
DefineXKBSym("kana_KA","U0030AB")
DefineXKBSym("kana_KI","U0030AD")
DefineXKBSym("kana_KU","U0030AF")
DefineXKBSym("kana_KE","U0030B1")
DefineXKBSym("kana_KO","U0030B3")
DefineXKBSym("kana_SA","U0030B5")
DefineXKBSym("kana_SHI","U0030B7")
DefineXKBSym("kana_SU","U0030B9")
DefineXKBSym("kana_SE","U0030BB")
DefineXKBSym("kana_SO","U0030BD")
DefineXKBSym("kana_TA","U0030BF")
DefineXKBSym("kana_CHI","U0030C1")
DefineXKBSym("kana_TSU","U0030C4")
DefineXKBSym("kana_TE","U0030C6")
DefineXKBSym("kana_TO","U0030C8")
DefineXKBSym("kana_NA","U0030CA")
DefineXKBSym("kana_NI","U0030CB")
DefineXKBSym("kana_NU","U0030CC")
DefineXKBSym("kana_NE","U0030CD")
DefineXKBSym("kana_NO","U0030CE")
DefineXKBSym("kana_HA","U0030CF")
DefineXKBSym("kana_HI","U0030D2")
DefineXKBSym("kana_FU","U0030D5")
DefineXKBSym("kana_HE","U0030D8")
DefineXKBSym("kana_HO","U0030DB")
DefineXKBSym("kana_MA","U0030DE")
DefineXKBSym("kana_MI","U0030DF")
DefineXKBSym("kana_MU","U0030E0")
DefineXKBSym("kana_ME","U0030E1")
DefineXKBSym("kana_MO","U0030E2")
DefineXKBSym("kana_YA","U0030E4")
DefineXKBSym("kana_YU","U0030E6")
DefineXKBSym("kana_YO","U0030E8")
DefineXKBSym("kana_RA","U0030E9")
DefineXKBSym("kana_RI","U0030EA")
DefineXKBSym("kana_RU","U0030EB")
DefineXKBSym("kana_RE","U0030EC")
DefineXKBSym("kana_RO","U0030ED")
DefineXKBSym("kana_WA","U0030EF")
DefineXKBSym("kana_N","U0030F3")
DefineXKBSym("voicedsound","U00309B")
DefineXKBSym("semivoicedsound","U00309C")
DefineXKBSym("Farsi_0","U0006F0")
DefineXKBSym("Farsi_1","U0006F1")
DefineXKBSym("Farsi_2","U0006F2")
DefineXKBSym("Farsi_3","U0006F3")
DefineXKBSym("Farsi_4","U0006F4")
DefineXKBSym("Farsi_5","U0006F5")
DefineXKBSym("Farsi_6","U0006F6")
DefineXKBSym("Farsi_7","U0006F7")
DefineXKBSym("Farsi_8","U0006F8")
DefineXKBSym("Farsi_9","U0006F9")
DefineXKBSym("Arabic_percent","U00066A")
DefineXKBSym("Arabic_superscript_alef","U000670")
DefineXKBSym("Arabic_tteh","U000679")
DefineXKBSym("Arabic_peh","U00067E")
DefineXKBSym("Arabic_tcheh","U000686")
DefineXKBSym("Arabic_ddal","U000688")
DefineXKBSym("Arabic_rreh","U000691")
DefineXKBSym("Arabic_comma","U00060C")
DefineXKBSym("Arabic_fullstop","U0006D4")
DefineXKBSym("Arabic_0","U000660")
DefineXKBSym("Arabic_1","U000661")
DefineXKBSym("Arabic_2","U000662")
DefineXKBSym("Arabic_3","U000663")
DefineXKBSym("Arabic_4","U000664")
DefineXKBSym("Arabic_5","U000665")
DefineXKBSym("Arabic_6","U000666")
DefineXKBSym("Arabic_7","U000667")
DefineXKBSym("Arabic_8","U000668")
DefineXKBSym("Arabic_9","U000669")
DefineXKBSym("Arabic_semicolon","U00061B")
DefineXKBSym("Arabic_question_mark","U00061F")
DefineXKBSym("Arabic_hamza","U000621")
DefineXKBSym("Arabic_maddaonalef","U000622")
DefineXKBSym("Arabic_hamzaonalef","U000623")
DefineXKBSym("Arabic_hamzaonwaw","U000624")
DefineXKBSym("Arabic_hamzaunderalef","U000625")
DefineXKBSym("Arabic_hamzaonyeh","U000626")
DefineXKBSym("Arabic_alef","U000627")
DefineXKBSym("Arabic_beh","U000628")
DefineXKBSym("Arabic_tehmarbuta","U000629")
DefineXKBSym("Arabic_teh","U00062A")
DefineXKBSym("Arabic_theh","U00062B")
DefineXKBSym("Arabic_jeem","U00062C")
DefineXKBSym("Arabic_hah","U00062D")
DefineXKBSym("Arabic_khah","U00062E")
DefineXKBSym("Arabic_dal","U00062F")
DefineXKBSym("Arabic_thal","U000630")
DefineXKBSym("Arabic_ra","U000631")
DefineXKBSym("Arabic_zain","U000632")
DefineXKBSym("Arabic_seen","U000633")
DefineXKBSym("Arabic_sheen","U000634")
DefineXKBSym("Arabic_sad","U000635")
DefineXKBSym("Arabic_dad","U000636")
DefineXKBSym("Arabic_tah","U000637")
DefineXKBSym("Arabic_zah","U000638")
DefineXKBSym("Arabic_ain","U000639")
DefineXKBSym("Arabic_ghain","U00063A")
DefineXKBSym("Arabic_tatweel","U000640")
DefineXKBSym("Arabic_feh","U000641")
DefineXKBSym("Arabic_qaf","U000642")
DefineXKBSym("Arabic_kaf","U000643")
DefineXKBSym("Arabic_lam","U000644")
DefineXKBSym("Arabic_meem","U000645")
DefineXKBSym("Arabic_noon","U000646")
DefineXKBSym("Arabic_ha","U000647")
DefineXKBSym("Arabic_waw","U000648")
DefineXKBSym("Arabic_alefmaksura","U000649")
DefineXKBSym("Arabic_yeh","U00064A")
DefineXKBSym("Arabic_fathatan","U00064B")
DefineXKBSym("Arabic_dammatan","U00064C")
DefineXKBSym("Arabic_kasratan","U00064D")
DefineXKBSym("Arabic_fatha","U00064E")
DefineXKBSym("Arabic_damma","U00064F")
DefineXKBSym("Arabic_kasra","U000650")
DefineXKBSym("Arabic_shadda","U000651")
DefineXKBSym("Arabic_sukun","U000652")
DefineXKBSym("Arabic_madda_above","U000653")
DefineXKBSym("Arabic_hamza_above","U000654")
DefineXKBSym("Arabic_hamza_below","U000655")
DefineXKBSym("Arabic_jeh","U000698")
DefineXKBSym("Arabic_veh","U0006A4")
DefineXKBSym("Arabic_keheh","U0006A9")
DefineXKBSym("Arabic_gaf","U0006AF")
DefineXKBSym("Arabic_noon_ghunna","U0006BA")
DefineXKBSym("Arabic_heh_doachashmee","U0006BE")
DefineXKBSym("Farsi_yeh","U0006CC")
DefineXKBSym("Arabic_farsi_yeh","U0006CC")
DefineXKBSym("Arabic_yeh_baree","U0006D2")
DefineXKBSym("Arabic_heh_goal","U0006C1")
DefineXKBSym("Cyrillic_GHE_bar","U000492")
DefineXKBSym("Cyrillic_ghe_bar","U000493")
DefineXKBSym("Cyrillic_ZHE_descender","U000496")
DefineXKBSym("Cyrillic_zhe_descender","U000497")
DefineXKBSym("Cyrillic_KA_descender","U00049A")
DefineXKBSym("Cyrillic_ka_descender","U00049B")
DefineXKBSym("Cyrillic_KA_vertstroke","U00049C")
DefineXKBSym("Cyrillic_ka_vertstroke","U00049D")
DefineXKBSym("Cyrillic_EN_descender","U0004A2")
DefineXKBSym("Cyrillic_en_descender","U0004A3")
DefineXKBSym("Cyrillic_U_straight","U0004AE")
DefineXKBSym("Cyrillic_u_straight","U0004AF")
DefineXKBSym("Cyrillic_U_straight_bar","U0004B0")
DefineXKBSym("Cyrillic_u_straight_bar","U0004B1")
DefineXKBSym("Cyrillic_HA_descender","U0004B2")
DefineXKBSym("Cyrillic_ha_descender","U0004B3")
DefineXKBSym("Cyrillic_CHE_descender","U0004B6")
DefineXKBSym("Cyrillic_che_descender","U0004B7")
DefineXKBSym("Cyrillic_CHE_vertstroke","U0004B8")
DefineXKBSym("Cyrillic_che_vertstroke","U0004B9")
DefineXKBSym("Cyrillic_SHHA","U0004BA")
DefineXKBSym("Cyrillic_shha","U0004BB")
DefineXKBSym("Cyrillic_SCHWA","U0004D8")
DefineXKBSym("Cyrillic_schwa","U0004D9")
DefineXKBSym("Cyrillic_I_macron","U0004E2")
DefineXKBSym("Cyrillic_i_macron","U0004E3")
DefineXKBSym("Cyrillic_O_bar","U0004E8")
DefineXKBSym("Cyrillic_o_bar","U0004E9")
DefineXKBSym("Cyrillic_U_macron","U0004EE")
DefineXKBSym("Cyrillic_u_macron","U0004EF")
DefineXKBSym("Serbian_dje","U000452")
DefineXKBSym("Macedonia_gje","U000453")
DefineXKBSym("Cyrillic_io","U000451")
DefineXKBSym("Ukrainian_ie","U000454")
DefineXKBSym("Macedonia_dse","U000455")
DefineXKBSym("Ukrainian_i","U000456")
DefineXKBSym("Ukrainian_yi","U000457")
DefineXKBSym("Cyrillic_je","U000458")
DefineXKBSym("Cyrillic_lje","U000459")
DefineXKBSym("Cyrillic_nje","U00045A")
DefineXKBSym("Serbian_tshe","U00045B")
DefineXKBSym("Macedonia_kje","U00045C")
DefineXKBSym("Ukrainian_ghe_with_upturn","U000491")
DefineXKBSym("Byelorussian_shortu","U00045E")
DefineXKBSym("Cyrillic_dzhe","U00045F")
DefineXKBSym("numerosign","U002116")
DefineXKBSym("Serbian_DJE","U000402")
DefineXKBSym("Macedonia_GJE","U000403")
DefineXKBSym("Cyrillic_IO","U000401")
DefineXKBSym("Ukrainian_IE","U000404")
DefineXKBSym("Macedonia_DSE","U000405")
DefineXKBSym("Ukrainian_I","U000406")
DefineXKBSym("Ukrainian_YI","U000407")
DefineXKBSym("Cyrillic_JE","U000408")
DefineXKBSym("Cyrillic_LJE","U000409")
DefineXKBSym("Cyrillic_NJE","U00040A")
DefineXKBSym("Serbian_TSHE","U00040B")
DefineXKBSym("Macedonia_KJE","U00040C")
DefineXKBSym("Ukrainian_GHE_WITH_UPTURN","U000490")
DefineXKBSym("Byelorussian_SHORTU","U00040E")
DefineXKBSym("Cyrillic_DZHE","U00040F")
DefineXKBSym("Cyrillic_yu","U00044E")
DefineXKBSym("Cyrillic_a","U000430")
DefineXKBSym("Cyrillic_be","U000431")
DefineXKBSym("Cyrillic_tse","U000446")
DefineXKBSym("Cyrillic_de","U000434")
DefineXKBSym("Cyrillic_ie","U000435")
DefineXKBSym("Cyrillic_ef","U000444")
DefineXKBSym("Cyrillic_ghe","U000433")
DefineXKBSym("Cyrillic_ha","U000445")
DefineXKBSym("Cyrillic_i","U000438")
DefineXKBSym("Cyrillic_shorti","U000439")
DefineXKBSym("Cyrillic_ka","U00043A")
DefineXKBSym("Cyrillic_el","U00043B")
DefineXKBSym("Cyrillic_em","U00043C")
DefineXKBSym("Cyrillic_en","U00043D")
DefineXKBSym("Cyrillic_o","U00043E")
DefineXKBSym("Cyrillic_pe","U00043F")
DefineXKBSym("Cyrillic_ya","U00044F")
DefineXKBSym("Cyrillic_er","U000440")
DefineXKBSym("Cyrillic_es","U000441")
DefineXKBSym("Cyrillic_te","U000442")
DefineXKBSym("Cyrillic_u","U000443")
DefineXKBSym("Cyrillic_zhe","U000436")
DefineXKBSym("Cyrillic_ve","U000432")
DefineXKBSym("Cyrillic_softsign","U00044C")
DefineXKBSym("Cyrillic_yeru","U00044B")
DefineXKBSym("Cyrillic_ze","U000437")
DefineXKBSym("Cyrillic_sha","U000448")
DefineXKBSym("Cyrillic_e","U00044D")
DefineXKBSym("Cyrillic_shcha","U000449")
DefineXKBSym("Cyrillic_che","U000447")
DefineXKBSym("Cyrillic_hardsign","U00044A")
DefineXKBSym("Cyrillic_YU","U00042E")
DefineXKBSym("Cyrillic_A","U000410")
DefineXKBSym("Cyrillic_BE","U000411")
DefineXKBSym("Cyrillic_TSE","U000426")
DefineXKBSym("Cyrillic_DE","U000414")
DefineXKBSym("Cyrillic_IE","U000415")
DefineXKBSym("Cyrillic_EF","U000424")
DefineXKBSym("Cyrillic_GHE","U000413")
DefineXKBSym("Cyrillic_HA","U000425")
DefineXKBSym("Cyrillic_I","U000418")
DefineXKBSym("Cyrillic_SHORTI","U000419")
DefineXKBSym("Cyrillic_KA","U00041A")
DefineXKBSym("Cyrillic_EL","U00041B")
DefineXKBSym("Cyrillic_EM","U00041C")
DefineXKBSym("Cyrillic_EN","U00041D")
DefineXKBSym("Cyrillic_O","U00041E")
DefineXKBSym("Cyrillic_PE","U00041F")
DefineXKBSym("Cyrillic_YA","U00042F")
DefineXKBSym("Cyrillic_ER","U000420")
DefineXKBSym("Cyrillic_ES","U000421")
DefineXKBSym("Cyrillic_TE","U000422")
DefineXKBSym("Cyrillic_U","U000423")
DefineXKBSym("Cyrillic_ZHE","U000416")
DefineXKBSym("Cyrillic_VE","U000412")
DefineXKBSym("Cyrillic_SOFTSIGN","U00042C")
DefineXKBSym("Cyrillic_YERU","U00042B")
DefineXKBSym("Cyrillic_ZE","U000417")
DefineXKBSym("Cyrillic_SHA","U000428")
DefineXKBSym("Cyrillic_E","U00042D")
DefineXKBSym("Cyrillic_SHCHA","U000429")
DefineXKBSym("Cyrillic_CHE","U000427")
DefineXKBSym("Cyrillic_HARDSIGN","U00042A")
DefineXKBSym("Greek_ALPHAaccent","U000386")
DefineXKBSym("Greek_EPSILONaccent","U000388")
DefineXKBSym("Greek_ETAaccent","U000389")
DefineXKBSym("Greek_IOTAaccent","U00038A")
DefineXKBSym("Greek_IOTAdieresis","U0003AA")
DefineXKBSym("Greek_OMICRONaccent","U00038C")
DefineXKBSym("Greek_UPSILONaccent","U00038E")
DefineXKBSym("Greek_UPSILONdieresis","U0003AB")
DefineXKBSym("Greek_OMEGAaccent","U00038F")
DefineXKBSym("Greek_accentdieresis","U000385")
DefineXKBSym("Greek_horizbar","U002015")
DefineXKBSym("Greek_alphaaccent","U0003AC")
DefineXKBSym("Greek_epsilonaccent","U0003AD")
DefineXKBSym("Greek_etaaccent","U0003AE")
DefineXKBSym("Greek_iotaaccent","U0003AF")
DefineXKBSym("Greek_iotadieresis","U0003CA")
DefineXKBSym("Greek_iotaaccentdieresis","U000390")
DefineXKBSym("Greek_omicronaccent","U0003CC")
DefineXKBSym("Greek_upsilonaccent","U0003CD")
DefineXKBSym("Greek_upsilondieresis","U0003CB")
DefineXKBSym("Greek_upsilonaccentdieresis","U0003B0")
DefineXKBSym("Greek_omegaaccent","U0003CE")
DefineXKBSym("Greek_ALPHA","U000391")
DefineXKBSym("Greek_BETA","U000392")
DefineXKBSym("Greek_GAMMA","U000393")
DefineXKBSym("Greek_DELTA","U000394")
DefineXKBSym("Greek_EPSILON","U000395")
DefineXKBSym("Greek_ZETA","U000396")
DefineXKBSym("Greek_ETA","U000397")
DefineXKBSym("Greek_THETA","U000398")
DefineXKBSym("Greek_IOTA","U000399")
DefineXKBSym("Greek_KAPPA","U00039A")
DefineXKBSym("Greek_LAMDA","U00039B")
DefineXKBSym("Greek_LAMBDA","U00039B")
DefineXKBSym("Greek_MU","U00039C")
DefineXKBSym("Greek_NU","U00039D")
DefineXKBSym("Greek_XI","U00039E")
DefineXKBSym("Greek_OMICRON","U00039F")
DefineXKBSym("Greek_PI","U0003A0")
DefineXKBSym("Greek_RHO","U0003A1")
DefineXKBSym("Greek_SIGMA","U0003A3")
DefineXKBSym("Greek_TAU","U0003A4")
DefineXKBSym("Greek_UPSILON","U0003A5")
DefineXKBSym("Greek_PHI","U0003A6")
DefineXKBSym("Greek_CHI","U0003A7")
DefineXKBSym("Greek_PSI","U0003A8")
DefineXKBSym("Greek_OMEGA","U0003A9")
DefineXKBSym("Greek_alpha","U0003B1")
DefineXKBSym("Greek_beta","U0003B2")
DefineXKBSym("Greek_gamma","U0003B3")
DefineXKBSym("Greek_delta","U0003B4")
DefineXKBSym("Greek_epsilon","U0003B5")
DefineXKBSym("Greek_zeta","U0003B6")
DefineXKBSym("Greek_eta","U0003B7")
DefineXKBSym("Greek_theta","U0003B8")
DefineXKBSym("Greek_iota","U0003B9")
DefineXKBSym("Greek_kappa","U0003BA")
DefineXKBSym("Greek_lamda","U0003BB")
DefineXKBSym("Greek_lambda","U0003BB")
DefineXKBSym("Greek_mu","U0003BC")
DefineXKBSym("Greek_nu","U0003BD")
DefineXKBSym("Greek_xi","U0003BE")
DefineXKBSym("Greek_omicron","U0003BF")
DefineXKBSym("Greek_pi","U0003C0")
DefineXKBSym("Greek_rho","U0003C1")
DefineXKBSym("Greek_sigma","U0003C3")
DefineXKBSym("Greek_finalsmallsigma","U0003C2")
DefineXKBSym("Greek_tau","U0003C4")
DefineXKBSym("Greek_upsilon","U0003C5")
DefineXKBSym("Greek_phi","U0003C6")
DefineXKBSym("Greek_chi","U0003C7")
DefineXKBSym("Greek_psi","U0003C8")
DefineXKBSym("Greek_omega","U0003C9")
DefineXKBSym("leftradical","U0023B7")
DefineXKBSym("topleftradical","U00250C")
DefineXKBSym("horizconnector","U002500")
DefineXKBSym("topintegral","U002320")
DefineXKBSym("botintegral","U002321")
DefineXKBSym("vertconnector","U002502")
DefineXKBSym("topleftsqbracket","U0023A1")
DefineXKBSym("botleftsqbracket","U0023A3")
DefineXKBSym("toprightsqbracket","U0023A4")
DefineXKBSym("botrightsqbracket","U0023A6")
DefineXKBSym("topleftparens","U00239B")
DefineXKBSym("botleftparens","U00239D")
DefineXKBSym("toprightparens","U00239E")
DefineXKBSym("botrightparens","U0023A0")
DefineXKBSym("leftmiddlecurlybrace","U0023A8")
DefineXKBSym("rightmiddlecurlybrace","U0023AC")
DefineXKBSym("lessthanequal","U002264")
DefineXKBSym("notequal","U002260")
DefineXKBSym("greaterthanequal","U002265")
DefineXKBSym("integral","U00222B")
DefineXKBSym("therefore","U002234")
DefineXKBSym("variation","U00221D")
DefineXKBSym("infinity","U00221E")
DefineXKBSym("nabla","U002207")
DefineXKBSym("approximate","U00223C")
DefineXKBSym("similarequal","U002243")
DefineXKBSym("ifonlyif","U0021D4")
DefineXKBSym("implies","U0021D2")
DefineXKBSym("identical","U002261")
DefineXKBSym("radical","U00221A")
DefineXKBSym("includedin","U002282")
DefineXKBSym("includes","U002283")
DefineXKBSym("intersection","U002229")
DefineXKBSym("union","U00222A")
DefineXKBSym("logicaland","U002227")
DefineXKBSym("logicalor","U002228")
DefineXKBSym("partialderivative","U002202")
DefineXKBSym("function","U000192")
DefineXKBSym("leftarrow","U002190")
DefineXKBSym("uparrow","U002191")
DefineXKBSym("rightarrow","U002192")
DefineXKBSym("downarrow","U002193")
DefineXKBSym("soliddiamond","U0025C6")
DefineXKBSym("checkerboard","U002592")
DefineXKBSym("ht","U002409")
DefineXKBSym("ff","U00240C")
DefineXKBSym("cr","U00240D")
DefineXKBSym("lf","U00240A")
DefineXKBSym("nl","U002424")
DefineXKBSym("vt","U00240B")
DefineXKBSym("lowrightcorner","U002518")
DefineXKBSym("uprightcorner","U002510")
DefineXKBSym("upleftcorner","U00250C")
DefineXKBSym("lowleftcorner","U002514")
DefineXKBSym("crossinglines","U00253C")
DefineXKBSym("horizlinescan1","U0023BA")
DefineXKBSym("horizlinescan3","U0023BB")
DefineXKBSym("horizlinescan5","U002500")
DefineXKBSym("horizlinescan7","U0023BC")
DefineXKBSym("horizlinescan9","U0023BD")
DefineXKBSym("leftt","U00251C")
DefineXKBSym("rightt","U002524")
DefineXKBSym("bott","U002534")
DefineXKBSym("topt","U00252C")
DefineXKBSym("vertbar","U002502")
DefineXKBSym("emspace","U002003")
DefineXKBSym("enspace","U002002")
DefineXKBSym("em3space","U002004")
DefineXKBSym("em4space","U002005")
DefineXKBSym("digitspace","U002007")
DefineXKBSym("punctspace","U002008")
DefineXKBSym("thinspace","U002009")
DefineXKBSym("hairspace","U00200A")
DefineXKBSym("emdash","U002014")
DefineXKBSym("endash","U002013")
DefineXKBSym("signifblank","U002423")
DefineXKBSym("ellipsis","U002026")
DefineXKBSym("doubbaselinedot","U002025")
DefineXKBSym("onethird","U002153")
DefineXKBSym("twothirds","U002154")
DefineXKBSym("onefifth","U002155")
DefineXKBSym("twofifths","U002156")
DefineXKBSym("threefifths","U002157")
DefineXKBSym("fourfifths","U002158")
DefineXKBSym("onesixth","U002159")
DefineXKBSym("fivesixths","U00215A")
DefineXKBSym("careof","U002105")
DefineXKBSym("figdash","U002012")
DefineXKBSym("leftanglebracket","U0027E8")
DefineXKBSym("decimalpoint","U00002E")
DefineXKBSym("rightanglebracket","U0027E9")
DefineXKBSym("oneeighth","U00215B")
DefineXKBSym("threeeighths","U00215C")
DefineXKBSym("fiveeighths","U00215D")
DefineXKBSym("seveneighths","U00215E")
DefineXKBSym("trademark","U002122")
DefineXKBSym("signaturemark","U002613")
DefineXKBSym("leftopentriangle","U0025C1")
DefineXKBSym("rightopentriangle","U0025B7")
DefineXKBSym("emopencircle","U0025CB")
DefineXKBSym("emopenrectangle","U0025AF")
DefineXKBSym("leftsinglequotemark","U002018")
DefineXKBSym("rightsinglequotemark","U002019")
DefineXKBSym("leftdoublequotemark","U00201C")
DefineXKBSym("rightdoublequotemark","U00201D")
DefineXKBSym("prescription","U00211E")
DefineXKBSym("minutes","U002032")
DefineXKBSym("seconds","U002033")
DefineXKBSym("latincross","U00271D")
DefineXKBSym("filledrectbullet","U0025AC")
DefineXKBSym("filledlefttribullet","U0025C0")
DefineXKBSym("filledrighttribullet","U0025B6")
DefineXKBSym("emfilledcircle","U0025CF")
DefineXKBSym("emfilledrect","U0025AE")
DefineXKBSym("enopencircbullet","U0025E6")
DefineXKBSym("enopensquarebullet","U0025AB")
DefineXKBSym("openrectbullet","U0025AD")
DefineXKBSym("opentribulletup","U0025B3")
DefineXKBSym("opentribulletdown","U0025BD")
DefineXKBSym("openstar","U002606")
DefineXKBSym("enfilledcircbullet","U002022")
DefineXKBSym("enfilledsqbullet","U0025AA")
DefineXKBSym("filledtribulletup","U0025B2")
DefineXKBSym("filledtribulletdown","U0025BC")
DefineXKBSym("leftpointer","U00261C")
DefineXKBSym("rightpointer","U00261E")
DefineXKBSym("club","U002663")
DefineXKBSym("diamond","U002666")
DefineXKBSym("heart","U002665")
DefineXKBSym("maltesecross","U002720")
DefineXKBSym("dagger","U002020")
DefineXKBSym("doubledagger","U002021")
DefineXKBSym("checkmark","U002713")
DefineXKBSym("ballotcross","U002717")
DefineXKBSym("musicalsharp","U00266F")
DefineXKBSym("musicalflat","U00266D")
DefineXKBSym("malesymbol","U002642")
DefineXKBSym("femalesymbol","U002640")
DefineXKBSym("telephone","U00260E")
DefineXKBSym("telephonerecorder","U002315")
DefineXKBSym("phonographcopyright","U002117")
DefineXKBSym("caret","U002038")
DefineXKBSym("singlelowquotemark","U00201A")
DefineXKBSym("doublelowquotemark","U00201E")
DefineXKBSym("leftcaret","U00003C")
DefineXKBSym("rightcaret","U00003E")
DefineXKBSym("downcaret","U002228")
DefineXKBSym("upcaret","U002227")
DefineXKBSym("overbar","U0000AF")
DefineXKBSym("downtack","U0022A5")
DefineXKBSym("upshoe","U002229")
DefineXKBSym("downstile","U00230A")
DefineXKBSym("underbar","U00005F")
DefineXKBSym("jot","U002218")
DefineXKBSym("quad","U002395")
DefineXKBSym("uptack","U0022A4")
DefineXKBSym("circle","U0025CB")
DefineXKBSym("upstile","U002308")
DefineXKBSym("downshoe","U00222A")
DefineXKBSym("rightshoe","U002283")
DefineXKBSym("leftshoe","U002282")
DefineXKBSym("lefttack","U0022A2")
DefineXKBSym("righttack","U0022A3")
DefineXKBSym("hebrew_doublelowline","U002017")
DefineXKBSym("hebrew_aleph","U0005D0")
DefineXKBSym("hebrew_bet","U0005D1")
DefineXKBSym("hebrew_beth","U0005D1") ; deprecated
DefineXKBSym("hebrew_gimel","U0005D2")
DefineXKBSym("hebrew_gimmel","U0005D2") ; deprecated
DefineXKBSym("hebrew_dalet","U0005D3")
DefineXKBSym("hebrew_daleth","U0005D3") ; deprecated
DefineXKBSym("hebrew_he","U0005D4")
DefineXKBSym("hebrew_waw","U0005D5")
DefineXKBSym("hebrew_zain","U0005D6")
DefineXKBSym("hebrew_zayin","U0005D6") ; deprecated
DefineXKBSym("hebrew_chet","U0005D7")
DefineXKBSym("hebrew_het","U0005D7") ; deprecated
DefineXKBSym("hebrew_tet","U0005D8")
DefineXKBSym("hebrew_teth","U0005D8") ; deprecated
DefineXKBSym("hebrew_yod","U0005D9")
DefineXKBSym("hebrew_finalkaph","U0005DA")
DefineXKBSym("hebrew_kaph","U0005DB")
DefineXKBSym("hebrew_lamed","U0005DC")
DefineXKBSym("hebrew_finalmem","U0005DD")
DefineXKBSym("hebrew_mem","U0005DE")
DefineXKBSym("hebrew_finalnun","U0005DF")
DefineXKBSym("hebrew_nun","U0005E0")
DefineXKBSym("hebrew_samech","U0005E1")
DefineXKBSym("hebrew_samekh","U0005E1") ; deprecated
DefineXKBSym("hebrew_ayin","U0005E2")
DefineXKBSym("hebrew_finalpe","U0005E3")
DefineXKBSym("hebrew_pe","U0005E4")
DefineXKBSym("hebrew_finalzade","U0005E5")
DefineXKBSym("hebrew_finalzadi","U0005E5") ; deprecated
DefineXKBSym("hebrew_zade","U0005E6")
DefineXKBSym("hebrew_zadi","U0005E6") ; deprecated
DefineXKBSym("hebrew_qoph","U0005E7")
DefineXKBSym("hebrew_kuf","U0005E7") ; deprecated
DefineXKBSym("hebrew_resh","U0005E8")
DefineXKBSym("hebrew_shin","U0005E9")
DefineXKBSym("hebrew_taw","U0005EA")
DefineXKBSym("hebrew_taf","U0005EA") ; deprecated
DefineXKBSym("Thai_kokai","U000E01")
DefineXKBSym("Thai_khokhai","U000E02")
DefineXKBSym("Thai_khokhuat","U000E03")
DefineXKBSym("Thai_khokhwai","U000E04")
DefineXKBSym("Thai_khokhon","U000E05")
DefineXKBSym("Thai_khorakhang","U000E06")
DefineXKBSym("Thai_ngongu","U000E07")
DefineXKBSym("Thai_chochan","U000E08")
DefineXKBSym("Thai_choching","U000E09")
DefineXKBSym("Thai_chochang","U000E0A")
DefineXKBSym("Thai_soso","U000E0B")
DefineXKBSym("Thai_chochoe","U000E0C")
DefineXKBSym("Thai_yoying","U000E0D")
DefineXKBSym("Thai_dochada","U000E0E")
DefineXKBSym("Thai_topatak","U000E0F")
DefineXKBSym("Thai_thothan","U000E10")
DefineXKBSym("Thai_thonangmontho","U000E11")
DefineXKBSym("Thai_thophuthao","U000E12")
DefineXKBSym("Thai_nonen","U000E13")
DefineXKBSym("Thai_dodek","U000E14")
DefineXKBSym("Thai_totao","U000E15")
DefineXKBSym("Thai_thothung","U000E16")
DefineXKBSym("Thai_thothahan","U000E17")
DefineXKBSym("Thai_thothong","U000E18")
DefineXKBSym("Thai_nonu","U000E19")
DefineXKBSym("Thai_bobaimai","U000E1A")
DefineXKBSym("Thai_popla","U000E1B")
DefineXKBSym("Thai_phophung","U000E1C")
DefineXKBSym("Thai_fofa","U000E1D")
DefineXKBSym("Thai_phophan","U000E1E")
DefineXKBSym("Thai_fofan","U000E1F")
DefineXKBSym("Thai_phosamphao","U000E20")
DefineXKBSym("Thai_moma","U000E21")
DefineXKBSym("Thai_yoyak","U000E22")
DefineXKBSym("Thai_rorua","U000E23")
DefineXKBSym("Thai_ru","U000E24")
DefineXKBSym("Thai_loling","U000E25")
DefineXKBSym("Thai_lu","U000E26")
DefineXKBSym("Thai_wowaen","U000E27")
DefineXKBSym("Thai_sosala","U000E28")
DefineXKBSym("Thai_sorusi","U000E29")
DefineXKBSym("Thai_sosua","U000E2A")
DefineXKBSym("Thai_hohip","U000E2B")
DefineXKBSym("Thai_lochula","U000E2C")
DefineXKBSym("Thai_oang","U000E2D")
DefineXKBSym("Thai_honokhuk","U000E2E")
DefineXKBSym("Thai_paiyannoi","U000E2F")
DefineXKBSym("Thai_saraa","U000E30")
DefineXKBSym("Thai_maihanakat","U000E31")
DefineXKBSym("Thai_saraaa","U000E32")
DefineXKBSym("Thai_saraam","U000E33")
DefineXKBSym("Thai_sarai","U000E34")
DefineXKBSym("Thai_saraii","U000E35")
DefineXKBSym("Thai_saraue","U000E36")
DefineXKBSym("Thai_sarauee","U000E37")
DefineXKBSym("Thai_sarau","U000E38")
DefineXKBSym("Thai_sarauu","U000E39")
DefineXKBSym("Thai_phinthu","U000E3A")
DefineXKBSym("Thai_baht","U000E3F")
DefineXKBSym("Thai_sarae","U000E40")
DefineXKBSym("Thai_saraae","U000E41")
DefineXKBSym("Thai_sarao","U000E42")
DefineXKBSym("Thai_saraaimaimuan","U000E43")
DefineXKBSym("Thai_saraaimaimalai","U000E44")
DefineXKBSym("Thai_lakkhangyao","U000E45")
DefineXKBSym("Thai_maiyamok","U000E46")
DefineXKBSym("Thai_maitaikhu","U000E47")
DefineXKBSym("Thai_maiek","U000E48")
DefineXKBSym("Thai_maitho","U000E49")
DefineXKBSym("Thai_maitri","U000E4A")
DefineXKBSym("Thai_maichattawa","U000E4B")
DefineXKBSym("Thai_thanthakhat","U000E4C")
DefineXKBSym("Thai_nikhahit","U000E4D")
DefineXKBSym("Thai_leksun","U000E50")
DefineXKBSym("Thai_leknung","U000E51")
DefineXKBSym("Thai_leksong","U000E52")
DefineXKBSym("Thai_leksam","U000E53")
DefineXKBSym("Thai_leksi","U000E54")
DefineXKBSym("Thai_lekha","U000E55")
DefineXKBSym("Thai_lekhok","U000E56")
DefineXKBSym("Thai_lekchet","U000E57")
DefineXKBSym("Thai_lekpaet","U000E58")
DefineXKBSym("Thai_lekkao","U000E59")
DefineXKBSym("Korean_Won","U0020A9")
DefineXKBSym("Armenian_ligature_ew","U000587")
DefineXKBSym("Armenian_full_stop","U000589")
DefineXKBSym("Armenian_verjaket","U000589")
DefineXKBSym("Armenian_separation_mark","U00055D")
DefineXKBSym("Armenian_but","U00055D")
DefineXKBSym("Armenian_hyphen","U00058A")
DefineXKBSym("Armenian_yentamna","U00058A")
DefineXKBSym("Armenian_exclam","U00055C")
DefineXKBSym("Armenian_amanak","U00055C")
DefineXKBSym("Armenian_accent","U00055B")
DefineXKBSym("Armenian_shesht","U00055B")
DefineXKBSym("Armenian_question","U00055E")
DefineXKBSym("Armenian_paruyk","U00055E")
DefineXKBSym("Armenian_AYB","U000531")
DefineXKBSym("Armenian_ayb","U000561")
DefineXKBSym("Armenian_BEN","U000532")
DefineXKBSym("Armenian_ben","U000562")
DefineXKBSym("Armenian_GIM","U000533")
DefineXKBSym("Armenian_gim","U000563")
DefineXKBSym("Armenian_DA","U000534")
DefineXKBSym("Armenian_da","U000564")
DefineXKBSym("Armenian_YECH","U000535")
DefineXKBSym("Armenian_yech","U000565")
DefineXKBSym("Armenian_ZA","U000536")
DefineXKBSym("Armenian_za","U000566")
DefineXKBSym("Armenian_E","U000537")
DefineXKBSym("Armenian_e","U000567")
DefineXKBSym("Armenian_AT","U000538")
DefineXKBSym("Armenian_at","U000568")
DefineXKBSym("Armenian_TO","U000539")
DefineXKBSym("Armenian_to","U000569")
DefineXKBSym("Armenian_ZHE","U00053A")
DefineXKBSym("Armenian_zhe","U00056A")
DefineXKBSym("Armenian_INI","U00053B")
DefineXKBSym("Armenian_ini","U00056B")
DefineXKBSym("Armenian_LYUN","U00053C")
DefineXKBSym("Armenian_lyun","U00056C")
DefineXKBSym("Armenian_KHE","U00053D")
DefineXKBSym("Armenian_khe","U00056D")
DefineXKBSym("Armenian_TSA","U00053E")
DefineXKBSym("Armenian_tsa","U00056E")
DefineXKBSym("Armenian_KEN","U00053F")
DefineXKBSym("Armenian_ken","U00056F")
DefineXKBSym("Armenian_HO","U000540")
DefineXKBSym("Armenian_ho","U000570")
DefineXKBSym("Armenian_DZA","U000541")
DefineXKBSym("Armenian_dza","U000571")
DefineXKBSym("Armenian_GHAT","U000542")
DefineXKBSym("Armenian_ghat","U000572")
DefineXKBSym("Armenian_TCHE","U000543")
DefineXKBSym("Armenian_tche","U000573")
DefineXKBSym("Armenian_MEN","U000544")
DefineXKBSym("Armenian_men","U000574")
DefineXKBSym("Armenian_HI","U000545")
DefineXKBSym("Armenian_hi","U000575")
DefineXKBSym("Armenian_NU","U000546")
DefineXKBSym("Armenian_nu","U000576")
DefineXKBSym("Armenian_SHA","U000547")
DefineXKBSym("Armenian_sha","U000577")
DefineXKBSym("Armenian_VO","U000548")
DefineXKBSym("Armenian_vo","U000578")
DefineXKBSym("Armenian_CHA","U000549")
DefineXKBSym("Armenian_cha","U000579")
DefineXKBSym("Armenian_PE","U00054A")
DefineXKBSym("Armenian_pe","U00057A")
DefineXKBSym("Armenian_JE","U00054B")
DefineXKBSym("Armenian_je","U00057B")
DefineXKBSym("Armenian_RA","U00054C")
DefineXKBSym("Armenian_ra","U00057C")
DefineXKBSym("Armenian_SE","U00054D")
DefineXKBSym("Armenian_se","U00057D")
DefineXKBSym("Armenian_VEV","U00054E")
DefineXKBSym("Armenian_vev","U00057E")
DefineXKBSym("Armenian_TYUN","U00054F")
DefineXKBSym("Armenian_tyun","U00057F")
DefineXKBSym("Armenian_RE","U000550")
DefineXKBSym("Armenian_re","U000580")
DefineXKBSym("Armenian_TSO","U000551")
DefineXKBSym("Armenian_tso","U000581")
DefineXKBSym("Armenian_VYUN","U000552")
DefineXKBSym("Armenian_vyun","U000582")
DefineXKBSym("Armenian_PYUR","U000553")
DefineXKBSym("Armenian_pyur","U000583")
DefineXKBSym("Armenian_KE","U000554")
DefineXKBSym("Armenian_ke","U000584")
DefineXKBSym("Armenian_O","U000555")
DefineXKBSym("Armenian_o","U000585")
DefineXKBSym("Armenian_FE","U000556")
DefineXKBSym("Armenian_fe","U000586")
DefineXKBSym("Armenian_apostrophe","U00055A")
DefineXKBSym("Georgian_an","U0010D0")
DefineXKBSym("Georgian_ban","U0010D1")
DefineXKBSym("Georgian_gan","U0010D2")
DefineXKBSym("Georgian_don","U0010D3")
DefineXKBSym("Georgian_en","U0010D4")
DefineXKBSym("Georgian_vin","U0010D5")
DefineXKBSym("Georgian_zen","U0010D6")
DefineXKBSym("Georgian_tan","U0010D7")
DefineXKBSym("Georgian_in","U0010D8")
DefineXKBSym("Georgian_kan","U0010D9")
DefineXKBSym("Georgian_las","U0010DA")
DefineXKBSym("Georgian_man","U0010DB")
DefineXKBSym("Georgian_nar","U0010DC")
DefineXKBSym("Georgian_on","U0010DD")
DefineXKBSym("Georgian_par","U0010DE")
DefineXKBSym("Georgian_zhar","U0010DF")
DefineXKBSym("Georgian_rae","U0010E0")
DefineXKBSym("Georgian_san","U0010E1")
DefineXKBSym("Georgian_tar","U0010E2")
DefineXKBSym("Georgian_un","U0010E3")
DefineXKBSym("Georgian_phar","U0010E4")
DefineXKBSym("Georgian_khar","U0010E5")
DefineXKBSym("Georgian_ghan","U0010E6")
DefineXKBSym("Georgian_qar","U0010E7")
DefineXKBSym("Georgian_shin","U0010E8")
DefineXKBSym("Georgian_chin","U0010E9")
DefineXKBSym("Georgian_can","U0010EA")
DefineXKBSym("Georgian_jil","U0010EB")
DefineXKBSym("Georgian_cil","U0010EC")
DefineXKBSym("Georgian_char","U0010ED")
DefineXKBSym("Georgian_xan","U0010EE")
DefineXKBSym("Georgian_jhan","U0010EF")
DefineXKBSym("Georgian_hae","U0010F0")
DefineXKBSym("Georgian_he","U0010F1")
DefineXKBSym("Georgian_hie","U0010F2")
DefineXKBSym("Georgian_we","U0010F3")
DefineXKBSym("Georgian_har","U0010F4")
DefineXKBSym("Georgian_hoe","U0010F5")
DefineXKBSym("Georgian_fi","U0010F6")
DefineXKBSym("Xabovedot","U001E8A")
DefineXKBSym("Ibreve","U00012C")
DefineXKBSym("Zstroke","U0001B5")
DefineXKBSym("Gcaron","U0001E6")
DefineXKBSym("Ocaron","U0001D2")
DefineXKBSym("Obarred","U00019F")
DefineXKBSym("xabovedot","U001E8B")
DefineXKBSym("ibreve","U00012D")
DefineXKBSym("zstroke","U0001B6")
DefineXKBSym("gcaron","U0001E7")
DefineXKBSym("ocaron","U0001D2")
DefineXKBSym("obarred","U000275")
DefineXKBSym("SCHWA","U00018F")
DefineXKBSym("schwa","U000259")
DefineXKBSym("Lbelowdot","U001E36")
DefineXKBSym("lbelowdot","U001E37")
DefineXKBSym("Abelowdot","U001EA0")
DefineXKBSym("abelowdot","U001EA1")
DefineXKBSym("Ahook","U001EA2")
DefineXKBSym("ahook","U001EA3")
DefineXKBSym("Acircumflexacute","U001EA4")
DefineXKBSym("acircumflexacute","U001EA5")
DefineXKBSym("Acircumflexgrave","U001EA6")
DefineXKBSym("acircumflexgrave","U001EA7")
DefineXKBSym("Acircumflexhook","U001EA8")
DefineXKBSym("acircumflexhook","U001EA9")
DefineXKBSym("Acircumflextilde","U001EAA")
DefineXKBSym("acircumflextilde","U001EAB")
DefineXKBSym("Acircumflexbelowdot","U001EAC")
DefineXKBSym("acircumflexbelowdot","U001EAD")
DefineXKBSym("Abreveacute","U001EAE")
DefineXKBSym("abreveacute","U001EAF")
DefineXKBSym("Abrevegrave","U001EB0")
DefineXKBSym("abrevegrave","U001EB1")
DefineXKBSym("Abrevehook","U001EB2")
DefineXKBSym("abrevehook","U001EB3")
DefineXKBSym("Abrevetilde","U001EB4")
DefineXKBSym("abrevetilde","U001EB5")
DefineXKBSym("Abrevebelowdot","U001EB6")
DefineXKBSym("abrevebelowdot","U001EB7")
DefineXKBSym("Ebelowdot","U001EB8")
DefineXKBSym("ebelowdot","U001EB9")
DefineXKBSym("Ehook","U001EBA")
DefineXKBSym("ehook","U001EBB")
DefineXKBSym("Etilde","U001EBC")
DefineXKBSym("etilde","U001EBD")
DefineXKBSym("Ecircumflexacute","U001EBE")
DefineXKBSym("ecircumflexacute","U001EBF")
DefineXKBSym("Ecircumflexgrave","U001EC0")
DefineXKBSym("ecircumflexgrave","U001EC1")
DefineXKBSym("Ecircumflexhook","U001EC2")
DefineXKBSym("ecircumflexhook","U001EC3")
DefineXKBSym("Ecircumflextilde","U001EC4")
DefineXKBSym("ecircumflextilde","U001EC5")
DefineXKBSym("Ecircumflexbelowdot","U001EC6")
DefineXKBSym("ecircumflexbelowdot","U001EC7")
DefineXKBSym("Ihook","U001EC8")
DefineXKBSym("ihook","U001EC9")
DefineXKBSym("Ibelowdot","U001ECA")
DefineXKBSym("ibelowdot","U001ECB")
DefineXKBSym("Obelowdot","U001ECC")
DefineXKBSym("obelowdot","U001ECD")
DefineXKBSym("Ohook","U001ECE")
DefineXKBSym("ohook","U001ECF")
DefineXKBSym("Ocircumflexacute","U001ED0")
DefineXKBSym("ocircumflexacute","U001ED1")
DefineXKBSym("Ocircumflexgrave","U001ED2")
DefineXKBSym("ocircumflexgrave","U001ED3")
DefineXKBSym("Ocircumflexhook","U001ED4")
DefineXKBSym("ocircumflexhook","U001ED5")
DefineXKBSym("Ocircumflextilde","U001ED6")
DefineXKBSym("ocircumflextilde","U001ED7")
DefineXKBSym("Ocircumflexbelowdot","U001ED8")
DefineXKBSym("ocircumflexbelowdot","U001ED9")
DefineXKBSym("Ohornacute","U001EDA")
DefineXKBSym("ohornacute","U001EDB")
DefineXKBSym("Ohorngrave","U001EDC")
DefineXKBSym("ohorngrave","U001EDD")
DefineXKBSym("Ohornhook","U001EDE")
DefineXKBSym("ohornhook","U001EDF")
DefineXKBSym("Ohorntilde","U001EE0")
DefineXKBSym("ohorntilde","U001EE1")
DefineXKBSym("Ohornbelowdot","U001EE2")
DefineXKBSym("ohornbelowdot","U001EE3")
DefineXKBSym("Ubelowdot","U001EE4")
DefineXKBSym("ubelowdot","U001EE5")
DefineXKBSym("Uhook","U001EE6")
DefineXKBSym("uhook","U001EE7")
DefineXKBSym("Uhornacute","U001EE8")
DefineXKBSym("uhornacute","U001EE9")
DefineXKBSym("Uhorngrave","U001EEA")
DefineXKBSym("uhorngrave","U001EEB")
DefineXKBSym("Uhornhook","U001EEC")
DefineXKBSym("uhornhook","U001EED")
DefineXKBSym("Uhorntilde","U001EEE")
DefineXKBSym("uhorntilde","U001EEF")
DefineXKBSym("Uhornbelowdot","U001EF0")
DefineXKBSym("uhornbelowdot","U001EF1")
DefineXKBSym("Ybelowdot","U001EF4")
DefineXKBSym("ybelowdot","U001EF5")
DefineXKBSym("Yhook","U001EF6")
DefineXKBSym("yhook","U001EF7")
DefineXKBSym("Ytilde","U001EF8")
DefineXKBSym("ytilde","U001EF9")
DefineXKBSym("Ohorn","U0001A0")
DefineXKBSym("ohorn","U0001A1")
DefineXKBSym("Uhorn","U0001AF")
DefineXKBSym("uhorn","U0001B0")
DefineXKBSym("EcuSign","U0020A0")
DefineXKBSym("ColonSign","U0020A1")
DefineXKBSym("CruzeiroSign","U0020A2")
DefineXKBSym("FFrancSign","U0020A3")
DefineXKBSym("LiraSign","U0020A4")
DefineXKBSym("MillSign","U0020A5")
DefineXKBSym("NairaSign","U0020A6")
DefineXKBSym("PesetaSign","U0020A7")
DefineXKBSym("RupeeSign","U0020A8")
DefineXKBSym("WonSign","U0020A9")
DefineXKBSym("NewSheqelSign","U0020AA")
DefineXKBSym("DongSign","U0020AB")
DefineXKBSym("EuroSign","U0020AC")
DefineXKBSym("zerosuperior","U002070")
DefineXKBSym("foursuperior","U002074")
DefineXKBSym("fivesuperior","U002075")
DefineXKBSym("sixsuperior","U002076")
DefineXKBSym("sevensuperior","U002077")
DefineXKBSym("eightsuperior","U002078")
DefineXKBSym("ninesuperior","U002079")
DefineXKBSym("zerosubscript","U002080")
DefineXKBSym("onesubscript","U002081")
DefineXKBSym("twosubscript","U002082")
DefineXKBSym("threesubscript","U002083")
DefineXKBSym("foursubscript","U002084")
DefineXKBSym("fivesubscript","U002085")
DefineXKBSym("sixsubscript","U002086")
DefineXKBSym("sevensubscript","U002087")
DefineXKBSym("eightsubscript","U002088")
DefineXKBSym("ninesubscript","U002089")
DefineXKBSym("partdifferential","U002202")
DefineXKBSym("emptyset","U002205")
DefineXKBSym("elementof","U002208")
DefineXKBSym("notelementof","U002209")
DefineXKBSym("containsas","U00220B")
DefineXKBSym("squareroot","U00221A")
DefineXKBSym("cuberoot","U00221B")
DefineXKBSym("fourthroot","U00221C")
DefineXKBSym("dintegral","U00222C")
DefineXKBSym("tintegral","U00222D")
DefineXKBSym("because","U002235")
DefineXKBSym("approxeq","U002245")
DefineXKBSym("notapproxeq","U002247")
DefineXKBSym("notidentical","U002262")
DefineXKBSym("stricteq","U002263")
DefineXKBSym("braille_blank","U002800")
DefineXKBSym("braille_dots_1","U002801")
DefineXKBSym("braille_dots_2","U002802")
DefineXKBSym("braille_dots_12","U002803")
DefineXKBSym("braille_dots_3","U002804")
DefineXKBSym("braille_dots_13","U002805")
DefineXKBSym("braille_dots_23","U002806")
DefineXKBSym("braille_dots_123","U002807")
DefineXKBSym("braille_dots_4","U002808")
DefineXKBSym("braille_dots_14","U002809")
DefineXKBSym("braille_dots_24","U00280a")
DefineXKBSym("braille_dots_124","U00280b")
DefineXKBSym("braille_dots_34","U00280c")
DefineXKBSym("braille_dots_134","U00280d")
DefineXKBSym("braille_dots_234","U00280e")
DefineXKBSym("braille_dots_1234","U00280f")
DefineXKBSym("braille_dots_5","U002810")
DefineXKBSym("braille_dots_15","U002811")
DefineXKBSym("braille_dots_25","U002812")
DefineXKBSym("braille_dots_125","U002813")
DefineXKBSym("braille_dots_35","U002814")
DefineXKBSym("braille_dots_135","U002815")
DefineXKBSym("braille_dots_235","U002816")
DefineXKBSym("braille_dots_1235","U002817")
DefineXKBSym("braille_dots_45","U002818")
DefineXKBSym("braille_dots_145","U002819")
DefineXKBSym("braille_dots_245","U00281a")
DefineXKBSym("braille_dots_1245","U00281b")
DefineXKBSym("braille_dots_345","U00281c")
DefineXKBSym("braille_dots_1345","U00281d")
DefineXKBSym("braille_dots_2345","U00281e")
DefineXKBSym("braille_dots_12345","U00281f")
DefineXKBSym("braille_dots_6","U002820")
DefineXKBSym("braille_dots_16","U002821")
DefineXKBSym("braille_dots_26","U002822")
DefineXKBSym("braille_dots_126","U002823")
DefineXKBSym("braille_dots_36","U002824")
DefineXKBSym("braille_dots_136","U002825")
DefineXKBSym("braille_dots_236","U002826")
DefineXKBSym("braille_dots_1236","U002827")
DefineXKBSym("braille_dots_46","U002828")
DefineXKBSym("braille_dots_146","U002829")
DefineXKBSym("braille_dots_246","U00282a")
DefineXKBSym("braille_dots_1246","U00282b")
DefineXKBSym("braille_dots_346","U00282c")
DefineXKBSym("braille_dots_1346","U00282d")
DefineXKBSym("braille_dots_2346","U00282e")
DefineXKBSym("braille_dots_12346","U00282f")
DefineXKBSym("braille_dots_56","U002830")
DefineXKBSym("braille_dots_156","U002831")
DefineXKBSym("braille_dots_256","U002832")
DefineXKBSym("braille_dots_1256","U002833")
DefineXKBSym("braille_dots_356","U002834")
DefineXKBSym("braille_dots_1356","U002835")
DefineXKBSym("braille_dots_2356","U002836")
DefineXKBSym("braille_dots_12356","U002837")
DefineXKBSym("braille_dots_456","U002838")
DefineXKBSym("braille_dots_1456","U002839")
DefineXKBSym("braille_dots_2456","U00283a")
DefineXKBSym("braille_dots_12456","U00283b")
DefineXKBSym("braille_dots_3456","U00283c")
DefineXKBSym("braille_dots_13456","U00283d")
DefineXKBSym("braille_dots_23456","U00283e")
DefineXKBSym("braille_dots_123456","U00283f")
DefineXKBSym("braille_dots_7","U002840")
DefineXKBSym("braille_dots_17","U002841")
DefineXKBSym("braille_dots_27","U002842")
DefineXKBSym("braille_dots_127","U002843")
DefineXKBSym("braille_dots_37","U002844")
DefineXKBSym("braille_dots_137","U002845")
DefineXKBSym("braille_dots_237","U002846")
DefineXKBSym("braille_dots_1237","U002847")
DefineXKBSym("braille_dots_47","U002848")
DefineXKBSym("braille_dots_147","U002849")
DefineXKBSym("braille_dots_247","U00284a")
DefineXKBSym("braille_dots_1247","U00284b")
DefineXKBSym("braille_dots_347","U00284c")
DefineXKBSym("braille_dots_1347","U00284d")
DefineXKBSym("braille_dots_2347","U00284e")
DefineXKBSym("braille_dots_12347","U00284f")
DefineXKBSym("braille_dots_57","U002850")
DefineXKBSym("braille_dots_157","U002851")
DefineXKBSym("braille_dots_257","U002852")
DefineXKBSym("braille_dots_1257","U002853")
DefineXKBSym("braille_dots_357","U002854")
DefineXKBSym("braille_dots_1357","U002855")
DefineXKBSym("braille_dots_2357","U002856")
DefineXKBSym("braille_dots_12357","U002857")
DefineXKBSym("braille_dots_457","U002858")
DefineXKBSym("braille_dots_1457","U002859")
DefineXKBSym("braille_dots_2457","U00285a")
DefineXKBSym("braille_dots_12457","U00285b")
DefineXKBSym("braille_dots_3457","U00285c")
DefineXKBSym("braille_dots_13457","U00285d")
DefineXKBSym("braille_dots_23457","U00285e")
DefineXKBSym("braille_dots_123457","U00285f")
DefineXKBSym("braille_dots_67","U002860")
DefineXKBSym("braille_dots_167","U002861")
DefineXKBSym("braille_dots_267","U002862")
DefineXKBSym("braille_dots_1267","U002863")
DefineXKBSym("braille_dots_367","U002864")
DefineXKBSym("braille_dots_1367","U002865")
DefineXKBSym("braille_dots_2367","U002866")
DefineXKBSym("braille_dots_12367","U002867")
DefineXKBSym("braille_dots_467","U002868")
DefineXKBSym("braille_dots_1467","U002869")
DefineXKBSym("braille_dots_2467","U00286a")
DefineXKBSym("braille_dots_12467","U00286b")
DefineXKBSym("braille_dots_3467","U00286c")
DefineXKBSym("braille_dots_13467","U00286d")
DefineXKBSym("braille_dots_23467","U00286e")
DefineXKBSym("braille_dots_123467","U00286f")
DefineXKBSym("braille_dots_567","U002870")
DefineXKBSym("braille_dots_1567","U002871")
DefineXKBSym("braille_dots_2567","U002872")
DefineXKBSym("braille_dots_12567","U002873")
DefineXKBSym("braille_dots_3567","U002874")
DefineXKBSym("braille_dots_13567","U002875")
DefineXKBSym("braille_dots_23567","U002876")
DefineXKBSym("braille_dots_123567","U002877")
DefineXKBSym("braille_dots_4567","U002878")
DefineXKBSym("braille_dots_14567","U002879")
DefineXKBSym("braille_dots_24567","U00287a")
DefineXKBSym("braille_dots_124567","U00287b")
DefineXKBSym("braille_dots_34567","U00287c")
DefineXKBSym("braille_dots_134567","U00287d")
DefineXKBSym("braille_dots_234567","U00287e")
DefineXKBSym("braille_dots_1234567","U00287f")
DefineXKBSym("braille_dots_8","U002880")
DefineXKBSym("braille_dots_18","U002881")
DefineXKBSym("braille_dots_28","U002882")
DefineXKBSym("braille_dots_128","U002883")
DefineXKBSym("braille_dots_38","U002884")
DefineXKBSym("braille_dots_138","U002885")
DefineXKBSym("braille_dots_238","U002886")
DefineXKBSym("braille_dots_1238","U002887")
DefineXKBSym("braille_dots_48","U002888")
DefineXKBSym("braille_dots_148","U002889")
DefineXKBSym("braille_dots_248","U00288a")
DefineXKBSym("braille_dots_1248","U00288b")
DefineXKBSym("braille_dots_348","U00288c")
DefineXKBSym("braille_dots_1348","U00288d")
DefineXKBSym("braille_dots_2348","U00288e")
DefineXKBSym("braille_dots_12348","U00288f")
DefineXKBSym("braille_dots_58","U002890")
DefineXKBSym("braille_dots_158","U002891")
DefineXKBSym("braille_dots_258","U002892")
DefineXKBSym("braille_dots_1258","U002893")
DefineXKBSym("braille_dots_358","U002894")
DefineXKBSym("braille_dots_1358","U002895")
DefineXKBSym("braille_dots_2358","U002896")
DefineXKBSym("braille_dots_12358","U002897")
DefineXKBSym("braille_dots_458","U002898")
DefineXKBSym("braille_dots_1458","U002899")
DefineXKBSym("braille_dots_2458","U00289a")
DefineXKBSym("braille_dots_12458","U00289b")
DefineXKBSym("braille_dots_3458","U00289c")
DefineXKBSym("braille_dots_13458","U00289d")
DefineXKBSym("braille_dots_23458","U00289e")
DefineXKBSym("braille_dots_123458","U00289f")
DefineXKBSym("braille_dots_68","U0028a0")
DefineXKBSym("braille_dots_168","U0028a1")
DefineXKBSym("braille_dots_268","U0028a2")
DefineXKBSym("braille_dots_1268","U0028a3")
DefineXKBSym("braille_dots_368","U0028a4")
DefineXKBSym("braille_dots_1368","U0028a5")
DefineXKBSym("braille_dots_2368","U0028a6")
DefineXKBSym("braille_dots_12368","U0028a7")
DefineXKBSym("braille_dots_468","U0028a8")
DefineXKBSym("braille_dots_1468","U0028a9")
DefineXKBSym("braille_dots_2468","U0028aa")
DefineXKBSym("braille_dots_12468","U0028ab")
DefineXKBSym("braille_dots_3468","U0028ac")
DefineXKBSym("braille_dots_13468","U0028ad")
DefineXKBSym("braille_dots_23468","U0028ae")
DefineXKBSym("braille_dots_123468","U0028af")
DefineXKBSym("braille_dots_568","U0028b0")
DefineXKBSym("braille_dots_1568","U0028b1")
DefineXKBSym("braille_dots_2568","U0028b2")
DefineXKBSym("braille_dots_12568","U0028b3")
DefineXKBSym("braille_dots_3568","U0028b4")
DefineXKBSym("braille_dots_13568","U0028b5")
DefineXKBSym("braille_dots_23568","U0028b6")
DefineXKBSym("braille_dots_123568","U0028b7")
DefineXKBSym("braille_dots_4568","U0028b8")
DefineXKBSym("braille_dots_14568","U0028b9")
DefineXKBSym("braille_dots_24568","U0028ba")
DefineXKBSym("braille_dots_124568","U0028bb")
DefineXKBSym("braille_dots_34568","U0028bc")
DefineXKBSym("braille_dots_134568","U0028bd")
DefineXKBSym("braille_dots_234568","U0028be")
DefineXKBSym("braille_dots_1234568","U0028bf")
DefineXKBSym("braille_dots_78","U0028c0")
DefineXKBSym("braille_dots_178","U0028c1")
DefineXKBSym("braille_dots_278","U0028c2")
DefineXKBSym("braille_dots_1278","U0028c3")
DefineXKBSym("braille_dots_378","U0028c4")
DefineXKBSym("braille_dots_1378","U0028c5")
DefineXKBSym("braille_dots_2378","U0028c6")
DefineXKBSym("braille_dots_12378","U0028c7")
DefineXKBSym("braille_dots_478","U0028c8")
DefineXKBSym("braille_dots_1478","U0028c9")
DefineXKBSym("braille_dots_2478","U0028ca")
DefineXKBSym("braille_dots_12478","U0028cb")
DefineXKBSym("braille_dots_3478","U0028cc")
DefineXKBSym("braille_dots_13478","U0028cd")
DefineXKBSym("braille_dots_23478","U0028ce")
DefineXKBSym("braille_dots_123478","U0028cf")
DefineXKBSym("braille_dots_578","U0028d0")
DefineXKBSym("braille_dots_1578","U0028d1")
DefineXKBSym("braille_dots_2578","U0028d2")
DefineXKBSym("braille_dots_12578","U0028d3")
DefineXKBSym("braille_dots_3578","U0028d4")
DefineXKBSym("braille_dots_13578","U0028d5")
DefineXKBSym("braille_dots_23578","U0028d6")
DefineXKBSym("braille_dots_123578","U0028d7")
DefineXKBSym("braille_dots_4578","U0028d8")
DefineXKBSym("braille_dots_14578","U0028d9")
DefineXKBSym("braille_dots_24578","U0028da")
DefineXKBSym("braille_dots_124578","U0028db")
DefineXKBSym("braille_dots_34578","U0028dc")
DefineXKBSym("braille_dots_134578","U0028dd")
DefineXKBSym("braille_dots_234578","U0028de")
DefineXKBSym("braille_dots_1234578","U0028df")
DefineXKBSym("braille_dots_678","U0028e0")
DefineXKBSym("braille_dots_1678","U0028e1")
DefineXKBSym("braille_dots_2678","U0028e2")
DefineXKBSym("braille_dots_12678","U0028e3")
DefineXKBSym("braille_dots_3678","U0028e4")
DefineXKBSym("braille_dots_13678","U0028e5")
DefineXKBSym("braille_dots_23678","U0028e6")
DefineXKBSym("braille_dots_123678","U0028e7")
DefineXKBSym("braille_dots_4678","U0028e8")
DefineXKBSym("braille_dots_14678","U0028e9")
DefineXKBSym("braille_dots_24678","U0028ea")
DefineXKBSym("braille_dots_124678","U0028eb")
DefineXKBSym("braille_dots_34678","U0028ec")
DefineXKBSym("braille_dots_134678","U0028ed")
DefineXKBSym("braille_dots_234678","U0028ee")
DefineXKBSym("braille_dots_1234678","U0028ef")
DefineXKBSym("braille_dots_5678","U0028f0")
DefineXKBSym("braille_dots_15678","U0028f1")
DefineXKBSym("braille_dots_25678","U0028f2")
DefineXKBSym("braille_dots_125678","U0028f3")
DefineXKBSym("braille_dots_35678","U0028f4")
DefineXKBSym("braille_dots_135678","U0028f5")
DefineXKBSym("braille_dots_235678","U0028f6")
DefineXKBSym("braille_dots_1235678","U0028f7")
DefineXKBSym("braille_dots_45678","U0028f8")
DefineXKBSym("braille_dots_145678","U0028f9")
DefineXKBSym("braille_dots_245678","U0028fa")
DefineXKBSym("braille_dots_1245678","U0028fb")
DefineXKBSym("braille_dots_345678","U0028fc")
DefineXKBSym("braille_dots_1345678","U0028fd")
DefineXKBSym("braille_dots_2345678","U0028fe")
DefineXKBSym("braille_dots_12345678","U0028ff")
DefineXKBSym("NoSymbol","U000020")
}
convertXkbsym(X) {
global
nlen := StrLen(X)
SS := X . " "
pos := InStr(KSYM%nlen%,SS,true)
; MsgBox,% X . ": " . nlen . ": " . pos
if (pos>0) {
poscd := 7*(pos-1)/(nlen+1)+1
X := SubStr(KSCD%nlen%,poscd,7)
; MsgBox,% X
return X
} else if (SubStr(X,1,1) == "U") {
StringUpper,X,X
return "U" . substr("000000" . substr(X,2),-5)
} else {
ResName := EncodeUni(X)
if (StrLen(ResName) == 7)
return ResName
}
return ""
}
DecodeUni(Uni) {
result := ""
loop {
code := "0x" . SubStr(Uni,2,6)
Uni := SubStr(Uni,8)
if (code < 0x0080)
result := result . chr(code)
else if (code < 0x0800)
result := result . chr(0xC0 + (code >> 6)) . chr(0x80 + (code & 0x3F))
else if (code < 0x10000)
result := result . chr(0xE0 + (code >> 12)) . chr(0x80 + ((code >> 6) & 0x3F)) . chr(0x80 + (code & 0x3F))
else
result := result . chr(0xF0 + (code >> 18)) . chr(0x80 + ((code >>12) & 0x3F)) . chr(0x80 + ((code >> 6) & 0x3F)) . chr(0x80 + (code & 0x3F))
if (Uni == "")
break
}
return result
}
EncodeUni(str) {
SetFormat, Integer, hex
; MsgBox % Asc(SubStr(str,1,1)) . Asc(SubStr(str,2,1))
result := ""
loop {
achar := asc(SubStr(str,1,1))
if (achar < 0x80) {
str := SubStr(str,2)
result .= "U" . SubStr("000000" . SubStr(achar,3),-5)
} else if (achar < 0xC0) {
str := SubStr(str,2)
; error
} else if (achar < 0xE0) {
achar2 := asc(Substr(str,2,1))
str := SubStr(str,3)
if ((achar2 < 0x80) or (achar2 > 0xBF)) {
; error
} else {
result .= "U" . SubStr("000000" . SubStr((((achar & 0x1F) << 6) + (achar2 & 0x3F)),3),-5)
}
} else if (achar < 0xF0) {
achar2 := asc(SubStr(str,2,1))
achar3 := asc(SubStr(str,3,1))
str := SubStr(str,4)
; MsgBox % "chars: " . achar . ", " . achar2 . ", " . achar3 . ", str: " . str
if ( (achar2 < 0x80) or (achar2 > 0xBF)
or (achar3 < 0x80) or (achar3 > 0xBF)) {
; error
} else {
; MsgBox % achar . achar2 . achar3
; MsgBox % (((achar & 0x0F) << 12) + ((achar2 & 0x3F) << 6) + (achar3 & 0x3F))
result .= "U" . SubStr("000000" . SubStr((((achar & 0x0F) << 12) + ((achar2 & 0x3F) << 6) + (achar3 & 0x3F)),3),-5)
}
} else if (achar < 0xF8) {
achar2 := asc(SubStr(str,2,1))
achar3 := asc(SubStr(str,3,1))
achar4 := asc(SubStr(str,4,1))
str := SubStr(str,5)
if ( (achar2 < 0x80) or (achar2 > 0xBF)
or (achar3 < 0x80) or (achar3 > 0xBF)
or (achar4 < 0x80) or (achar4 > 0xBF)) {
; error
} else {
result .= "U" . SubStr("000000" . SubStr((((achar & 0x07) << 18) + ((achar2 & 0x3F) << 12) + ((achar3 & 0x3F) << 6) + (achar4 & 0x3F)),3),-5)
}
} else
str := SubStr(str,2)
if (str == "")
break
}
SetFormat, Integer, d
StringUpper,result,result
return result
}
Composita := ""
Compsize := 0
VarSetCapacity(Composita,10240000) ; 10 MB
EncodeUnicodeFile(FFrom,FTo) {
Composita := ""
Compsize := 0
Miss := 0
FileRead, FileContents, %FFrom%
ProgressTop := "Converting " . FFrom . "..."
FileContents := RegExReplace(FileContents,"[\t ]*(<[^>]*>)[\t ]*","$1")
Loop, parse, FileContents, `n, `r ; Specifying `n prior to `r allows both Windows and Unix files to be parsed.
{
NumLines := A_Index
}
NLP := NumLines/20 ; 20 steps on the bar
OldCount := -NumLines
Loop, parse, FileContents, `n, `r ; Specifying `n prior to `r allows both Windows and Unix files to be parsed.
{
TA := ""
Count := A_Index
Line := A_LoopField
if (Count >= (OldCount + NLP)) { ; Progress the bar not with every line
OldCount := Count
ProgressVal := Count/NumLines*100
ProgressInd := "Lines: " . Count . ", Errors: " . Miss
Progress,%ProgressVal%,%ProgressInd%,%ProgressTop%
}
if ((Line == "") or (SubStr(Line,1,5) == "XCOMM") or (SubStr(Line,1,1) == "#"))
continue
RegExMatch(Line,"([^:]*):[\t ]*""((\\.|[^""])*)"".*",OutputVar)
ReplaceLeft := OutputVar1
ReplaceRight := ""
loop {
thechar := SubStr(OutputVar2,1,1)
OutputVar2 := SubStr(OutputVar2,2)
if (thechar == "\") {
thechar := SubStr(OutputVar2,1,1)
OutputVar2 := SubStr(OutputVar2,2)
if (thechar == "n")
thechar := chr(0x000d) ; Line-Feed
ReplaceRight := ReplaceRight . thechar
} else
ReplaceRight := ReplaceRight . thechar
if (OutputVar2 == "")
break
}
; care for replaceleft
modkeys := ""
loop {
if ((SubStr(ReplaceLeft,1,1)=="<") and (InStr(ReplaceLeft,">"))) {
Xkbsym := SubStr(ReplaceLeft,2,InStr(ReplaceLeft,">")-2)
ReplaceLeft := SubStr(ReplaceLeft,InStr(ReplaceLeft,">")+1)
modkey := ConvertXkbsym(Xkbsym)
if (modkey == "") {
modkeys := "" ; invalidate whole line
break
}
modkeys := modkeys . modkey
if (ReplaceLeft == "")
break
if (CM%modkeys% != 1) {
CM%modkeys% := 1
TA .= " CM" . modkeys . ":=1`r`n"
}
}
else {
Xkbsym := "*entry*" ; make a non-fancy name from parsing error
modkeys := "" ; invalidate whole line
break
}
}
if (modkeys != "") {
ressymb := EncodeUni(ReplaceRight)
TA .= " CD" . modkeys . ":=""" . ressymb . """`r`n"
if (StrLen(ressymb)==7)
TA .= " CRC" . ressymb . ".="" " . modkeys . """`r`n"
} else {
TA .= " `; illegal " . Xkbsym . " in " . A_LoopField . "`r`n"
Miss := Miss + 1
}
Composita .= TA
Compsize := Compsize + 1
if (Compsize > 100) {
FileAppend,%Composita%,%FTo%
Compsize := 0
Composita := ""
}
}
Progress,off
FileAppend,%Composita%,%FTo%
}
DefineXKBSyms()
NumPars = %0%
if (NumPars < 2) {
MsgBox,Zu wenige Parameter`, Minimum=2
exit
}
CompRevision = %1%
OutputFile = %2%
FileDelete,%OutputFile%
FileAppend,`; -*- encoding: utf-8 -*-`r`n`r`nCompRevision := "%CompRevision%"`r`n`r`nLoadDefaultCompose() {`r`n global`r`n`r`n, %OutputFile% ; }
loop %Numpars% {
if (A_Index < 3)
continue
EncodeUnicodeFile(%A_Index%, OutputFile)
}
; {
FileAppend,},%OutputFile%
; MsgBox % EncodeUni(DecodeUni("U20ACU0041U0070"))
; MsgBox % ConvertXkbsym("KP_5") . ConvertXkbsym("a")