summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
Diffstat (limited to 'windows')
-rw-r--r--windows/kbdneo2/Quelldateien/kbd_mod.h7
-rw-r--r--windows/kbdneo2/Quelldateien/kbdneo2.c58
-rw-r--r--windows/kbdneo2/Quelldateien/keysym4utf16.h1450
3 files changed, 1500 insertions, 15 deletions
diff --git a/windows/kbdneo2/Quelldateien/kbd_mod.h b/windows/kbdneo2/Quelldateien/kbd_mod.h
new file mode 100644
index 0000000..7f16512
--- /dev/null
+++ b/windows/kbdneo2/Quelldateien/kbd_mod.h
@@ -0,0 +1,7 @@
+/****************************************************************************\
+* Module Name: KBD_MOD.H
+* Änderungen an der KBD.H für das deutsches ergonomische Layout Neo 2.0
+\****************************************************************************/
+
+#undef DEADTRANS(ch, accent, comp, flags)
+#define DEADTRANS(accent, ch, comp, flags) { MAKELONG(ch, accent), comp, flags} \ No newline at end of file
diff --git a/windows/kbdneo2/Quelldateien/kbdneo2.c b/windows/kbdneo2/Quelldateien/kbdneo2.c
index b5d3838..2ad2e6e 100644
--- a/windows/kbdneo2/Quelldateien/kbdneo2.c
+++ b/windows/kbdneo2/Quelldateien/kbdneo2.c
@@ -1,10 +1,12 @@
-/* **************************************************************************\
+/****************************************************************************\
* Module Name: KBDNEO2.C
* Deutsches ergonomische Layout Neo 2.0
-\************************************************************************** */
+\****************************************************************************/
#include <windows.h>
#include "kbd.h"
+//#include "kbd_mod.h"
+#include "keysym4utf16.h"
#include "kbdneo2.h"
#if defined(_M_IA64)
@@ -16,9 +18,42 @@
#endif
-/* **************************************************************************\
+/* **************************************************************************************************************\
* ausVK[] - Virtual Scan Code to Virtual Key
-\************************************************************************** */
+*
+* +---+ +---------------+ +---------------+ +---------------+ +--------------+
+* |T01| |F1 ¦F2 ¦F3 ¦F4 | |F5 ¦F6 ¦F7 ¦F8 | |F9 ¦F10¦F11¦F12| |Druk¦Roll¦Paus|
+* +---+ +---------------+ +---------------+ +---------------+ +--------------+
+* +---------------------------------------------------------+ +--------------+ +---------------+
+* |T29¦T02¦T03¦T04¦T05¦T06¦T07¦T08¦T09¦T0A¦T0B¦T0C¦T0D¦ T0E | |Einf¦Pos1¦PgUp| ¦Num¦ / ¦ * ¦ - ¦
+* |---------------------------------------------------------| |--------------| +---+---+---+---¦
+* |T0F¦T10¦T11¦T12¦T13¦T14¦T15¦T16¦T17¦T18¦T19¦T1A¦T1B¦ Ret | |Entf¦Ende¦PgDn| ¦ 7 ¦ 8 ¦ 9 ¦ ¦
+* |-----------------------------------------------------+ | +--------------+ +---+---+---¦ ¦
+* | T3A ¦T1E¦T1F¦T20¦T21¦T22¦T23¦T24¦T25¦T26¦T27¦T28¦T2B¦ | ¦ 4 ¦ 5 ¦ 6 ¦ + ¦
+* |---------------------------------------------------------| +----+ +---+---+---+---¦
+* |T2A ¦T56¦T2C¦T2D¦T2E¦T2F¦T30¦T31¦T32¦T33¦T34¦T35¦ T36 | | Up | ¦ 1 ¦ 2 ¦ 3 ¦ ¦
+* |---------------------------------------------------------| +----+----+----+ +-------+---¦ ¦
+* | Str ¦ Fe ¦ Al ¦ Leerzeichen ¦X38 ¦ Fe ¦ Me ¦ Str | |Left¦Down¦ Re.¦ ¦ 0 ¦ , ¦Ent¦
+* +---------------------------------------------------------+ +--------------+ +---------------+
+*
+*
+* +---+ +---------------+ +---------------+ +---------------+ +--------------+
+* |Esc| |F1 ¦F2 ¦F3 ¦F4 | |F5 ¦F6 ¦F7 ¦F8 | |F9 ¦F10¦F11¦F12| |Druk¦Roll¦Paus|
+* +---+ +---------------+ +---------------+ +---------------+ +--------------+
+* +---------------------------------------------------------+ +--------------+ +---------------+
+* |T1 ¦1 ¦2 ¦3 ¦4 ¦5 ¦6 ¦7 ¦8 ¦9 ¦0 ¦- ¦T2 ¦Back | |Einf¦Pos1¦PgUp| ¦Num¦ / ¦ * ¦ - ¦
+* |---------------------------------------------------------| |--------------| +---+---+---+---¦
+* |Tab¦x ¦v ¦l ¦c ¦w ¦k ¦h ¦g ¦f ¦q ¦ß ¦T3 ¦ Ret | |Entf¦Ende¦PgDn| ¦ 7 ¦ 8 ¦ 9 ¦ ¦
+* |-----------------------------------------------------+ | +--------------+ +---+---+---¦ ¦
+* | M3 ¦u ¦i ¦a ¦e ¦o ¦s ¦n ¦r ¦t ¦d ¦y ¦M3 ¦ | ¦ 4 ¦ 5 ¦ 6 ¦ + ¦
+* |---------------------------------------------------------| +----+ +---+---+---+---¦
+* |Ums ¦M4 ¦ü ¦ö ¦ä ¦p ¦z ¦b ¦m ¦, ¦. ¦j ¦ Umsch | | Up | ¦ 1 ¦ 2 ¦ 3 ¦ ¦
+* |---------------------------------------------------------| +----+----+----+ +-------+---¦ ¦
+* | Str ¦ Fe ¦ Al ¦ Leerzeichen ¦ M4 ¦ Fe ¦ Me ¦ Str | |Left¦Down¦ Re.¦ ¦ 0 ¦ , ¦Ent¦
+* +---------------------------------------------------------+ +--------------+ +---------------+
+*
+\************************************************************************************************************** */
+
static ALLOC_SECTION_LDATA USHORT ausVK[] = {
T00, T01, T02, T03, T04, T05, T06, T07,
@@ -231,7 +266,7 @@ static ALLOC_SECTION_LDATA VK_TO_WCHARS6 aVkToWch6[] = {
{0xff ,0 ,0x0060 ,0x00b8 ,0x02da ,0x00a8 ,0x1FFE ,0x00af },
{VK_TAB ,0 ,'\t' ,'\t' ,WCH_DEAD ,'\t' ,'\t' ,'\t' },
{0xff ,0 ,WCH_NONE ,WCH_NONE ,0x266b ,WCH_NONE ,WCH_NONE ,WCH_NONE },
-{'X' ,CAPLOK | KANALOK ,'x' ,'X' ,0x2026 ,WCH_NONE ,0x03be ,0x039E }, //WCH_NONE sollte »Seite hoch« sein (AHK?)
+{'X' ,CAPLOK | KANALOK ,'x' ,'X' ,ellipsis ,WCH_NONE ,0x03be ,0x039E }, //WCH_NONE sollte »Seite hoch« sein (AHK?)
{'V' ,CAPLOK | KANALOK ,'v' ,'V' ,'_' ,WCH_NONE ,WCH_NONE ,0x221a }, //Kana: '\b' vom AHK übernommen
{'L' ,CAPLOK | KANALOK ,'l' ,'L' ,'[' ,WCH_NONE ,0x03BB ,0x039b }, //WCH_NONE sollte »Pfeil hoch« sein (AHK?)
{'C' ,CAPLOK | KANALOK ,'c' ,'C' ,']' ,WCH_NONE ,0x03C7 ,0x2102 }, //WCH_NONE sollte »Entfernen« sein (AHK?)
@@ -3428,42 +3463,35 @@ DEADTRANS( 0x0338 , 0x2ADD , 0x2ADC , 0x0000),
static ALLOC_SECTION_LDATA KBDTABLES KbdTables = {
// Modifier keys
-
&CharModifiers,
// Characters tables
-
aVkToWcharTable,
// Diakritika vorhanden
-
aDeadKey,
// Namen der Keys
-
aKeyNames,
aKeyNamesExt,
aKeyNamesDead,
// Scancodes zu Virtual Keys
-
ausVK,
sizeof(ausVK) / sizeof(ausVK[0]),
aE0VscToVk,
aE1VscToVk,
-// KLLF_ALTGR damit AltGr = Strg+Alt
-
- MAKELONG(KLLF_ALTGR, KBD_VERSION),
-
+// Kein Rechtes Alt daher AltGr auskommentiert
+// MAKELONG(KLLF_ALTGR, KBD_VERSION),
+ 0,
// keine Ligaturen
-
0,
0,
NULL
diff --git a/windows/kbdneo2/Quelldateien/keysym4utf16.h b/windows/kbdneo2/Quelldateien/keysym4utf16.h
new file mode 100644
index 0000000..267567d
--- /dev/null
+++ b/windows/kbdneo2/Quelldateien/keysym4utf16.h
@@ -0,0 +1,1450 @@
+/****************************************************************************\
+* Module Name: keysym4utf16.h
+* Deutsches ergonomische Layout Neo 2.0
+\****************************************************************************/
+
+//
+
+#define Multi_key 0x266B
+
+
+// Aus http://cgit.freedesktop.org/xorg/proto/xproto/plain/keysymdef.h
+
+#define space 0x0020
+#define exclam 0x0021
+#define quotedbl 0x0022
+#define numbersign 0x0023
+#define dollar 0x0024
+#define percent 0x0025
+#define ampersand 0x0026
+#define apostrophe 0x0027
+#define parenleft 0x0028
+#define parenright 0x0029
+#define asterisk 0x002A
+#define plus 0x002B
+#define comma 0x002C
+#define minus 0x002D
+#define period 0x002E
+#define slash 0x002F
+#define colon 0x003A
+#define semicolon 0x003B
+#define less 0x003C
+#define equal 0x003D
+#define greater 0x003E
+#define question 0x003F
+#define at 0x0040
+#define bracketleft 0x005B
+#define backslash 0x005C
+#define bracketright 0x005D
+#define asciicircum 0x005E
+#define underscore 0x005F
+#define grave 0x0060
+#define braceleft 0x007B
+#define bar 0x007C
+#define braceright 0x007D
+#define asciitilde 0x007E
+#define nobreakspace 0x00A0
+#define exclamdown 0x00A1
+#define cent 0x00A2
+#define sterling 0x00A3
+#define currency 0x00A4
+#define yen 0x00A5
+#define brokenbar 0x00A6
+#define section 0x00A7
+#define diaeresis 0x00A8
+#define copyright 0x00A9
+#define ordfeminine 0x00AA
+#define guillemotleft 0x00AB
+#define notsign 0x00AC
+#define hyphen 0x00AD
+#define registered 0x00AE
+#define macron 0x00AF
+#define degree 0x00B0
+#define plusminus 0x00B1
+#define twosuperior 0x00B2
+#define threesuperior 0x00B3
+#define acute 0x00B4
+#define mu 0x00B5
+#define paragraph 0x00B6
+#define periodcentered 0x00B7
+#define cedilla 0x00B8
+#define onesuperior 0x00B9
+#define masculine 0x00BA
+#define guillemotright 0x00BB
+#define onequarter 0x00BC
+#define onehalf 0x00BD
+#define threequarters 0x00BE
+#define questiondown 0x00BF
+#define Agrave 0x00C0
+#define Aacute 0x00C1
+#define Acircumflex 0x00C2
+#define Atilde 0x00C3
+#define Adiaeresis 0x00C4
+#define Aring 0x00C5
+#define AE 0x00C6
+#define Ccedilla 0x00C7
+#define Egrave 0x00C8
+#define Eacute 0x00C9
+#define Ecircumflex 0x00CA
+#define Ediaeresis 0x00CB
+#define Igrave 0x00CC
+#define Iacute 0x00CD
+#define Icircumflex 0x00CE
+#define Idiaeresis 0x00CF
+#define ETH 0x00D0
+#define Ntilde 0x00D1
+#define Ograve 0x00D2
+#define Oacute 0x00D3
+#define Ocircumflex 0x00D4
+#define Otilde 0x00D5
+#define Odiaeresis 0x00D6
+#define multiply 0x00D7
+#define Oslash 0x00D8
+#define Ooblique 0x00D8
+#define Ugrave 0x00D9
+#define Uacute 0x00DA
+#define Ucircumflex 0x00DB
+#define Udiaeresis 0x00DC
+#define Yacute 0x00DD
+#define THORN 0x00DE
+#define ssharp 0x00DF
+#define agrave 0x00E0
+#define aacute 0x00E1
+#define acircumflex 0x00E2
+#define atilde 0x00E3
+#define adiaeresis 0x00E4
+#define aring 0x00E5
+#define ae 0x00E6
+#define ccedilla 0x00E7
+#define egrave 0x00E8
+#define eacute 0x00E9
+#define ecircumflex 0x00EA
+#define ediaeresis 0x00EB
+#define igrave 0x00EC
+#define iacute 0x00ED
+#define icircumflex 0x00EE
+#define idiaeresis 0x00EF
+#define eth 0x00F0
+#define ntilde 0x00F1
+#define ograve 0x00F2
+#define oacute 0x00F3
+#define ocircumflex 0x00F4
+#define otilde 0x00F5
+#define odiaeresis 0x00F6
+#define division 0x00F7
+#define oslash 0x00F8
+#define ooblique 0x00F8
+#define ugrave 0x00F9
+#define uacute 0x00FA
+#define ucircumflex 0x00FB
+#define udiaeresis 0x00FC
+#define yacute 0x00FD
+#define thorn 0x00FE
+#define ydiaeresis 0x00FF
+#define Aogonek 0x0104
+#define breve 0x02D8
+#define Lstroke 0x0141
+#define Lcaron 0x013D
+#define Sacute 0x015A
+#define Scaron 0x0160
+#define Scedilla 0x015E
+#define Tcaron 0x0164
+#define Zacute 0x0179
+#define Zcaron 0x017D
+#define Zabovedot 0x017B
+#define aogonek 0x0105
+#define ogonek 0x02DB
+#define lstroke 0x0142
+#define lcaron 0x013E
+#define sacute 0x015B
+#define caron 0x02C7
+#define scaron 0x0161
+#define scedilla 0x015F
+#define tcaron 0x0165
+#define zacute 0x017A
+#define doubleacute 0x02DD
+#define zcaron 0x017E
+#define zabovedot 0x017C
+#define Racute 0x0154
+#define Abreve 0x0102
+#define Lacute 0x0139
+#define Cacute 0x0106
+#define Ccaron 0x010C
+#define Eogonek 0x0118
+#define Ecaron 0x011A
+#define Dcaron 0x010E
+#define Dstroke 0x0110
+#define Nacute 0x0143
+#define Ncaron 0x0147
+#define Odoubleacute 0x0150
+#define Rcaron 0x0158
+#define Uring 0x016E
+#define Udoubleacute 0x0170
+#define Tcedilla 0x0162
+#define racute 0x0155
+#define abreve 0x0103
+#define lacute 0x013A
+#define cacute 0x0107
+#define ccaron 0x010D
+#define eogonek 0x0119
+#define ecaron 0x011B
+#define dcaron 0x010F
+#define dstroke 0x0111
+#define nacute 0x0144
+#define ncaron 0x0148
+#define odoubleacute 0x0151
+#define udoubleacute 0x0171
+#define rcaron 0x0159
+#define uring 0x016F
+#define tcedilla 0x0163
+#define abovedot 0x02D9
+#define Hstroke 0x0126
+#define Hcircumflex 0x0124
+#define Iabovedot 0x0130
+#define Gbreve 0x011E
+#define Jcircumflex 0x0134
+#define hstroke 0x0127
+#define hcircumflex 0x0125
+#define idotless 0x0131
+#define gbreve 0x011F
+#define jcircumflex 0x0135
+#define Cabovedot 0x010A
+#define Ccircumflex 0x0108
+#define Gabovedot 0x0120
+#define Gcircumflex 0x011C
+#define Ubreve 0x016C
+#define Scircumflex 0x015C
+#define cabovedot 0x010B
+#define ccircumflex 0x0109
+#define gabovedot 0x0121
+#define gcircumflex 0x011D
+#define ubreve 0x016D
+#define scircumflex 0x015D
+#define kra 0x0138
+#define Rcedilla 0x0156
+#define Itilde 0x0128
+#define Lcedilla 0x013B
+#define Emacron 0x0112
+#define Gcedilla 0x0122
+#define Tslash 0x0166
+#define rcedilla 0x0157
+#define itilde 0x0129
+#define lcedilla 0x013C
+#define emacron 0x0113
+#define gcedilla 0x0123
+#define tslash 0x0167
+#define ENG 0x014A
+#define eng 0x014B
+#define Amacron 0x0100
+#define Iogonek 0x012E
+#define Eabovedot 0x0116
+#define Imacron 0x012A
+#define Ncedilla 0x0145
+#define Omacron 0x014C
+#define Kcedilla 0x0136
+#define Uogonek 0x0172
+#define Utilde 0x0168
+#define Umacron 0x016A
+#define amacron 0x0101
+#define iogonek 0x012F
+#define eabovedot 0x0117
+#define imacron 0x012B
+#define ncedilla 0x0146
+#define omacron 0x014D
+#define kcedilla 0x0137
+#define uogonek 0x0173
+#define utilde 0x0169
+#define umacron 0x016B
+#define Babovedot 0x1E02
+#define babovedot 0x1E03
+#define Dabovedot 0x1E0A
+#define Wgrave 0x1E80
+#define Wacute 0x1E82
+#define dabovedot 0x1E0B
+#define Ygrave 0x1EF2
+#define Fabovedot 0x1E1E
+#define fabovedot 0x1E1F
+#define Mabovedot 0x1E40
+#define mabovedot 0x1E41
+#define Pabovedot 0x1E56
+#define wgrave 0x1E81
+#define pabovedot 0x1E57
+#define wacute 0x1E83
+#define Sabovedot 0x1E60
+#define ygrave 0x1EF3
+#define Wdiaeresis 0x1E84
+#define wdiaeresis 0x1E85
+#define sabovedot 0x1E61
+#define Wcircumflex 0x0174
+#define Tabovedot 0x1E6A
+#define Ycircumflex 0x0176
+#define wcircumflex 0x0175
+#define tabovedot 0x1E6B
+#define ycircumflex 0x0177
+#define OE 0x0152
+#define oe 0x0153
+#define Ydiaeresis 0x0178
+#define overline 0x203E
+#define kana_fullstop 0x3002
+#define kana_openingbracket 0x300C
+#define kana_closingbracket 0x300D
+#define kana_comma 0x3001
+#define kana_conjunctive 0x30FB
+#define kana_WO 0x30F2
+#define kana_a 0x30A1
+#define kana_i 0x30A3
+#define kana_u 0x30A5
+#define kana_e 0x30A7
+#define kana_o 0x30A9
+#define kana_ya 0x30E3
+#define kana_yu 0x30E5
+#define kana_yo 0x30E7
+#define kana_tsu 0x30C3
+#define prolongedsound 0x30FC
+#define kana_A 0x30A2
+#define kana_I 0x30A4
+#define kana_U 0x30A6
+#define kana_E 0x30A8
+#define kana_O 0x30AA
+#define kana_KA 0x30AB
+#define kana_KI 0x30AD
+#define kana_KU 0x30AF
+#define kana_KE 0x30B1
+#define kana_KO 0x30B3
+#define kana_SA 0x30B5
+#define kana_SHI 0x30B7
+#define kana_SU 0x30B9
+#define kana_SE 0x30BB
+#define kana_SO 0x30BD
+#define kana_TA 0x30BF
+#define kana_CHI 0x30C1
+#define kana_TSU 0x30C4
+#define kana_TE 0x30C6
+#define kana_TO 0x30C8
+#define kana_NA 0x30CA
+#define kana_NI 0x30CB
+#define kana_NU 0x30CC
+#define kana_NE 0x30CD
+#define kana_NO 0x30CE
+#define kana_HA 0x30CF
+#define kana_HI 0x30D2
+#define kana_FU 0x30D5
+#define kana_HE 0x30D8
+#define kana_HO 0x30DB
+#define kana_MA 0x30DE
+#define kana_MI 0x30DF
+#define kana_MU 0x30E0
+#define kana_ME 0x30E1
+#define kana_MO 0x30E2
+#define kana_YA 0x30E4
+#define kana_YU 0x30E6
+#define kana_YO 0x30E8
+#define kana_RA 0x30E9
+#define kana_RI 0x30EA
+#define kana_RU 0x30EB
+#define kana_RE 0x30EC
+#define kana_RO 0x30ED
+#define kana_WA 0x30EF
+#define kana_N 0x30F3
+#define voicedsound 0x309B
+#define semivoicedsound 0x309C
+#define Farsi_0 0x06F0
+#define Farsi_1 0x06F1
+#define Farsi_2 0x06F2
+#define Farsi_3 0x06F3
+#define Farsi_4 0x06F4
+#define Farsi_5 0x06F5
+#define Farsi_6 0x06F6
+#define Farsi_7 0x06F7
+#define Farsi_8 0x06F8
+#define Farsi_9 0x06F9
+#define Arabic_percent 0x066A
+#define Arabic_superscript_alef 0x0670
+#define Arabic_tteh 0x0679
+#define Arabic_peh 0x067E
+#define Arabic_tcheh 0x0686
+#define Arabic_ddal 0x0688
+#define Arabic_rreh 0x0691
+#define Arabic_comma 0x060C
+#define Arabic_fullstop 0x06D4
+#define Arabic_0 0x0660
+#define Arabic_1 0x0661
+#define Arabic_2 0x0662
+#define Arabic_3 0x0663
+#define Arabic_4 0x0664
+#define Arabic_5 0x0665
+#define Arabic_6 0x0666
+#define Arabic_7 0x0667
+#define Arabic_8 0x0668
+#define Arabic_9 0x0669
+#define Arabic_semicolon 0x061B
+#define Arabic_question_mark 0x061F
+#define Arabic_hamza 0x0621
+#define Arabic_maddaonalef 0x0622
+#define Arabic_hamzaonalef 0x0623
+#define Arabic_hamzaonwaw 0x0624
+#define Arabic_hamzaunderalef 0x0625
+#define Arabic_hamzaonyeh 0x0626
+#define Arabic_alef 0x0627
+#define Arabic_beh 0x0628
+#define Arabic_tehmarbuta 0x0629
+#define Arabic_teh 0x062A
+#define Arabic_theh 0x062B
+#define Arabic_jeem 0x062C
+#define Arabic_hah 0x062D
+#define Arabic_khah 0x062E
+#define Arabic_dal 0x062F
+#define Arabic_thal 0x0630
+#define Arabic_ra 0x0631
+#define Arabic_zain 0x0632
+#define Arabic_seen 0x0633
+#define Arabic_sheen 0x0634
+#define Arabic_sad 0x0635
+#define Arabic_dad 0x0636
+#define Arabic_tah 0x0637
+#define Arabic_zah 0x0638
+#define Arabic_ain 0x0639
+#define Arabic_ghain 0x063A
+#define Arabic_tatweel 0x0640
+#define Arabic_feh 0x0641
+#define Arabic_qaf 0x0642
+#define Arabic_kaf 0x0643
+#define Arabic_lam 0x0644
+#define Arabic_meem 0x0645
+#define Arabic_noon 0x0646
+#define Arabic_ha 0x0647
+#define Arabic_waw 0x0648
+#define Arabic_alefmaksura 0x0649
+#define Arabic_yeh 0x064A
+#define Arabic_fathatan 0x064B
+#define Arabic_dammatan 0x064C
+#define Arabic_kasratan 0x064D
+#define Arabic_fatha 0x064E
+#define Arabic_damma 0x064F
+#define Arabic_kasra 0x0650
+#define Arabic_shadda 0x0651
+#define Arabic_sukun 0x0652
+#define Arabic_madda_above 0x0653
+#define Arabic_hamza_above 0x0654
+#define Arabic_hamza_below 0x0655
+#define Arabic_jeh 0x0698
+#define Arabic_veh 0x06A4
+#define Arabic_keheh 0x06A9
+#define Arabic_gaf 0x06AF
+#define Arabic_noon_ghunna 0x06BA
+#define Arabic_heh_doachashmee 0x06BE
+#define Farsi_yeh 0x06CC
+#define Arabic_farsi_yeh 0x06CC
+#define Arabic_yeh_baree 0x06D2
+#define Arabic_heh_goal 0x06C1
+#define Cyrillic_GHE_bar 0x0492
+#define Cyrillic_ghe_bar 0x0493
+#define Cyrillic_ZHE_descender 0x0496
+#define Cyrillic_zhe_descender 0x0497
+#define Cyrillic_KA_descender 0x049A
+#define Cyrillic_ka_descender 0x049B
+#define Cyrillic_KA_vertstroke 0x049C
+#define Cyrillic_ka_vertstroke 0x049D
+#define Cyrillic_EN_descender 0x04A2
+#define Cyrillic_en_descender 0x04A3
+#define Cyrillic_U_straight 0x04AE
+#define Cyrillic_u_straight 0x04AF
+#define Cyrillic_U_straight_bar 0x04B0
+#define Cyrillic_u_straight_bar 0x04B1
+#define Cyrillic_HA_descender 0x04B2
+#define Cyrillic_ha_descender 0x04B3
+#define Cyrillic_CHE_descender 0x04B6
+#define Cyrillic_che_descender 0x04B7
+#define Cyrillic_CHE_vertstroke 0x04B8
+#define Cyrillic_che_vertstroke 0x04B9
+#define Cyrillic_SHHA 0x04BA
+#define Cyrillic_shha 0x04BB
+#define Cyrillic_SCHWA 0x04D8
+#define Cyrillic_schwa 0x04D9
+#define Cyrillic_I_macron 0x04E2
+#define Cyrillic_i_macron 0x04E3
+#define Cyrillic_O_bar 0x04E8
+#define Cyrillic_o_bar 0x04E9
+#define Cyrillic_U_macron 0x04EE
+#define Cyrillic_u_macron 0x04EF
+#define Serbian_dje 0x0452
+#define Macedonia_gje 0x0453
+#define Cyrillic_io 0x0451
+#define Ukrainian_ie 0x0454
+#define Macedonia_dse 0x0455
+#define Ukrainian_i 0x0456
+#define Ukrainian_yi 0x0457
+#define Cyrillic_je 0x0458
+#define Cyrillic_lje 0x0459
+#define Cyrillic_nje 0x045A
+#define Serbian_tshe 0x045B
+#define Macedonia_kje 0x045C
+#define Ukrainian_ghe_with_upturn 0x0491
+#define Byelorussian_shortu 0x045E
+#define Cyrillic_dzhe 0x045F
+#define numerosign 0x2116
+#define Serbian_DJE 0x0402
+#define Macedonia_GJE 0x0403
+#define Cyrillic_IO 0x0401
+#define Ukrainian_IE 0x0404
+#define Macedonia_DSE 0x0405
+#define Ukrainian_I 0x0406
+#define Ukrainian_YI 0x0407
+#define Cyrillic_JE 0x0408
+#define Cyrillic_LJE 0x0409
+#define Cyrillic_NJE 0x040A
+#define Serbian_TSHE 0x040B
+#define Macedonia_KJE 0x040C
+#define Ukrainian_GHE_WITH_UPTURN 0x0490
+#define Byelorussian_SHORTU 0x040E
+#define Cyrillic_DZHE 0x040F
+#define Cyrillic_yu 0x044E
+#define Cyrillic_a 0x0430
+#define Cyrillic_be 0x0431
+#define Cyrillic_tse 0x0446
+#define Cyrillic_de 0x0434
+#define Cyrillic_ie 0x0435
+#define Cyrillic_ef 0x0444
+#define Cyrillic_ghe 0x0433
+#define Cyrillic_ha 0x0445
+#define Cyrillic_i 0x0438
+#define Cyrillic_shorti 0x0439
+#define Cyrillic_ka 0x043A
+#define Cyrillic_el 0x043B
+#define Cyrillic_em 0x043C
+#define Cyrillic_en 0x043D
+#define Cyrillic_o 0x043E
+#define Cyrillic_pe 0x043F
+#define Cyrillic_ya 0x044F
+#define Cyrillic_er 0x0440
+#define Cyrillic_es 0x0441
+#define Cyrillic_te 0x0442
+#define Cyrillic_u 0x0443
+#define Cyrillic_zhe 0x0436
+#define Cyrillic_ve 0x0432
+#define Cyrillic_softsign 0x044C
+#define Cyrillic_yeru 0x044B
+#define Cyrillic_ze 0x0437
+#define Cyrillic_sha 0x0448
+#define Cyrillic_e 0x044D
+#define Cyrillic_shcha 0x0449
+#define Cyrillic_che 0x0447
+#define Cyrillic_hardsign 0x044A
+#define Cyrillic_YU 0x042E
+#define Cyrillic_A 0x0410
+#define Cyrillic_BE 0x0411
+#define Cyrillic_TSE 0x0426
+#define Cyrillic_DE 0x0414
+#define Cyrillic_IE 0x0415
+#define Cyrillic_EF 0x0424
+#define Cyrillic_GHE 0x0413
+#define Cyrillic_HA 0x0425
+#define Cyrillic_I 0x0418
+#define Cyrillic_SHORTI 0x0419
+#define Cyrillic_KA 0x041A
+#define Cyrillic_EL 0x041B
+#define Cyrillic_EM 0x041C
+#define Cyrillic_EN 0x041D
+#define Cyrillic_O 0x041E
+#define Cyrillic_PE 0x041F
+#define Cyrillic_YA 0x042F
+#define Cyrillic_ER 0x0420
+#define Cyrillic_ES 0x0421
+#define Cyrillic_TE 0x0422
+#define Cyrillic_U 0x0423
+#define Cyrillic_ZHE 0x0416
+#define Cyrillic_VE 0x0412
+#define Cyrillic_SOFTSIGN 0x042C
+#define Cyrillic_YERU 0x042B
+#define Cyrillic_ZE 0x0417
+#define Cyrillic_SHA 0x0428
+#define Cyrillic_E 0x042D
+#define Cyrillic_SHCHA 0x0429
+#define Cyrillic_CHE 0x0427
+#define Cyrillic_HARDSIGN 0x042A
+#define Greek_ALPHAaccent 0x0386
+#define Greek_EPSILONaccent 0x0388
+#define Greek_ETAaccent 0x0389
+#define Greek_IOTAaccent 0x038A
+#define Greek_IOTAdieresis 0x03AA
+#define Greek_OMICRONaccent 0x038C
+#define Greek_UPSILONaccent 0x038E
+#define Greek_UPSILONdieresis 0x03AB
+#define Greek_OMEGAaccent 0x038F
+#define Greek_accentdieresis 0x0385
+#define Greek_horizbar 0x2015
+#define Greek_alphaaccent 0x03AC
+#define Greek_epsilonaccent 0x03AD
+#define Greek_etaaccent 0x03AE
+#define Greek_iotaaccent 0x03AF
+#define Greek_iotadieresis 0x03CA
+#define Greek_iotaaccentdieresis 0x0390
+#define Greek_omicronaccent 0x03CC
+#define Greek_upsilonaccent 0x03CD
+#define Greek_upsilondieresis 0x03CB
+#define Greek_upsilonaccentdieresis 0x03B0
+#define Greek_omegaaccent 0x03CE
+#define Greek_ALPHA 0x0391
+#define Greek_BETA 0x0392
+#define Greek_GAMMA 0x0393
+#define Greek_DELTA 0x0394
+#define Greek_EPSILON 0x0395
+#define Greek_ZETA 0x0396
+#define Greek_ETA 0x0397
+#define Greek_THETA 0x0398
+#define Greek_IOTA 0x0399
+#define Greek_KAPPA 0x039A
+#define Greek_LAMDA 0x039B
+#define Greek_LAMBDA 0x039B
+#define Greek_MU 0x039C
+#define Greek_NU 0x039D
+#define Greek_XI 0x039E
+#define Greek_OMICRON 0x039F
+#define Greek_PI 0x03A0
+#define Greek_RHO 0x03A1
+#define Greek_SIGMA 0x03A3
+#define Greek_TAU 0x03A4
+#define Greek_UPSILON 0x03A5
+#define Greek_PHI 0x03A6
+#define Greek_CHI 0x03A7
+#define Greek_PSI 0x03A8
+#define Greek_OMEGA 0x03A9
+#define Greek_alpha 0x03B1
+#define Greek_beta 0x03B2
+#define Greek_gamma 0x03B3
+#define Greek_delta 0x03B4
+#define Greek_epsilon 0x03B5
+#define Greek_zeta 0x03B6
+#define Greek_eta 0x03B7
+#define Greek_theta 0x03B8
+#define Greek_iota 0x03B9
+#define Greek_kappa 0x03BA
+#define Greek_lamda 0x03BB
+#define Greek_lambda 0x03BB
+#define Greek_mu 0x03BC
+#define Greek_nu 0x03BD
+#define Greek_xi 0x03BE
+#define Greek_omicron 0x03BF
+#define Greek_pi 0x03C0
+#define Greek_rho 0x03C1
+#define Greek_sigma 0x03C3
+#define Greek_finalsmallsigma 0x03C2
+#define Greek_tau 0x03C4
+#define Greek_upsilon 0x03C5
+#define Greek_phi 0x03C6
+#define Greek_chi 0x03C7
+#define Greek_psi 0x03C8
+#define Greek_omega 0x03C9
+#define leftradical 0x23B7
+#define topleftradical 0x250C
+#define horizconnector 0x2500
+#define topintegral 0x2320
+#define botintegral 0x2321
+#define vertconnector 0x2502
+#define topleftsqbracket 0x23A1
+#define botleftsqbracket 0x23A3
+#define toprightsqbracket 0x23A4
+#define botrightsqbracket 0x23A6
+#define topleftparens 0x239B
+#define botleftparens 0x239D
+#define toprightparens 0x239E
+#define botrightparens 0x23A0
+#define leftmiddlecurlybrace 0x23A8
+#define rightmiddlecurlybrace 0x23AC
+#define lessthanequal 0x2264
+#define notequal 0x2260
+#define greaterthanequal 0x2265
+#define integral 0x222B
+#define therefore 0x2234
+#define variation 0x221D
+#define infinity 0x221E
+#define nabla 0x2207
+#define approximate 0x223C
+#define similarequal 0x2243
+#define ifonlyif 0x21D4
+#define implies 0x21D2
+#define identical 0x2261
+#define radical 0x221A
+#define includedin 0x2282
+#define includes 0x2283
+#define intersection 0x2229
+#define union 0x222A
+#define logicaland 0x2227
+#define logicalor 0x2228
+#define partialderivative 0x2202
+#define function 0x0192
+#define leftarrow 0x2190
+#define uparrow 0x2191
+#define rightarrow 0x2192
+#define downarrow 0x2193
+#define soliddiamond 0x25C6
+#define checkerboard 0x2592
+#define ht 0x2409
+#define ff 0x240C
+#define cr 0x240D
+#define lf 0x240A
+#define nl 0x2424
+#define vt 0x240B
+#define lowrightcorner 0x2518
+#define uprightcorner 0x2510
+#define upleftcorner 0x250C
+#define lowleftcorner 0x2514
+#define crossinglines 0x253C
+#define horizlinescan1 0x23BA
+#define horizlinescan3 0x23BB
+#define horizlinescan5 0x2500
+#define horizlinescan7 0x23BC
+#define horizlinescan9 0x23BD
+#define leftt 0x251C
+#define rightt 0x2524
+#define bott 0x2534
+#define topt 0x252C
+#define vertbar 0x2502
+#define emspace 0x2003
+#define enspace 0x2002
+#define em3space 0x2004
+#define em4space 0x2005
+#define digitspace 0x2007
+#define punctspace 0x2008
+#define thinspace 0x2009
+#define hairspace 0x200A
+#define emdash 0x2014
+#define endash 0x2013
+#define signifblank 0x2423
+#define ellipsis 0x2026
+#define doubbaselinedot 0x2025
+#define onethird 0x2153
+#define twothirds 0x2154
+#define onefifth 0x2155
+#define twofifths 0x2156
+#define threefifths 0x2157
+#define fourfifths 0x2158
+#define onesixth 0x2159
+#define fivesixths 0x215A
+#define careof 0x2105
+#define figdash 0x2012
+#define leftanglebracket 0x27E8
+#define decimalpoint 0x002E
+#define rightanglebracket 0x27E9
+#define oneeighth 0x215B
+#define threeeighths 0x215C
+#define fiveeighths 0x215D
+#define seveneighths 0x215E
+#define trademark 0x2122
+#define signaturemark 0x2613
+#define leftopentriangle 0x25C1
+#define rightopentriangle 0x25B7
+#define emopencircle 0x25CB
+#define emopenrectangle 0x25AF
+#define leftsinglequotemark 0x2018
+#define rightsinglequotemark 0x2019
+#define leftdoublequotemark 0x201C
+#define rightdoublequotemark 0x201D
+#define prescription 0x211E
+#define minutes 0x2032
+#define seconds 0x2033
+#define latincross 0x271D
+#define filledrectbullet 0x25AC
+#define filledlefttribullet 0x25C0
+#define filledrighttribullet 0x25B6
+#define emfilledcircle 0x25CF
+#define emfilledrect 0x25AE
+#define enopencircbullet 0x25E6
+#define enopensquarebullet 0x25AB
+#define openrectbullet 0x25AD
+#define opentribulletup 0x25B3
+#define opentribulletdown 0x25BD
+#define openstar 0x2606
+#define enfilledcircbullet 0x2022
+#define enfilledsqbullet 0x25AA
+#define filledtribulletup 0x25B2
+#define filledtribulletdown 0x25BC
+#define leftpointer 0x261C
+#define rightpointer 0x261E
+#define club 0x2663
+#define diamond 0x2666
+#define heart 0x2665
+#define maltesecross 0x2720
+#define dagger 0x2020
+#define doubledagger 0x2021
+#define checkmark 0x2713
+#define ballotcross 0x2717
+#define musicalsharp 0x266F
+#define musicalflat 0x266D
+#define malesymbol 0x2642
+#define femalesymbol 0x2640
+#define telephone 0x260E
+#define telephonerecorder 0x2315
+#define phonographcopyright 0x2117
+#define caret 0x2038
+#define singlelowquotemark 0x201A
+#define doublelowquotemark 0x201E
+#define leftcaret 0x003C
+#define rightcaret 0x003E
+#define downcaret 0x2228
+#define upcaret 0x2227
+#define overbar 0x00AF
+#define downtack 0x22A4
+#define upshoe 0x2229
+#define downstile 0x230A
+#define underbar 0x005F
+#define jot 0x2218
+#define quad 0x2395
+#define uptack 0x22A5
+#define circle 0x25CB
+#define upstile 0x2308
+#define downshoe 0x222A
+#define rightshoe 0x2283
+#define leftshoe 0x2282
+#define lefttack 0x22A3
+#define righttack 0x22A2
+#define hebrew_doublelowline 0x2017
+#define hebrew_aleph 0x05D0
+#define hebrew_bet 0x05D1
+#define hebrew_gimel 0x05D2
+#define hebrew_dalet 0x05D3
+#define hebrew_he 0x05D4
+#define hebrew_waw 0x05D5
+#define hebrew_zain 0x05D6
+#define hebrew_chet 0x05D7
+#define hebrew_tet 0x05D8
+#define hebrew_yod 0x05D9
+#define hebrew_finalkaph 0x05DA
+#define hebrew_kaph 0x05DB
+#define hebrew_lamed 0x05DC
+#define hebrew_finalmem 0x05DD
+#define hebrew_mem 0x05DE
+#define hebrew_finalnun 0x05DF
+#define hebrew_nun 0x05E0
+#define hebrew_samech 0x05E1
+#define hebrew_ayin 0x05E2
+#define hebrew_finalpe 0x05E3
+#define hebrew_pe 0x05E4
+#define hebrew_finalzade 0x05E5
+#define hebrew_zade 0x05E6
+#define hebrew_qoph 0x05E7
+#define hebrew_resh 0x05E8
+#define hebrew_shin 0x05E9
+#define hebrew_taw 0x05EA
+#define Thai_kokai 0x0E01
+#define Thai_khokhai 0x0E02
+#define Thai_khokhuat 0x0E03
+#define Thai_khokhwai 0x0E04
+#define Thai_khokhon 0x0E05
+#define Thai_khorakhang 0x0E06
+#define Thai_ngongu 0x0E07
+#define Thai_chochan 0x0E08
+#define Thai_choching 0x0E09
+#define Thai_chochang 0x0E0A
+#define Thai_soso 0x0E0B
+#define Thai_chochoe 0x0E0C
+#define Thai_yoying 0x0E0D
+#define Thai_dochada 0x0E0E
+#define Thai_topatak 0x0E0F
+#define Thai_thothan 0x0E10
+#define Thai_thonangmontho 0x0E11
+#define Thai_thophuthao 0x0E12
+#define Thai_nonen 0x0E13
+#define Thai_dodek 0x0E14
+#define Thai_totao 0x0E15
+#define Thai_thothung 0x0E16
+#define Thai_thothahan 0x0E17
+#define Thai_thothong 0x0E18
+#define Thai_nonu 0x0E19
+#define Thai_bobaimai 0x0E1A
+#define Thai_popla 0x0E1B
+#define Thai_phophung 0x0E1C
+#define Thai_fofa 0x0E1D
+#define Thai_phophan 0x0E1E
+#define Thai_fofan 0x0E1F
+#define Thai_phosamphao 0x0E20
+#define Thai_moma 0x0E21
+#define Thai_yoyak 0x0E22
+#define Thai_rorua 0x0E23
+#define Thai_ru 0x0E24
+#define Thai_loling 0x0E25
+#define Thai_lu 0x0E26
+#define Thai_wowaen 0x0E27
+#define Thai_sosala 0x0E28
+#define Thai_sorusi 0x0E29
+#define Thai_sosua 0x0E2A
+#define Thai_hohip 0x0E2B
+#define Thai_lochula 0x0E2C
+#define Thai_oang 0x0E2D
+#define Thai_honokhuk 0x0E2E
+#define Thai_paiyannoi 0x0E2F
+#define Thai_saraa 0x0E30
+#define Thai_maihanakat 0x0E31
+#define Thai_saraaa 0x0E32
+#define Thai_saraam 0x0E33
+#define Thai_sarai 0x0E34
+#define Thai_saraii 0x0E35
+#define Thai_saraue 0x0E36
+#define Thai_sarauee 0x0E37
+#define Thai_sarau 0x0E38
+#define Thai_sarauu 0x0E39
+#define Thai_phinthu 0x0E3A
+#define Thai_baht 0x0E3F
+#define Thai_sarae 0x0E40
+#define Thai_saraae 0x0E41
+#define Thai_sarao 0x0E42
+#define Thai_saraaimaimuan 0x0E43
+#define Thai_saraaimaimalai 0x0E44
+#define Thai_lakkhangyao 0x0E45
+#define Thai_maiyamok 0x0E46
+#define Thai_maitaikhu 0x0E47
+#define Thai_maiek 0x0E48
+#define Thai_maitho 0x0E49
+#define Thai_maitri 0x0E4A
+#define Thai_maichattawa 0x0E4B
+#define Thai_thanthakhat 0x0E4C
+#define Thai_nikhahit 0x0E4D
+#define Thai_leksun 0x0E50
+#define Thai_leknung 0x0E51
+#define Thai_leksong 0x0E52
+#define Thai_leksam 0x0E53
+#define Thai_leksi 0x0E54
+#define Thai_lekha 0x0E55
+#define Thai_lekhok 0x0E56
+#define Thai_lekchet 0x0E57
+#define Thai_lekpaet 0x0E58
+#define Thai_lekkao 0x0E59
+#define Korean_Won 0x20A9
+#define Armenian_ligature_ew 0x0587
+#define Armenian_full_stop 0x0589
+#define Armenian_verjaket 0x0589
+#define Armenian_separation_mark 0x055D
+#define Armenian_but 0x055D
+#define Armenian_hyphen 0x058A
+#define Armenian_yentamna 0x058A
+#define Armenian_exclam 0x055C
+#define Armenian_amanak 0x055C
+#define Armenian_accent 0x055B
+#define Armenian_shesht 0x055B
+#define Armenian_question 0x055E
+#define Armenian_paruyk 0x055E
+#define Armenian_AYB 0x0531
+#define Armenian_ayb 0x0561
+#define Armenian_BEN 0x0532
+#define Armenian_ben 0x0562
+#define Armenian_GIM 0x0533
+#define Armenian_gim 0x0563
+#define Armenian_DA 0x0534
+#define Armenian_da 0x0564
+#define Armenian_YECH 0x0535
+#define Armenian_yech 0x0565
+#define Armenian_ZA 0x0536
+#define Armenian_za 0x0566
+#define Armenian_E 0x0537
+#define Armenian_e 0x0567
+#define Armenian_AT 0x0538
+#define Armenian_at 0x0568
+#define Armenian_TO 0x0539
+#define Armenian_to 0x0569
+#define Armenian_ZHE 0x053A
+#define Armenian_zhe 0x056A
+#define Armenian_INI 0x053B
+#define Armenian_ini 0x056B
+#define Armenian_LYUN 0x053C
+#define Armenian_lyun 0x056C
+#define Armenian_KHE 0x053D
+#define Armenian_khe 0x056D
+#define Armenian_TSA 0x053E
+#define Armenian_tsa 0x056E
+#define Armenian_KEN 0x053F
+#define Armenian_ken 0x056F
+#define Armenian_HO 0x0540
+#define Armenian_ho 0x0570
+#define Armenian_DZA 0x0541
+#define Armenian_dza 0x0571
+#define Armenian_GHAT 0x0542
+#define Armenian_ghat 0x0572
+#define Armenian_TCHE 0x0543
+#define Armenian_tche 0x0573
+#define Armenian_MEN 0x0544
+#define Armenian_men 0x0574
+#define Armenian_HI 0x0545
+#define Armenian_hi 0x0575
+#define Armenian_NU 0x0546
+#define Armenian_nu 0x0576
+#define Armenian_SHA 0x0547
+#define Armenian_sha 0x0577
+#define Armenian_VO 0x0548
+#define Armenian_vo 0x0578
+#define Armenian_CHA 0x0549
+#define Armenian_cha 0x0579
+#define Armenian_PE 0x054A
+#define Armenian_pe 0x057A
+#define Armenian_JE 0x054B
+#define Armenian_je 0x057B
+#define Armenian_RA 0x054C
+#define Armenian_ra 0x057C
+#define Armenian_SE 0x054D
+#define Armenian_se 0x057D
+#define Armenian_VEV 0x054E
+#define Armenian_vev 0x057E
+#define Armenian_TYUN 0x054F
+#define Armenian_tyun 0x057F
+#define Armenian_RE 0x0550
+#define Armenian_re 0x0580
+#define Armenian_TSO 0x0551
+#define Armenian_tso 0x0581
+#define Armenian_VYUN 0x0552
+#define Armenian_vyun 0x0582
+#define Armenian_PYUR 0x0553
+#define Armenian_pyur 0x0583
+#define Armenian_KE 0x0554
+#define Armenian_ke 0x0584
+#define Armenian_O 0x0555
+#define Armenian_o 0x0585
+#define Armenian_FE 0x0556
+#define Armenian_fe 0x0586
+#define Armenian_apostrophe 0x055A
+#define Georgian_an 0x10D0
+#define Georgian_ban 0x10D1
+#define Georgian_gan 0x10D2
+#define Georgian_don 0x10D3
+#define Georgian_en 0x10D4
+#define Georgian_vin 0x10D5
+#define Georgian_zen 0x10D6
+#define Georgian_tan 0x10D7
+#define Georgian_in 0x10D8
+#define Georgian_kan 0x10D9
+#define Georgian_las 0x10DA
+#define Georgian_man 0x10DB
+#define Georgian_nar 0x10DC
+#define Georgian_on 0x10DD
+#define Georgian_par 0x10DE
+#define Georgian_zhar 0x10DF
+#define Georgian_rae 0x10E0
+#define Georgian_san 0x10E1
+#define Georgian_tar 0x10E2
+#define Georgian_un 0x10E3
+#define Georgian_phar 0x10E4
+#define Georgian_khar 0x10E5
+#define Georgian_ghan 0x10E6
+#define Georgian_qar 0x10E7
+#define Georgian_shin 0x10E8
+#define Georgian_chin 0x10E9
+#define Georgian_can 0x10EA
+#define Georgian_jil 0x10EB
+#define Georgian_cil 0x10EC
+#define Georgian_char 0x10ED
+#define Georgian_xan 0x10EE
+#define Georgian_jhan 0x10EF
+#define Georgian_hae 0x10F0
+#define Georgian_he 0x10F1
+#define Georgian_hie 0x10F2
+#define Georgian_we 0x10F3
+#define Georgian_har 0x10F4
+#define Georgian_hoe 0x10F5
+#define Georgian_fi 0x10F6
+#define Xabovedot 0x1E8A
+#define Ibreve 0x012C
+#define Zstroke 0x01B5
+#define Gcaron 0x01E6
+#define Ocaron 0x01D2
+#define Obarred 0x019F
+#define xabovedot 0x1E8B
+#define ibreve 0x012D
+#define zstroke 0x01B6
+#define gcaron 0x01E7
+#define ocaron 0x01D2
+#define obarred 0x0275
+#define SCHWA 0x018F
+#define schwa 0x0259
+#define Lbelowdot 0x1E36
+#define lbelowdot 0x1E37
+#define Abelowdot 0x1EA0
+#define abelowdot 0x1EA1
+#define Ahook 0x1EA2
+#define ahook 0x1EA3
+#define Acircumflexacute 0x1EA4
+#define acircumflexacute 0x1EA5
+#define Acircumflexgrave 0x1EA6
+#define acircumflexgrave 0x1EA7
+#define Acircumflexhook 0x1EA8
+#define acircumflexhook 0x1EA9
+#define Acircumflextilde 0x1EAA
+#define acircumflextilde 0x1EAB
+#define Acircumflexbelowdot 0x1EAC
+#define acircumflexbelowdot 0x1EAD
+#define Abreveacute 0x1EAE
+#define abreveacute 0x1EAF
+#define Abrevegrave 0x1EB0
+#define abrevegrave 0x1EB1
+#define Abrevehook 0x1EB2
+#define abrevehook 0x1EB3
+#define Abrevetilde 0x1EB4
+#define abrevetilde 0x1EB5
+#define Abrevebelowdot 0x1EB6
+#define abrevebelowdot 0x1EB7
+#define Ebelowdot 0x1EB8
+#define ebelowdot 0x1EB9
+#define Ehook 0x1EBA
+#define ehook 0x1EBB
+#define Etilde 0x1EBC
+#define etilde 0x1EBD
+#define Ecircumflexacute 0x1EBE
+#define ecircumflexacute 0x1EBF
+#define Ecircumflexgrave 0x1EC0
+#define ecircumflexgrave 0x1EC1
+#define Ecircumflexhook 0x1EC2
+#define ecircumflexhook 0x1EC3
+#define Ecircumflextilde 0x1EC4
+#define ecircumflextilde 0x1EC5
+#define Ecircumflexbelowdot 0x1EC6
+#define ecircumflexbelowdot 0x1EC7
+#define Ihook 0x1EC8
+#define ihook 0x1EC9
+#define Ibelowdot 0x1ECA
+#define ibelowdot 0x1ECB
+#define Obelowdot 0x1ECC
+#define obelowdot 0x1ECD
+#define Ohook 0x1ECE
+#define ohook 0x1ECF
+#define Ocircumflexacute 0x1ED0
+#define ocircumflexacute 0x1ED1
+#define Ocircumflexgrave 0x1ED2
+#define ocircumflexgrave 0x1ED3
+#define Ocircumflexhook 0x1ED4
+#define ocircumflexhook 0x1ED5
+#define Ocircumflextilde 0x1ED6
+#define ocircumflextilde 0x1ED7
+#define Ocircumflexbelowdot 0x1ED8
+#define ocircumflexbelowdot 0x1ED9
+#define Ohornacute 0x1EDA
+#define ohornacute 0x1EDB
+#define Ohorngrave 0x1EDC
+#define ohorngrave 0x1EDD
+#define Ohornhook 0x1EDE
+#define ohornhook 0x1EDF
+#define Ohorntilde 0x1EE0
+#define ohorntilde 0x1EE1
+#define Ohornbelowdot 0x1EE2
+#define ohornbelowdot 0x1EE3
+#define Ubelowdot 0x1EE4
+#define ubelowdot 0x1EE5
+#define Uhook 0x1EE6
+#define uhook 0x1EE7
+#define Uhornacute 0x1EE8
+#define uhornacute 0x1EE9
+#define Uhorngrave 0x1EEA
+#define uhorngrave 0x1EEB
+#define Uhornhook 0x1EEC
+#define uhornhook 0x1EED
+#define Uhorntilde 0x1EEE
+#define uhorntilde 0x1EEF
+#define Uhornbelowdot 0x1EF0
+#define uhornbelowdot 0x1EF1
+#define Ybelowdot 0x1EF4
+#define ybelowdot 0x1EF5
+#define Yhook 0x1EF6
+#define yhook 0x1EF7
+#define Ytilde 0x1EF8
+#define ytilde 0x1EF9
+#define Ohorn 0x01A0
+#define ohorn 0x01A1
+#define Uhorn 0x01AF
+#define uhorn 0x01B0
+#define EcuSign 0x20A0
+#define ColonSign 0x20A1
+#define CruzeiroSign 0x20A2
+#define FFrancSign 0x20A3
+#define LiraSign 0x20A4
+#define MillSign 0x20A5
+#define NairaSign 0x20A6
+#define PesetaSign 0x20A7
+#define RupeeSign 0x20A8
+#define WonSign 0x20A9
+#define NewSheqelSign 0x20AA
+#define DongSign 0x20AB
+#define EuroSign 0x20AC
+#define zerosuperior 0x2070
+#define foursuperior 0x2074
+#define fivesuperior 0x2075
+#define sixsuperior 0x2076
+#define sevensuperior 0x2077
+#define eightsuperior 0x2078
+#define ninesuperior 0x2079
+#define zerosubscript 0x2080
+#define onesubscript 0x2081
+#define twosubscript 0x2082
+#define threesubscript 0x2083
+#define foursubscript 0x2084
+#define fivesubscript 0x2085
+#define sixsubscript 0x2086
+#define sevensubscript 0x2087
+#define eightsubscript 0x2088
+#define ninesubscript 0x2089
+#define partdifferential 0x2202
+#define emptyset 0x2205
+#define elementof 0x2208
+#define notelementof 0x2209
+#define containsas 0x220B
+#define squareroot 0x221A
+#define cuberoot 0x221B
+#define fourthroot 0x221C
+#define dintegral 0x222C
+#define tintegral 0x222D
+#define because 0x2235
+#define approxeq 0x2245
+#define notapproxeq 0x2247
+#define notidentical 0x2262
+#define stricteq 0x2263
+#define braille_blank 0x2800
+#define braille_dots_1 0x2801
+#define braille_dots_2 0x2802
+#define braille_dots_12 0x2803
+#define braille_dots_3 0x2804
+#define braille_dots_13 0x2805
+#define braille_dots_23 0x2806
+#define braille_dots_123 0x2807
+#define braille_dots_4 0x2808
+#define braille_dots_14 0x2809
+#define braille_dots_24 0x280a
+#define braille_dots_124 0x280b
+#define braille_dots_34 0x280c
+#define braille_dots_134 0x280d
+#define braille_dots_234 0x280e
+#define braille_dots_1234 0x280f
+#define braille_dots_5 0x2810
+#define braille_dots_15 0x2811
+#define braille_dots_25 0x2812
+#define braille_dots_125 0x2813
+#define braille_dots_35 0x2814
+#define braille_dots_135 0x2815
+#define braille_dots_235 0x2816
+#define braille_dots_1235 0x2817
+#define braille_dots_45 0x2818
+#define braille_dots_145 0x2819
+#define braille_dots_245 0x281a
+#define braille_dots_1245 0x281b
+#define braille_dots_345 0x281c
+#define braille_dots_1345 0x281d
+#define braille_dots_2345 0x281e
+#define braille_dots_12345 0x281f
+#define braille_dots_6 0x2820
+#define braille_dots_16 0x2821
+#define braille_dots_26 0x2822
+#define braille_dots_126 0x2823
+#define braille_dots_36 0x2824
+#define braille_dots_136 0x2825
+#define braille_dots_236 0x2826
+#define braille_dots_1236 0x2827
+#define braille_dots_46 0x2828
+#define braille_dots_146 0x2829
+#define braille_dots_246 0x282a
+#define braille_dots_1246 0x282b
+#define braille_dots_346 0x282c
+#define braille_dots_1346 0x282d
+#define braille_dots_2346 0x282e
+#define braille_dots_12346 0x282f
+#define braille_dots_56 0x2830
+#define braille_dots_156 0x2831
+#define braille_dots_256 0x2832
+#define braille_dots_1256 0x2833
+#define braille_dots_356 0x2834
+#define braille_dots_1356 0x2835
+#define braille_dots_2356 0x2836
+#define braille_dots_12356 0x2837
+#define braille_dots_456 0x2838
+#define braille_dots_1456 0x2839
+#define braille_dots_2456 0x283a
+#define braille_dots_12456 0x283b
+#define braille_dots_3456 0x283c
+#define braille_dots_13456 0x283d
+#define braille_dots_23456 0x283e
+#define braille_dots_123456 0x283f
+#define braille_dots_7 0x2840
+#define braille_dots_17 0x2841
+#define braille_dots_27 0x2842
+#define braille_dots_127 0x2843
+#define braille_dots_37 0x2844
+#define braille_dots_137 0x2845
+#define braille_dots_237 0x2846
+#define braille_dots_1237 0x2847
+#define braille_dots_47 0x2848
+#define braille_dots_147 0x2849
+#define braille_dots_247 0x284a
+#define braille_dots_1247 0x284b
+#define braille_dots_347 0x284c
+#define braille_dots_1347 0x284d
+#define braille_dots_2347 0x284e
+#define braille_dots_12347 0x284f
+#define braille_dots_57 0x2850
+#define braille_dots_157 0x2851
+#define braille_dots_257 0x2852
+#define braille_dots_1257 0x2853
+#define braille_dots_357 0x2854
+#define braille_dots_1357 0x2855
+#define braille_dots_2357 0x2856
+#define braille_dots_12357 0x2857
+#define braille_dots_457 0x2858
+#define braille_dots_1457 0x2859
+#define braille_dots_2457 0x285a
+#define braille_dots_12457 0x285b
+#define braille_dots_3457 0x285c
+#define braille_dots_13457 0x285d
+#define braille_dots_23457 0x285e
+#define braille_dots_123457 0x285f
+#define braille_dots_67 0x2860
+#define braille_dots_167 0x2861
+#define braille_dots_267 0x2862
+#define braille_dots_1267 0x2863
+#define braille_dots_367 0x2864
+#define braille_dots_1367 0x2865
+#define braille_dots_2367 0x2866
+#define braille_dots_12367 0x2867
+#define braille_dots_467 0x2868
+#define braille_dots_1467 0x2869
+#define braille_dots_2467 0x286a
+#define braille_dots_12467 0x286b
+#define braille_dots_3467 0x286c
+#define braille_dots_13467 0x286d
+#define braille_dots_23467 0x286e
+#define braille_dots_123467 0x286f
+#define braille_dots_567 0x2870
+#define braille_dots_1567 0x2871
+#define braille_dots_2567 0x2872
+#define braille_dots_12567 0x2873
+#define braille_dots_3567 0x2874
+#define braille_dots_13567 0x2875
+#define braille_dots_23567 0x2876
+#define braille_dots_123567 0x2877
+#define braille_dots_4567 0x2878
+#define braille_dots_14567 0x2879
+#define braille_dots_24567 0x287a
+#define braille_dots_124567 0x287b
+#define braille_dots_34567 0x287c
+#define braille_dots_134567 0x287d
+#define braille_dots_234567 0x287e
+#define braille_dots_1234567 0x287f
+#define braille_dots_8 0x2880
+#define braille_dots_18 0x2881
+#define braille_dots_28 0x2882
+#define braille_dots_128 0x2883
+#define braille_dots_38 0x2884
+#define braille_dots_138 0x2885
+#define braille_dots_238 0x2886
+#define braille_dots_1238 0x2887
+#define braille_dots_48 0x2888
+#define braille_dots_148 0x2889
+#define braille_dots_248 0x288a
+#define braille_dots_1248 0x288b
+#define braille_dots_348 0x288c
+#define braille_dots_1348 0x288d
+#define braille_dots_2348 0x288e
+#define braille_dots_12348 0x288f
+#define braille_dots_58 0x2890
+#define braille_dots_158 0x2891
+#define braille_dots_258 0x2892
+#define braille_dots_1258 0x2893
+#define braille_dots_358 0x2894
+#define braille_dots_1358 0x2895
+#define braille_dots_2358 0x2896
+#define braille_dots_12358 0x2897
+#define braille_dots_458 0x2898
+#define braille_dots_1458 0x2899
+#define braille_dots_2458 0x289a
+#define braille_dots_12458 0x289b
+#define braille_dots_3458 0x289c
+#define braille_dots_13458 0x289d
+#define braille_dots_23458 0x289e
+#define braille_dots_123458 0x289f
+#define braille_dots_68 0x28a0
+#define braille_dots_168 0x28a1
+#define braille_dots_268 0x28a2
+#define braille_dots_1268 0x28a3
+#define braille_dots_368 0x28a4
+#define braille_dots_1368 0x28a5
+#define braille_dots_2368 0x28a6
+#define braille_dots_12368 0x28a7
+#define braille_dots_468 0x28a8
+#define braille_dots_1468 0x28a9
+#define braille_dots_2468 0x28aa
+#define braille_dots_12468 0x28ab
+#define braille_dots_3468 0x28ac
+#define braille_dots_13468 0x28ad
+#define braille_dots_23468 0x28ae
+#define braille_dots_123468 0x28af
+#define braille_dots_568 0x28b0
+#define braille_dots_1568 0x28b1
+#define braille_dots_2568 0x28b2
+#define braille_dots_12568 0x28b3
+#define braille_dots_3568 0x28b4
+#define braille_dots_13568 0x28b5
+#define braille_dots_23568 0x28b6
+#define braille_dots_123568 0x28b7
+#define braille_dots_4568 0x28b8
+#define braille_dots_14568 0x28b9
+#define braille_dots_24568 0x28ba
+#define braille_dots_124568 0x28bb
+#define braille_dots_34568 0x28bc
+#define braille_dots_134568 0x28bd
+#define braille_dots_234568 0x28be
+#define braille_dots_1234568 0x28bf
+#define braille_dots_78 0x28c0
+#define braille_dots_178 0x28c1
+#define braille_dots_278 0x28c2
+#define braille_dots_1278 0x28c3
+#define braille_dots_378 0x28c4
+#define braille_dots_1378 0x28c5
+#define braille_dots_2378 0x28c6
+#define braille_dots_12378 0x28c7
+#define braille_dots_478 0x28c8
+#define braille_dots_1478 0x28c9
+#define braille_dots_2478 0x28ca
+#define braille_dots_12478 0x28cb
+#define braille_dots_3478 0x28cc
+#define braille_dots_13478 0x28cd
+#define braille_dots_23478 0x28ce
+#define braille_dots_123478 0x28cf
+#define braille_dots_578 0x28d0
+#define braille_dots_1578 0x28d1
+#define braille_dots_2578 0x28d2
+#define braille_dots_12578 0x28d3
+#define braille_dots_3578 0x28d4
+#define braille_dots_13578 0x28d5
+#define braille_dots_23578 0x28d6
+#define braille_dots_123578 0x28d7
+#define braille_dots_4578 0x28d8
+#define braille_dots_14578 0x28d9
+#define braille_dots_24578 0x28da
+#define braille_dots_124578 0x28db
+#define braille_dots_34578 0x28dc
+#define braille_dots_134578 0x28dd
+#define braille_dots_234578 0x28de
+#define braille_dots_1234578 0x28df
+#define braille_dots_678 0x28e0
+#define braille_dots_1678 0x28e1
+#define braille_dots_2678 0x28e2
+#define braille_dots_12678 0x28e3
+#define braille_dots_3678 0x28e4
+#define braille_dots_13678 0x28e5
+#define braille_dots_23678 0x28e6
+#define braille_dots_123678 0x28e7
+#define braille_dots_4678 0x28e8
+#define braille_dots_14678 0x28e9
+#define braille_dots_24678 0x28ea
+#define braille_dots_124678 0x28eb
+#define braille_dots_34678 0x28ec
+#define braille_dots_134678 0x28ed
+#define braille_dots_234678 0x28ee
+#define braille_dots_1234678 0x28ef
+#define braille_dots_5678 0x28f0
+#define braille_dots_15678 0x28f1
+#define braille_dots_25678 0x28f2
+#define braille_dots_125678 0x28f3
+#define braille_dots_35678 0x28f4
+#define braille_dots_135678 0x28f5
+#define braille_dots_235678 0x28f6
+#define braille_dots_1235678 0x28f7
+#define braille_dots_45678 0x28f8
+#define braille_dots_145678 0x28f9
+#define braille_dots_245678 0x28fa
+#define braille_dots_1245678 0x28fb
+#define braille_dots_345678 0x28fc
+#define braille_dots_1345678 0x28fd
+#define braille_dots_2345678 0x28fe
+#define braille_dots_12345678 0x28ff