Support non-Latin keyboards. - sam - An updated version of the sam text editor. | |
git clone git://vernunftzentrum.de/sam.git | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit c4481947a9e2aa7a200112a9c91c6d6f98da8cbc | |
parent 716679fc256d1e30976a9c76c7ccdbc6cd5441de | |
Author: Rob King <[email protected]> | |
Date: Tue, 6 Sep 2016 11:41:00 -0500 | |
Support non-Latin keyboards. | |
Diffstat: | |
libXg/gwin.c | 25 +++++++++++++++++++++++-- | |
libXg/unikeysyms.h | 634 +++++++++++++++++++++++++++++++ | |
2 files changed, 657 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/libXg/gwin.c b/libXg/gwin.c | |
@@ -7,7 +7,6 @@ | |
#include <X11/Xatom.h> | |
#include <X11/keysym.h> | |
- | |
#ifndef XtSpecificationRelease | |
#define R3 | |
#define XtPointer caddr_t | |
@@ -176,6 +175,28 @@ Keymapping keymappings[] ={ | |
{0, 0, Kend, 0} | |
}; | |
+typedef struct Unikeysym Unikeysym; | |
+struct Unikeysym{ | |
+ KeySym keysym; | |
+ unsigned short value; | |
+}; | |
+ | |
+Unikeysym unikeysyms[] ={ | |
+ #include "unikeysyms.h" | |
+ {0, 0} | |
+}; | |
+ | |
+unsigned short | |
+keysymtoshort(KeySym k) | |
+{ | |
+ for (Unikeysym *ks = unikeysyms; ks->keysym != 0; ks++){ | |
+ if (k == ks->keysym) | |
+ return ks->value; | |
+ } | |
+ | |
+ return k; | |
+} | |
+ | |
static void | |
Keyaction(Widget w, XEvent *e, String *p, Cardinal *np) | |
{ | |
@@ -276,7 +297,7 @@ Keyaction(Widget w, XEvent *e, String *p, Cardinal *np) | |
composing++; | |
STUFFCOMPOSE(); | |
} | |
- c = (unsigned short)k; | |
+ c = keysymtoshort(k); | |
composing = -2; | |
} | |
diff --git a/libXg/unikeysyms.h b/libXg/unikeysyms.h | |
@@ -0,0 +1,634 @@ | |
+ /* generated automatically from keysyms.xml */ | |
+ {0x1a1, 0x104}, /* LATIN CAPITAL LETTER A WITH OGONEK */ | |
+ {0x1a2, 0x2d8}, /* BREVE */ | |
+ {0x1a3, 0x141}, /* LATIN CAPITAL LETTER L WITH STROKE */ | |
+ {0x1a5, 0x13d}, /* LATIN CAPITAL LETTER L WITH CARON */ | |
+ {0x1a6, 0x15a}, /* LATIN CAPITAL LETTER S WITH ACUTE */ | |
+ {0x1a9, 0x160}, /* LATIN CAPITAL LETTER S WITH CARON */ | |
+ {0x1aa, 0x15e}, /* LATIN CAPITAL LETTER S WITH CEDILLA */ | |
+ {0x1ab, 0x164}, /* LATIN CAPITAL LETTER T WITH CARON */ | |
+ {0x1ac, 0x179}, /* LATIN CAPITAL LETTER Z WITH ACUTE */ | |
+ {0x1ae, 0x17d}, /* LATIN CAPITAL LETTER Z WITH CARON */ | |
+ {0x1af, 0x17b}, /* LATIN CAPITAL LETTER Z WITH DOT ABOVE */ | |
+ {0x1b1, 0x105}, /* LATIN SMALL LETTER A WITH OGONEK */ | |
+ {0x1b2, 0x2db}, /* OGONEK */ | |
+ {0x1b3, 0x142}, /* LATIN SMALL LETTER L WITH STROKE */ | |
+ {0x1b5, 0x13e}, /* LATIN SMALL LETTER L WITH CARON */ | |
+ {0x1b6, 0x15b}, /* LATIN SMALL LETTER S WITH ACUTE */ | |
+ {0x1b7, 0x2c7}, /* CARON */ | |
+ {0x1b9, 0x161}, /* LATIN SMALL LETTER S WITH CARON */ | |
+ {0x1ba, 0x15f}, /* LATIN SMALL LETTER S WITH CEDILLA */ | |
+ {0x1bb, 0x165}, /* LATIN SMALL LETTER T WITH CARON */ | |
+ {0x1bc, 0x17a}, /* LATIN SMALL LETTER Z WITH ACUTE */ | |
+ {0x1bd, 0x2dd}, /* DOUBLE ACUTE ACCENT */ | |
+ {0x1be, 0x17e}, /* LATIN SMALL LETTER Z WITH CARON */ | |
+ {0x1bf, 0x17c}, /* LATIN SMALL LETTER Z WITH DOT ABOVE */ | |
+ {0x1c0, 0x154}, /* LATIN CAPITAL LETTER R WITH ACUTE */ | |
+ {0x1c3, 0x102}, /* LATIN CAPITAL LETTER A WITH BREVE */ | |
+ {0x1c5, 0x139}, /* LATIN CAPITAL LETTER L WITH ACUTE */ | |
+ {0x1c6, 0x106}, /* LATIN CAPITAL LETTER C WITH ACUTE */ | |
+ {0x1c8, 0x10c}, /* LATIN CAPITAL LETTER C WITH CARON */ | |
+ {0x1ca, 0x118}, /* LATIN CAPITAL LETTER E WITH OGONEK */ | |
+ {0x1cc, 0x11a}, /* LATIN CAPITAL LETTER E WITH CARON */ | |
+ {0x1cf, 0x10e}, /* LATIN CAPITAL LETTER D WITH CARON */ | |
+ {0x1d0, 0x110}, /* LATIN CAPITAL LETTER D WITH STROKE */ | |
+ {0x1d1, 0x143}, /* LATIN CAPITAL LETTER N WITH ACUTE */ | |
+ {0x1d2, 0x147}, /* LATIN CAPITAL LETTER N WITH CARON */ | |
+ {0x1d5, 0x150}, /* LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */ | |
+ {0x1d8, 0x158}, /* LATIN CAPITAL LETTER R WITH CARON */ | |
+ {0x1d9, 0x16e}, /* LATIN CAPITAL LETTER U WITH RING ABOVE */ | |
+ {0x1db, 0x170}, /* LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */ | |
+ {0x1de, 0x162}, /* LATIN CAPITAL LETTER T WITH CEDILLA */ | |
+ {0x1e0, 0x155}, /* LATIN SMALL LETTER R WITH ACUTE */ | |
+ {0x1e3, 0x103}, /* LATIN SMALL LETTER A WITH BREVE */ | |
+ {0x1e5, 0x13a}, /* LATIN SMALL LETTER L WITH ACUTE */ | |
+ {0x1e6, 0x107}, /* LATIN SMALL LETTER C WITH ACUTE */ | |
+ {0x1e8, 0x10d}, /* LATIN SMALL LETTER C WITH CARON */ | |
+ {0x1ea, 0x119}, /* LATIN SMALL LETTER E WITH OGONEK */ | |
+ {0x1ec, 0x11b}, /* LATIN SMALL LETTER E WITH CARON */ | |
+ {0x1ef, 0x10f}, /* LATIN SMALL LETTER D WITH CARON */ | |
+ {0x1f0, 0x111}, /* LATIN SMALL LETTER D WITH STROKE */ | |
+ {0x1f1, 0x144}, /* LATIN SMALL LETTER N WITH ACUTE */ | |
+ {0x1f2, 0x148}, /* LATIN SMALL LETTER N WITH CARON */ | |
+ {0x1f5, 0x151}, /* LATIN SMALL LETTER O WITH DOUBLE ACUTE */ | |
+ {0x1f8, 0x159}, /* LATIN SMALL LETTER R WITH CARON */ | |
+ {0x1f9, 0x16f}, /* LATIN SMALL LETTER U WITH RING ABOVE */ | |
+ {0x1fb, 0x171}, /* LATIN SMALL LETTER U WITH DOUBLE ACUTE */ | |
+ {0x1fe, 0x163}, /* LATIN SMALL LETTER T WITH CEDILLA */ | |
+ {0x1ff, 0x2d9}, /* DOT ABOVE */ | |
+ {0x2a1, 0x126}, /* LATIN CAPITAL LETTER H WITH STROKE */ | |
+ {0x2a6, 0x124}, /* LATIN CAPITAL LETTER H WITH CIRCUMFLEX */ | |
+ {0x2a9, 0x130}, /* LATIN CAPITAL LETTER I WITH DOT ABOVE */ | |
+ {0x2ab, 0x11e}, /* LATIN CAPITAL LETTER G WITH BREVE */ | |
+ {0x2ac, 0x134}, /* LATIN CAPITAL LETTER J WITH CIRCUMFLEX */ | |
+ {0x2b1, 0x127}, /* LATIN SMALL LETTER H WITH STROKE */ | |
+ {0x2b6, 0x125}, /* LATIN SMALL LETTER H WITH CIRCUMFLEX */ | |
+ {0x2b9, 0x131}, /* LATIN SMALL LETTER DOTLESS I */ | |
+ {0x2bb, 0x11f}, /* LATIN SMALL LETTER G WITH BREVE */ | |
+ {0x2bc, 0x135}, /* LATIN SMALL LETTER J WITH CIRCUMFLEX */ | |
+ {0x2c5, 0x10a}, /* LATIN CAPITAL LETTER C WITH DOT ABOVE */ | |
+ {0x2c6, 0x108}, /* LATIN CAPITAL LETTER C WITH CIRCUMFLEX */ | |
+ {0x2d5, 0x120}, /* LATIN CAPITAL LETTER G WITH DOT ABOVE */ | |
+ {0x2d8, 0x11c}, /* LATIN CAPITAL LETTER G WITH CIRCUMFLEX */ | |
+ {0x2dd, 0x16c}, /* LATIN CAPITAL LETTER U WITH BREVE */ | |
+ {0x2de, 0x15c}, /* LATIN CAPITAL LETTER S WITH CIRCUMFLEX */ | |
+ {0x2e5, 0x10b}, /* LATIN SMALL LETTER C WITH DOT ABOVE */ | |
+ {0x2e6, 0x109}, /* LATIN SMALL LETTER C WITH CIRCUMFLEX */ | |
+ {0x2f5, 0x121}, /* LATIN SMALL LETTER G WITH DOT ABOVE */ | |
+ {0x2f8, 0x11d}, /* LATIN SMALL LETTER G WITH CIRCUMFLEX */ | |
+ {0x2fd, 0x16d}, /* LATIN SMALL LETTER U WITH BREVE */ | |
+ {0x2fe, 0x15d}, /* LATIN SMALL LETTER S WITH CIRCUMFLEX */ | |
+ {0x3a2, 0x138}, /* LATIN SMALL LETTER KRA */ | |
+ {0x3a3, 0x156}, /* LATIN CAPITAL LETTER R WITH CEDILLA */ | |
+ {0x3a5, 0x128}, /* LATIN CAPITAL LETTER I WITH TILDE */ | |
+ {0x3a6, 0x13b}, /* LATIN CAPITAL LETTER L WITH CEDILLA */ | |
+ {0x3aa, 0x112}, /* LATIN CAPITAL LETTER E WITH MACRON */ | |
+ {0x3ab, 0x122}, /* LATIN CAPITAL LETTER G WITH CEDILLA */ | |
+ {0x3ac, 0x166}, /* LATIN CAPITAL LETTER T WITH STROKE */ | |
+ {0x3b3, 0x157}, /* LATIN SMALL LETTER R WITH CEDILLA */ | |
+ {0x3b5, 0x129}, /* LATIN SMALL LETTER I WITH TILDE */ | |
+ {0x3b6, 0x13c}, /* LATIN SMALL LETTER L WITH CEDILLA */ | |
+ {0x3ba, 0x113}, /* LATIN SMALL LETTER E WITH MACRON */ | |
+ {0x3bb, 0x123}, /* LATIN SMALL LETTER G WITH CEDILLA */ | |
+ {0x3bc, 0x167}, /* LATIN SMALL LETTER T WITH STROKE */ | |
+ {0x3bd, 0x14a}, /* LATIN CAPITAL LETTER ENG */ | |
+ {0x3bf, 0x14b}, /* LATIN SMALL LETTER ENG */ | |
+ {0x3c0, 0x100}, /* LATIN CAPITAL LETTER A WITH MACRON */ | |
+ {0x3c7, 0x12e}, /* LATIN CAPITAL LETTER I WITH OGONEK */ | |
+ {0x3cc, 0x116}, /* LATIN CAPITAL LETTER E WITH DOT ABOVE */ | |
+ {0x3cf, 0x12a}, /* LATIN CAPITAL LETTER I WITH MACRON */ | |
+ {0x3d1, 0x145}, /* LATIN CAPITAL LETTER N WITH CEDILLA */ | |
+ {0x3d2, 0x14c}, /* LATIN CAPITAL LETTER O WITH MACRON */ | |
+ {0x3d3, 0x136}, /* LATIN CAPITAL LETTER K WITH CEDILLA */ | |
+ {0x3d9, 0x172}, /* LATIN CAPITAL LETTER U WITH OGONEK */ | |
+ {0x3dd, 0x168}, /* LATIN CAPITAL LETTER U WITH TILDE */ | |
+ {0x3de, 0x16a}, /* LATIN CAPITAL LETTER U WITH MACRON */ | |
+ {0x3e0, 0x101}, /* LATIN SMALL LETTER A WITH MACRON */ | |
+ {0x3e7, 0x12f}, /* LATIN SMALL LETTER I WITH OGONEK */ | |
+ {0x3ec, 0x117}, /* LATIN SMALL LETTER E WITH DOT ABOVE */ | |
+ {0x3ef, 0x12b}, /* LATIN SMALL LETTER I WITH MACRON */ | |
+ {0x3f1, 0x146}, /* LATIN SMALL LETTER N WITH CEDILLA */ | |
+ {0x3f2, 0x14d}, /* LATIN SMALL LETTER O WITH MACRON */ | |
+ {0x3f3, 0x137}, /* LATIN SMALL LETTER K WITH CEDILLA */ | |
+ {0x3f9, 0x173}, /* LATIN SMALL LETTER U WITH OGONEK */ | |
+ {0x3fd, 0x169}, /* LATIN SMALL LETTER U WITH TILDE */ | |
+ {0x3fe, 0x16b}, /* LATIN SMALL LETTER U WITH MACRON */ | |
+ {0x47e, 0x203e}, /* OVERLINE */ | |
+ {0x4a1, 0x3002}, /* KANA FULL STOP */ | |
+ {0x4a2, 0x300c}, /* KANA OPENING BRACKET */ | |
+ {0x4a3, 0x300d}, /* KANA CLOSING BRACKET */ | |
+ {0x4a4, 0x3001}, /* KANA COMMA */ | |
+ {0x4a5, 0x30fb}, /* KANA CONJUNCTIVE */ | |
+ {0x4a6, 0x30f2}, /* KANA LETTER WO */ | |
+ {0x4a7, 0x30a1}, /* KANA LETTER SMALL A */ | |
+ {0x4a8, 0x30a3}, /* KANA LETTER SMALL I */ | |
+ {0x4a9, 0x30a5}, /* KANA LETTER SMALL U */ | |
+ {0x4aa, 0x30a7}, /* KANA LETTER SMALL E */ | |
+ {0x4ab, 0x30a9}, /* KANA LETTER SMALL O */ | |
+ {0x4ac, 0x30e3}, /* KANA LETTER SMALL YA */ | |
+ {0x4ad, 0x30e5}, /* KANA LETTER SMALL YU */ | |
+ {0x4ae, 0x30e7}, /* KANA LETTER SMALL YO */ | |
+ {0x4af, 0x30c3}, /* KANA LETTER SMALL TSU */ | |
+ {0x4b0, 0x30fc}, /* PROLONGED SOUND SYMBOL */ | |
+ {0x4b1, 0x30a2}, /* KANA LETTER A */ | |
+ {0x4b2, 0x30a4}, /* KANA LETTER I */ | |
+ {0x4b3, 0x30a6}, /* KANA LETTER U */ | |
+ {0x4b4, 0x30a8}, /* KANA LETTER E */ | |
+ {0x4b5, 0x30aa}, /* KANA LETTER O */ | |
+ {0x4b6, 0x30ab}, /* KANA LETTER KA */ | |
+ {0x4b7, 0x30ad}, /* KANA LETTER KI */ | |
+ {0x4b8, 0x30af}, /* KANA LETTER KU */ | |
+ {0x4b9, 0x30b1}, /* KANA LETTER KE */ | |
+ {0x4ba, 0x30b3}, /* KANA LETTER KO */ | |
+ {0x4bb, 0x30b5}, /* KANA LETTER SA */ | |
+ {0x4bc, 0x30b7}, /* KANA LETTER SHI */ | |
+ {0x4bd, 0x30b9}, /* KANA LETTER SU */ | |
+ {0x4be, 0x30bb}, /* KANA LETTER SE */ | |
+ {0x4bf, 0x30bd}, /* KANA LETTER SO */ | |
+ {0x4c0, 0x30bf}, /* KANA LETTER TA */ | |
+ {0x4c1, 0x30c1}, /* KANA LETTER CHI */ | |
+ {0x4c2, 0x30c4}, /* KANA LETTER TSU */ | |
+ {0x4c3, 0x30c6}, /* KANA LETTER TE */ | |
+ {0x4c4, 0x30c8}, /* KANA LETTER TO */ | |
+ {0x4c5, 0x30ca}, /* KANA LETTER NA */ | |
+ {0x4c6, 0x30cb}, /* KANA LETTER NI */ | |
+ {0x4c7, 0x30cc}, /* KANA LETTER NU */ | |
+ {0x4c8, 0x30cd}, /* KANA LETTER NE */ | |
+ {0x4c9, 0x30ce}, /* KANA LETTER NO */ | |
+ {0x4ca, 0x30cf}, /* KANA LETTER HA */ | |
+ {0x4cb, 0x30d2}, /* KANA LETTER HI */ | |
+ {0x4cc, 0x30d5}, /* KANA LETTER FU */ | |
+ {0x4cd, 0x30d8}, /* KANA LETTER HE */ | |
+ {0x4ce, 0x30db}, /* KANA LETTER HO */ | |
+ {0x4cf, 0x30de}, /* KANA LETTER MA */ | |
+ {0x4d0, 0x30df}, /* KANA LETTER MI */ | |
+ {0x4d1, 0x30e0}, /* KANA LETTER MU */ | |
+ {0x4d2, 0x30e1}, /* KANA LETTER ME */ | |
+ {0x4d3, 0x30e2}, /* KANA LETTER MO */ | |
+ {0x4d4, 0x30e4}, /* KANA LETTER YA */ | |
+ {0x4d5, 0x30e6}, /* KANA LETTER YU */ | |
+ {0x4d6, 0x30e8}, /* KANA LETTER YO */ | |
+ {0x4d7, 0x30e9}, /* KANA LETTER RA */ | |
+ {0x4d8, 0x30ea}, /* KANA LETTER RI */ | |
+ {0x4d9, 0x30eb}, /* KANA LETTER RU */ | |
+ {0x4da, 0x30ec}, /* KANA LETTER RE */ | |
+ {0x4db, 0x30ed}, /* KANA LETTER RO */ | |
+ {0x4dc, 0x30ef}, /* KANA LETTER WA */ | |
+ {0x4dd, 0x30f3}, /* KANA LETTER N */ | |
+ {0x4de, 0x309b}, /* VOICED SOUND SYMBOL */ | |
+ {0x4df, 0x309c}, /* SEMIVOICED SOUND SYMBOL */ | |
+ {0x5ac, 0x60c}, /* ARABIC COMMA */ | |
+ {0x5bb, 0x61b}, /* ARABIC SEMICOLON */ | |
+ {0x5bf, 0x61f}, /* ARABIC QUESTION MARK */ | |
+ {0x5c1, 0x621}, /* ARABIC LETTER HAMZA */ | |
+ {0x5c2, 0x622}, /* ARABIC LETTER ALEF WITH MADDA ABOVE */ | |
+ {0x5c3, 0x623}, /* ARABIC LETTER ALEF WITH HAMZA ABOVE */ | |
+ {0x5c4, 0x624}, /* ARABIC LETTER WAW WITH HAMZA ABOVE */ | |
+ {0x5c5, 0x625}, /* ARABIC LETTER ALEF WITH HAMZA BELOW */ | |
+ {0x5c6, 0x626}, /* ARABIC LETTER YEH WITH HAMZA ABOVE */ | |
+ {0x5c7, 0x627}, /* ARABIC LETTER ALEF */ | |
+ {0x5c8, 0x628}, /* ARABIC LETTER BEH */ | |
+ {0x5c9, 0x629}, /* ARABIC LETTER TEH MARBUTA */ | |
+ {0x5ca, 0x62a}, /* ARABIC LETTER TEH */ | |
+ {0x5cb, 0x62b}, /* ARABIC LETTER THEH */ | |
+ {0x5cc, 0x62c}, /* ARABIC LETTER JEEM */ | |
+ {0x5cd, 0x62d}, /* ARABIC LETTER HAH */ | |
+ {0x5ce, 0x62e}, /* ARABIC LETTER KHAH */ | |
+ {0x5cf, 0x62f}, /* ARABIC LETTER DAL */ | |
+ {0x5d0, 0x630}, /* ARABIC LETTER THAL */ | |
+ {0x5d1, 0x631}, /* ARABIC LETTER REH */ | |
+ {0x5d2, 0x632}, /* ARABIC LETTER ZAIN */ | |
+ {0x5d3, 0x633}, /* ARABIC LETTER SEEN */ | |
+ {0x5d4, 0x634}, /* ARABIC LETTER SHEEN */ | |
+ {0x5d5, 0x635}, /* ARABIC LETTER SAD */ | |
+ {0x5d6, 0x636}, /* ARABIC LETTER DAD */ | |
+ {0x5d7, 0x637}, /* ARABIC LETTER TAH */ | |
+ {0x5d8, 0x638}, /* ARABIC LETTER ZAH */ | |
+ {0x5d9, 0x639}, /* ARABIC LETTER AIN */ | |
+ {0x5da, 0x63a}, /* ARABIC LETTER GHAIN */ | |
+ {0x5e0, 0x640}, /* ARABIC TATWEEL */ | |
+ {0x5e1, 0x641}, /* ARABIC LETTER FEH */ | |
+ {0x5e2, 0x642}, /* ARABIC LETTER QAF */ | |
+ {0x5e3, 0x643}, /* ARABIC LETTER KAF */ | |
+ {0x5e4, 0x644}, /* ARABIC LETTER LAM */ | |
+ {0x5e5, 0x645}, /* ARABIC LETTER MEEM */ | |
+ {0x5e6, 0x646}, /* ARABIC LETTER NOON */ | |
+ {0x5e7, 0x647}, /* ARABIC LETTER HEH */ | |
+ {0x5e8, 0x648}, /* ARABIC LETTER WAW */ | |
+ {0x5e9, 0x649}, /* ARABIC LETTER ALEF MAKSURA */ | |
+ {0x5ea, 0x64a}, /* ARABIC LETTER YEH */ | |
+ {0x5eb, 0x64b}, /* ARABIC FATHATAN */ | |
+ {0x5ec, 0x64c}, /* ARABIC DAMMATAN */ | |
+ {0x5ed, 0x64d}, /* ARABIC KASRATAN */ | |
+ {0x5ee, 0x64e}, /* ARABIC FATHA */ | |
+ {0x5ef, 0x64f}, /* ARABIC DAMMA */ | |
+ {0x5f0, 0x650}, /* ARABIC KASRA */ | |
+ {0x5f1, 0x651}, /* ARABIC SHADDA */ | |
+ {0x5f2, 0x652}, /* ARABIC SUKUN */ | |
+ {0x6a1, 0x452}, /* CYRILLIC SMALL LETTER DJE */ | |
+ {0x6a2, 0x453}, /* CYRILLIC SMALL LETTER GJE */ | |
+ {0x6a3, 0x451}, /* CYRILLIC SMALL LETTER IO */ | |
+ {0x6a4, 0x454}, /* CYRILLIC SMALL LETTER UKRAINIAN IE */ | |
+ {0x6a5, 0x455}, /* CYRILLIC SMALL LETTER DZE */ | |
+ {0x6a6, 0x456}, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ | |
+ {0x6a7, 0x457}, /* CYRILLIC SMALL LETTER YI */ | |
+ {0x6a8, 0x458}, /* CYRILLIC SMALL LETTER JE */ | |
+ {0x6a9, 0x459}, /* CYRILLIC SMALL LETTER LJE */ | |
+ {0x6aa, 0x45a}, /* CYRILLIC SMALL LETTER NJE */ | |
+ {0x6ab, 0x45b}, /* CYRILLIC SMALL LETTER TSHE */ | |
+ {0x6ac, 0x45c}, /* CYRILLIC SMALL LETTER KJE */ | |
+ {0x6ad, 0x491}, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */ | |
+ {0x6ae, 0x45e}, /* CYRILLIC SMALL LETTER SHORT U */ | |
+ {0x6af, 0x45f}, /* CYRILLIC SMALL LETTER DZHE */ | |
+ {0x6b0, 0x2116}, /* NUMERO SIGN */ | |
+ {0x6b1, 0x402}, /* CYRILLIC CAPITAL LETTER DJE */ | |
+ {0x6b2, 0x403}, /* CYRILLIC CAPITAL LETTER GJE */ | |
+ {0x6b3, 0x401}, /* CYRILLIC CAPITAL LETTER IO */ | |
+ {0x6b4, 0x404}, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ | |
+ {0x6b5, 0x405}, /* CYRILLIC CAPITAL LETTER DZE */ | |
+ {0x6b6, 0x406}, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ | |
+ {0x6b7, 0x407}, /* CYRILLIC CAPITAL LETTER YI */ | |
+ {0x6b8, 0x408}, /* CYRILLIC CAPITAL LETTER JE */ | |
+ {0x6b9, 0x409}, /* CYRILLIC CAPITAL LETTER LJE */ | |
+ {0x6ba, 0x40a}, /* CYRILLIC CAPITAL LETTER NJE */ | |
+ {0x6bb, 0x40b}, /* CYRILLIC CAPITAL LETTER TSHE */ | |
+ {0x6bc, 0x40c}, /* CYRILLIC CAPITAL LETTER KJE */ | |
+ {0x6bd, 0x490}, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ | |
+ {0x6be, 0x40e}, /* CYRILLIC CAPITAL LETTER SHORT U */ | |
+ {0x6bf, 0x40f}, /* CYRILLIC CAPITAL LETTER DZHE */ | |
+ {0x6c0, 0x44e}, /* CYRILLIC SMALL LETTER YU */ | |
+ {0x6c1, 0x430}, /* CYRILLIC SMALL LETTER A */ | |
+ {0x6c2, 0x431}, /* CYRILLIC SMALL LETTER BE */ | |
+ {0x6c3, 0x446}, /* CYRILLIC SMALL LETTER TSE */ | |
+ {0x6c4, 0x434}, /* CYRILLIC SMALL LETTER DE */ | |
+ {0x6c5, 0x435}, /* CYRILLIC SMALL LETTER IE */ | |
+ {0x6c6, 0x444}, /* CYRILLIC SMALL LETTER EF */ | |
+ {0x6c7, 0x433}, /* CYRILLIC SMALL LETTER GHE */ | |
+ {0x6c8, 0x445}, /* CYRILLIC SMALL LETTER HA */ | |
+ {0x6c9, 0x438}, /* CYRILLIC SMALL LETTER I */ | |
+ {0x6ca, 0x439}, /* CYRILLIC SMALL LETTER SHORT I */ | |
+ {0x6cb, 0x43a}, /* CYRILLIC SMALL LETTER KA */ | |
+ {0x6cc, 0x43b}, /* CYRILLIC SMALL LETTER EL */ | |
+ {0x6cd, 0x43c}, /* CYRILLIC SMALL LETTER EM */ | |
+ {0x6ce, 0x43d}, /* CYRILLIC SMALL LETTER EN */ | |
+ {0x6cf, 0x43e}, /* CYRILLIC SMALL LETTER O */ | |
+ {0x6d0, 0x43f}, /* CYRILLIC SMALL LETTER PE */ | |
+ {0x6d1, 0x44f}, /* CYRILLIC SMALL LETTER YA */ | |
+ {0x6d2, 0x440}, /* CYRILLIC SMALL LETTER ER */ | |
+ {0x6d3, 0x441}, /* CYRILLIC SMALL LETTER ES */ | |
+ {0x6d4, 0x442}, /* CYRILLIC SMALL LETTER TE */ | |
+ {0x6d5, 0x443}, /* CYRILLIC SMALL LETTER U */ | |
+ {0x6d6, 0x436}, /* CYRILLIC SMALL LETTER ZHE */ | |
+ {0x6d7, 0x432}, /* CYRILLIC SMALL LETTER VE */ | |
+ {0x6d8, 0x44c}, /* CYRILLIC SMALL LETTER SOFT SIGN */ | |
+ {0x6d9, 0x44b}, /* CYRILLIC SMALL LETTER YERU */ | |
+ {0x6da, 0x437}, /* CYRILLIC SMALL LETTER ZE */ | |
+ {0x6db, 0x448}, /* CYRILLIC SMALL LETTER SHA */ | |
+ {0x6dc, 0x44d}, /* CYRILLIC SMALL LETTER E */ | |
+ {0x6dd, 0x449}, /* CYRILLIC SMALL LETTER SHCHA */ | |
+ {0x6de, 0x447}, /* CYRILLIC SMALL LETTER CHE */ | |
+ {0x6df, 0x44a}, /* CYRILLIC SMALL LETTER HARD SIGN */ | |
+ {0x6e0, 0x42e}, /* CYRILLIC CAPITAL LETTER YU */ | |
+ {0x6e1, 0x410}, /* CYRILLIC CAPITAL LETTER A */ | |
+ {0x6e2, 0x411}, /* CYRILLIC CAPITAL LETTER BE */ | |
+ {0x6e3, 0x426}, /* CYRILLIC CAPITAL LETTER TSE */ | |
+ {0x6e4, 0x414}, /* CYRILLIC CAPITAL LETTER DE */ | |
+ {0x6e5, 0x415}, /* CYRILLIC CAPITAL LETTER IE */ | |
+ {0x6e6, 0x424}, /* CYRILLIC CAPITAL LETTER EF */ | |
+ {0x6e7, 0x413}, /* CYRILLIC CAPITAL LETTER GHE */ | |
+ {0x6e8, 0x425}, /* CYRILLIC CAPITAL LETTER HA */ | |
+ {0x6e9, 0x418}, /* CYRILLIC CAPITAL LETTER I */ | |
+ {0x6ea, 0x419}, /* CYRILLIC CAPITAL LETTER SHORT I */ | |
+ {0x6eb, 0x41a}, /* CYRILLIC CAPITAL LETTER KA */ | |
+ {0x6ec, 0x41b}, /* CYRILLIC CAPITAL LETTER EL */ | |
+ {0x6ed, 0x41c}, /* CYRILLIC CAPITAL LETTER EM */ | |
+ {0x6ee, 0x41d}, /* CYRILLIC CAPITAL LETTER EN */ | |
+ {0x6ef, 0x41e}, /* CYRILLIC CAPITAL LETTER O */ | |
+ {0x6f0, 0x41f}, /* CYRILLIC CAPITAL LETTER PE */ | |
+ {0x6f1, 0x42f}, /* CYRILLIC CAPITAL LETTER YA */ | |
+ {0x6f2, 0x420}, /* CYRILLIC CAPITAL LETTER ER */ | |
+ {0x6f3, 0x421}, /* CYRILLIC CAPITAL LETTER ES */ | |
+ {0x6f4, 0x422}, /* CYRILLIC CAPITAL LETTER TE */ | |
+ {0x6f5, 0x423}, /* CYRILLIC CAPITAL LETTER U */ | |
+ {0x6f6, 0x416}, /* CYRILLIC CAPITAL LETTER ZHE */ | |
+ {0x6f7, 0x412}, /* CYRILLIC CAPITAL LETTER VE */ | |
+ {0x6f8, 0x42c}, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ | |
+ {0x6f9, 0x42b}, /* CYRILLIC CAPITAL LETTER YERU */ | |
+ {0x6fa, 0x417}, /* CYRILLIC CAPITAL LETTER ZE */ | |
+ {0x6fb, 0x428}, /* CYRILLIC CAPITAL LETTER SHA */ | |
+ {0x6fc, 0x42d}, /* CYRILLIC CAPITAL LETTER E */ | |
+ {0x6fd, 0x429}, /* CYRILLIC CAPITAL LETTER SHCHA */ | |
+ {0x6fe, 0x427}, /* CYRILLIC CAPITAL LETTER CHE */ | |
+ {0x6ff, 0x42a}, /* CYRILLIC CAPITAL LETTER HARD SIGN */ | |
+ {0x7a1, 0x386}, /* GREEK CAPITAL LETTER ALPHA WITH TONOS */ | |
+ {0x7a2, 0x388}, /* GREEK CAPITAL LETTER EPSILON WITH TONOS */ | |
+ {0x7a3, 0x389}, /* GREEK CAPITAL LETTER ETA WITH TONOS */ | |
+ {0x7a4, 0x38a}, /* GREEK CAPITAL LETTER IOTA WITH TONOS */ | |
+ {0x7a5, 0x3aa}, /* GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */ | |
+ {0x7a7, 0x38c}, /* GREEK CAPITAL LETTER OMICRON WITH TONOS */ | |
+ {0x7a8, 0x38e}, /* GREEK CAPITAL LETTER UPSILON WITH TONOS */ | |
+ {0x7a9, 0x3ab}, /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */ | |
+ {0x7ab, 0x38f}, /* GREEK CAPITAL LETTER OMEGA WITH TONOS */ | |
+ {0x7ae, 0x385}, /* GREEK DIALYTIKA TONOS */ | |
+ {0x7af, 0x2015}, /* HORIZONTAL BAR */ | |
+ {0x7b1, 0x3ac}, /* GREEK SMALL LETTER ALPHA WITH TONOS */ | |
+ {0x7b2, 0x3ad}, /* GREEK SMALL LETTER EPSILON WITH TONOS */ | |
+ {0x7b3, 0x3ae}, /* GREEK SMALL LETTER ETA WITH TONOS */ | |
+ {0x7b4, 0x3af}, /* GREEK SMALL LETTER IOTA WITH TONOS */ | |
+ {0x7b5, 0x3ca}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA */ | |
+ {0x7b6, 0x390}, /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */ | |
+ {0x7b7, 0x3cc}, /* GREEK SMALL LETTER OMICRON WITH TONOS */ | |
+ {0x7b8, 0x3cd}, /* GREEK SMALL LETTER UPSILON WITH TONOS */ | |
+ {0x7b9, 0x3cb}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA */ | |
+ {0x7ba, 0x3b0}, /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */ | |
+ {0x7bb, 0x3ce}, /* GREEK SMALL LETTER OMEGA WITH TONOS */ | |
+ {0x7c1, 0x391}, /* GREEK CAPITAL LETTER ALPHA */ | |
+ {0x7c2, 0x392}, /* GREEK CAPITAL LETTER BETA */ | |
+ {0x7c3, 0x393}, /* GREEK CAPITAL LETTER GAMMA */ | |
+ {0x7c4, 0x394}, /* GREEK CAPITAL LETTER DELTA */ | |
+ {0x7c5, 0x395}, /* GREEK CAPITAL LETTER EPSILON */ | |
+ {0x7c6, 0x396}, /* GREEK CAPITAL LETTER ZETA */ | |
+ {0x7c7, 0x397}, /* GREEK CAPITAL LETTER ETA */ | |
+ {0x7c8, 0x398}, /* GREEK CAPITAL LETTER THETA */ | |
+ {0x7c9, 0x399}, /* GREEK CAPITAL LETTER IOTA */ | |
+ {0x7ca, 0x39a}, /* GREEK CAPITAL LETTER KAPPA */ | |
+ {0x7cb, 0x39b}, /* GREEK CAPITAL LETTER LAMDA */ | |
+ {0x7cc, 0x39c}, /* GREEK CAPITAL LETTER MU */ | |
+ {0x7cd, 0x39d}, /* GREEK CAPITAL LETTER NU */ | |
+ {0x7ce, 0x39e}, /* GREEK CAPITAL LETTER XI */ | |
+ {0x7cf, 0x39f}, /* GREEK CAPITAL LETTER OMICRON */ | |
+ {0x7d0, 0x3a0}, /* GREEK CAPITAL LETTER PI */ | |
+ {0x7d1, 0x3a1}, /* GREEK CAPITAL LETTER RHO */ | |
+ {0x7d2, 0x3a3}, /* GREEK CAPITAL LETTER SIGMA */ | |
+ {0x7d4, 0x3a4}, /* GREEK CAPITAL LETTER TAU */ | |
+ {0x7d5, 0x3a5}, /* GREEK CAPITAL LETTER UPSILON */ | |
+ {0x7d6, 0x3a6}, /* GREEK CAPITAL LETTER PHI */ | |
+ {0x7d7, 0x3a7}, /* GREEK CAPITAL LETTER CHI */ | |
+ {0x7d8, 0x3a8}, /* GREEK CAPITAL LETTER PSI */ | |
+ {0x7d9, 0x3a9}, /* GREEK CAPITAL LETTER OMEGA */ | |
+ {0x7e1, 0x3b1}, /* GREEK SMALL LETTER ALPHA */ | |
+ {0x7e2, 0x3b2}, /* GREEK SMALL LETTER BETA */ | |
+ {0x7e3, 0x3b3}, /* GREEK SMALL LETTER GAMMA */ | |
+ {0x7e4, 0x3b4}, /* GREEK SMALL LETTER DELTA */ | |
+ {0x7e5, 0x3b5}, /* GREEK SMALL LETTER EPSILON */ | |
+ {0x7e6, 0x3b6}, /* GREEK SMALL LETTER ZETA */ | |
+ {0x7e7, 0x3b7}, /* GREEK SMALL LETTER ETA */ | |
+ {0x7e8, 0x3b8}, /* GREEK SMALL LETTER THETA */ | |
+ {0x7e9, 0x3b9}, /* GREEK SMALL LETTER IOTA */ | |
+ {0x7ea, 0x3ba}, /* GREEK SMALL LETTER KAPPA */ | |
+ {0x7eb, 0x3bb}, /* GREEK SMALL LETTER LAMDA */ | |
+ {0x7ec, 0x3bc}, /* GREEK SMALL LETTER MU */ | |
+ {0x7ed, 0x3bd}, /* GREEK SMALL LETTER NU */ | |
+ {0x7ee, 0x3be}, /* GREEK SMALL LETTER XI */ | |
+ {0x7ef, 0x3bf}, /* GREEK SMALL LETTER OMICRON */ | |
+ {0x7f0, 0x3c0}, /* GREEK SMALL LETTER PI */ | |
+ {0x7f1, 0x3c1}, /* GREEK SMALL LETTER RHO */ | |
+ {0x7f2, 0x3c3}, /* GREEK SMALL LETTER SIGMA */ | |
+ {0x7f3, 0x3c2}, /* GREEK SMALL LETTER FINAL SIGMA */ | |
+ {0x7f4, 0x3c4}, /* GREEK SMALL LETTER TAU */ | |
+ {0x7f5, 0x3c5}, /* GREEK SMALL LETTER UPSILON */ | |
+ {0x7f6, 0x3c6}, /* GREEK SMALL LETTER PHI */ | |
+ {0x7f7, 0x3c7}, /* GREEK SMALL LETTER CHI */ | |
+ {0x7f8, 0x3c8}, /* GREEK SMALL LETTER PSI */ | |
+ {0x7f9, 0x3c9}, /* GREEK SMALL LETTER OMEGA */ | |
+ {0x8a1, 0x23b7}, /* LEFT RADICAL */ | |
+ {0x8a4, 0x2320}, /* TOP INTEGRAL */ | |
+ {0x8a5, 0x2321}, /* BOTTOM INTEGRAL */ | |
+ {0x8a7, 0x23a1}, /* TOP LEFT SQUARE BRACKET */ | |
+ {0x8a8, 0x23a3}, /* BOTTOM LEFT SQUARE BRACKET */ | |
+ {0x8a9, 0x23a4}, /* TOP RIGHT SQUARE BRACKET */ | |
+ {0x8aa, 0x23a6}, /* BOTTOM RIGHT SQUARE BRACKET */ | |
+ {0x8ab, 0x239b}, /* TOP LEFT PARENTHESIS */ | |
+ {0x8ac, 0x239d}, /* BOTTOM LEFT PARENTHESIS */ | |
+ {0x8ad, 0x239e}, /* TOP RIGHT PARENTHESIS */ | |
+ {0x8ae, 0x23a0}, /* BOTTOM RIGHT PARENTHESIS */ | |
+ {0x8af, 0x23a8}, /* LEFT MIDDLE CURLY BRACE */ | |
+ {0x8b0, 0x23ac}, /* RIGHT MIDDLE CURLY BRACE */ | |
+ {0x8bc, 0x2264}, /* LESS THAN OR EQUAL SIGN */ | |
+ {0x8bd, 0x2260}, /* NOT EQUAL SIGN */ | |
+ {0x8be, 0x2265}, /* GREATER THAN OR EQUAL SIGN */ | |
+ {0x8bf, 0x222b}, /* INTEGRAL */ | |
+ {0x8c0, 0x2234}, /* THEREFORE */ | |
+ {0x8c1, 0x221d}, /* VARIATION, PROPORTIONAL TO */ | |
+ {0x8c2, 0x221e}, /* INFINITY */ | |
+ {0x8c5, 0x2207}, /* NABLA, DEL */ | |
+ {0x8c8, 0x223c}, /* IS APPROXIMATE TO */ | |
+ {0x8c9, 0x2243}, /* SIMILAR OR EQUAL TO */ | |
+ {0x8cd, 0x21d4}, /* IF AND ONLY IF */ | |
+ {0x8ce, 0x21d2}, /* IMPLIES */ | |
+ {0x8cf, 0x2261}, /* IDENTICAL TO */ | |
+ {0x8d6, 0x221a}, /* RADICAL */ | |
+ {0x8da, 0x2282}, /* IS INCLUDED IN */ | |
+ {0x8db, 0x2283}, /* INCLUDES */ | |
+ {0x8dc, 0x2229}, /* INTERSECTION */ | |
+ {0x8dd, 0x222a}, /* UNION */ | |
+ {0x8de, 0x2227}, /* LOGICAL AND */ | |
+ {0x8df, 0x2228}, /* LOGICAL OR */ | |
+ {0x8ef, 0x2202}, /* PARTIAL DERIVATIVE */ | |
+ {0x8f6, 0x192}, /* FUNCTION */ | |
+ {0x8fb, 0x2190}, /* LEFT ARROW */ | |
+ {0x8fc, 0x2191}, /* UPWARD ARROW */ | |
+ {0x8fd, 0x2192}, /* RIGHT ARROW */ | |
+ {0x8fe, 0x2193}, /* DOWNWARD ARROW */ | |
+ {0x9e0, 0x25c6}, /* SOLID DIAMOND */ | |
+ {0x9e1, 0x2592}, /* CHECKERBOARD */ | |
+ {0x9e2, 0x2409}, /* "HT" */ | |
+ {0x9e3, 0x240c}, /* "FF" */ | |
+ {0x9e4, 0x240d}, /* "CR" */ | |
+ {0x9e5, 0x240a}, /* "LF" */ | |
+ {0x9e8, 0x2424}, /* "NL" */ | |
+ {0x9e9, 0x240b}, /* "VT" */ | |
+ {0x9ea, 0x2518}, /* LOWER-RIGHT CORNER */ | |
+ {0x9eb, 0x2510}, /* UPPER-RIGHT CORNER */ | |
+ {0x9ec, 0x250c}, /* UPPER-LEFT CORNER */ | |
+ {0x9ed, 0x2514}, /* LOWER-LEFT CORNER */ | |
+ {0x9ee, 0x253c}, /* CROSSING-LINES */ | |
+ {0x9ef, 0x23ba}, /* HORIZONTAL LINE, SCAN 1 */ | |
+ {0x9f0, 0x23bb}, /* HORIZONTAL LINE, SCAN 3 */ | |
+ {0x9f1, 0x2500}, /* HORIZONTAL LINE, SCAN 5 */ | |
+ {0x9f2, 0x23bc}, /* HORIZONTAL LINE, SCAN 7 */ | |
+ {0x9f3, 0x23bd}, /* HORIZONTAL LINE, SCAN 9 */ | |
+ {0x9f4, 0x251c}, /* LEFT "T" */ | |
+ {0x9f5, 0x2524}, /* RIGHT "T" */ | |
+ {0x9f6, 0x2534}, /* BOTTOM "T" */ | |
+ {0x9f7, 0x252c}, /* TOP "T" */ | |
+ {0x9f8, 0x2502}, /* VERTICAL BAR */ | |
+ {0xaa1, 0x2003}, /* EM SPACE */ | |
+ {0xaa2, 0x2002}, /* EN SPACE */ | |
+ {0xaa3, 0x2004}, /* 3/EM SPACE */ | |
+ {0xaa4, 0x2005}, /* 4/EM SPACE */ | |
+ {0xaa5, 0x2007}, /* DIGIT SPACE */ | |
+ {0xaa6, 0x2008}, /* PUNCTUATION SPACE */ | |
+ {0xaa7, 0x2009}, /* THIN SPACE */ | |
+ {0xaa8, 0x200a}, /* HAIR SPACE */ | |
+ {0xaa9, 0x2014}, /* EM DASH */ | |
+ {0xaaa, 0x2013}, /* EN DASH */ | |
+ {0xaae, 0x2026}, /* ELLIPSIS */ | |
+ {0xaaf, 0x2025}, /* DOUBLE BASELINE DOT */ | |
+ {0xab0, 0x2153}, /* VULGAR FRACTION ONE THIRD */ | |
+ {0xab1, 0x2154}, /* VULGAR FRACTION TWO THIRDS */ | |
+ {0xab2, 0x2155}, /* VULGAR FRACTION ONE FIFTH */ | |
+ {0xab3, 0x2156}, /* VULGAR FRACTION TWO FIFTHS */ | |
+ {0xab4, 0x2157}, /* VULGAR FRACTION THREE FIFTHS */ | |
+ {0xab5, 0x2158}, /* VULGAR FRACTION FOUR FIFTHS */ | |
+ {0xab6, 0x2159}, /* VULGAR FRACTION ONE SIXTH */ | |
+ {0xab7, 0x215a}, /* VULGAR FRACTION FIVE SIXTHS */ | |
+ {0xab8, 0x2105}, /* CARE OF */ | |
+ {0xabb, 0x2012}, /* FIGURE DASH */ | |
+ {0xac3, 0x215b}, /* VULGAR FRACTION ONE EIGHTH */ | |
+ {0xac4, 0x215c}, /* VULGAR FRACTION THREE EIGHTHS */ | |
+ {0xac5, 0x215d}, /* VULGAR FRACTION FIVE EIGHTHS */ | |
+ {0xac6, 0x215e}, /* VULGAR FRACTION SEVEN EIGHTHS */ | |
+ {0xac9, 0x2122}, /* TRADEMARK SIGN */ | |
+ {0xad0, 0x2018}, /* LEFT SINGLE QUOTATION MARK */ | |
+ {0xad1, 0x2019}, /* RIGHT SINGLE QUOTATION MARK */ | |
+ {0xad2, 0x201c}, /* LEFT DOUBLE QUOTATION MARK */ | |
+ {0xad3, 0x201d}, /* RIGHT DOUBLE QUOTATION MARK */ | |
+ {0xad4, 0x211e}, /* PRESCRIPTION, TAKE, RECIPE */ | |
+ {0xad5, 0x2030}, /* PER MILLE SIGN */ | |
+ {0xad6, 0x2032}, /* MINUTES */ | |
+ {0xad7, 0x2033}, /* SECONDS */ | |
+ {0xad9, 0x271d}, /* LATIN CROSS */ | |
+ {0xaec, 0x2663}, /* CLUB */ | |
+ {0xaed, 0x2666}, /* DIAMOND */ | |
+ {0xaee, 0x2665}, /* HEART */ | |
+ {0xaf0, 0x2720}, /* MALTESE CROSS */ | |
+ {0xaf1, 0x2020}, /* DAGGER */ | |
+ {0xaf2, 0x2021}, /* DOUBLE DAGGER */ | |
+ {0xaf3, 0x2713}, /* CHECK MARK, TICK */ | |
+ {0xaf4, 0x2717}, /* BALLOT CROSS */ | |
+ {0xaf5, 0x266f}, /* MUSICAL SHARP */ | |
+ {0xaf6, 0x266d}, /* MUSICAL FLAT */ | |
+ {0xaf7, 0x2642}, /* MALE SYMBOL */ | |
+ {0xaf8, 0x2640}, /* FEMALE SYMBOL */ | |
+ {0xaf9, 0x260e}, /* TELEPHONE SYMBOL */ | |
+ {0xafa, 0x2315}, /* TELEPHONE RECORDER SYMBOL */ | |
+ {0xafb, 0x2117}, /* PHONOGRAPH COPYRIGHT SIGN */ | |
+ {0xafc, 0x2038}, /* CARET */ | |
+ {0xafd, 0x201a}, /* SINGLE LOW QUOTATION MARK */ | |
+ {0xafe, 0x201e}, /* DOUBLE LOW QUOTATION MARK */ | |
+ {0xbc2, 0x22a5}, /* DOWN TACK */ | |
+ {0xbc4, 0x230a}, /* DOWN STILE */ | |
+ {0xbca, 0x2218}, /* JOT */ | |
+ {0xbcc, 0x2395}, /* QUAD */ | |
+ {0xbce, 0x22a4}, /* UP TACK */ | |
+ {0xbcf, 0x25cb}, /* CIRCLE */ | |
+ {0xbd3, 0x2308}, /* UP STILE */ | |
+ {0xbdc, 0x22a2}, /* LEFT TACK */ | |
+ {0xbfc, 0x22a3}, /* RIGHT TACK */ | |
+ {0xcdf, 0x2017}, /* DOUBLE LOW LINE */ | |
+ {0xce0, 0x5d0}, /* HEBREW LETTER ALEF */ | |
+ {0xce1, 0x5d1}, /* HEBREW LETTER BET */ | |
+ {0xce2, 0x5d2}, /* HEBREW LETTER GIMEL */ | |
+ {0xce3, 0x5d3}, /* HEBREW LETTER DALET */ | |
+ {0xce4, 0x5d4}, /* HEBREW LETTER HE */ | |
+ {0xce5, 0x5d5}, /* HEBREW LETTER VAV */ | |
+ {0xce6, 0x5d6}, /* HEBREW LETTER ZAYIN */ | |
+ {0xce7, 0x5d7}, /* HEBREW LETTER HET */ | |
+ {0xce8, 0x5d8}, /* HEBREW LETTER TET */ | |
+ {0xce9, 0x5d9}, /* HEBREW LETTER YOD */ | |
+ {0xcea, 0x5da}, /* HEBREW LETTER FINAL KAF */ | |
+ {0xceb, 0x5db}, /* HEBREW LETTER KAF */ | |
+ {0xcec, 0x5dc}, /* HEBREW LETTER LAMED */ | |
+ {0xced, 0x5dd}, /* HEBREW LETTER FINAL MEM */ | |
+ {0xcee, 0x5de}, /* HEBREW LETTER MEM */ | |
+ {0xcef, 0x5df}, /* HEBREW LETTER FINAL NUN */ | |
+ {0xcf0, 0x5e0}, /* HEBREW LETTER NUN */ | |
+ {0xcf1, 0x5e1}, /* HEBREW LETTER SAMEKH */ | |
+ {0xcf2, 0x5e2}, /* HEBREW LETTER AYIN */ | |
+ {0xcf3, 0x5e3}, /* HEBREW LETTER FINAL PE */ | |
+ {0xcf4, 0x5e4}, /* HEBREW LETTER PE */ | |
+ {0xcf5, 0x5e5}, /* HEBREW LETTER FINAL TSADI */ | |
+ {0xcf6, 0x5e6}, /* HEBREW LETTER TSADI */ | |
+ {0xcf7, 0x5e7}, /* HEBREW LETTER QOF */ | |
+ {0xcf8, 0x5e8}, /* HEBREW LETTER RESH */ | |
+ {0xcf9, 0x5e9}, /* HEBREW LETTER SHIN */ | |
+ {0xcfa, 0x5ea}, /* HEBREW LETTER TAV */ | |
+ {0xda1, 0xe01}, /* THAI CHARACTER KO KAI */ | |
+ {0xda2, 0xe02}, /* THAI CHARACTER KHO KHAI */ | |
+ {0xda3, 0xe03}, /* THAI CHARACTER KHO KHUAT */ | |
+ {0xda4, 0xe04}, /* THAI CHARACTER KHO KHWAI */ | |
+ {0xda5, 0xe05}, /* THAI CHARACTER KHO KHON */ | |
+ {0xda6, 0xe06}, /* THAI CHARACTER KHO RAKHANG */ | |
+ {0xda7, 0xe07}, /* THAI CHARACTER NGO NGU */ | |
+ {0xda8, 0xe08}, /* THAI CHARACTER CHO CHAN */ | |
+ {0xda9, 0xe09}, /* THAI CHARACTER CHO CHING */ | |
+ {0xdaa, 0xe0a}, /* THAI CHARACTER CHO CHANG */ | |
+ {0xdab, 0xe0b}, /* THAI CHARACTER SO SO */ | |
+ {0xdac, 0xe0c}, /* THAI CHARACTER CHO CHOE */ | |
+ {0xdad, 0xe0d}, /* THAI CHARACTER YO YING */ | |
+ {0xdae, 0xe0e}, /* THAI CHARACTER DO CHADA */ | |
+ {0xdaf, 0xe0f}, /* THAI CHARACTER TO PATAK */ | |
+ {0xdb0, 0xe10}, /* THAI CHARACTER THO THAN */ | |
+ {0xdb1, 0xe11}, /* THAI CHARACTER THO NANGMONTHO */ | |
+ {0xdb2, 0xe12}, /* THAI CHARACTER THO PHUTHAO */ | |
+ {0xdb3, 0xe13}, /* THAI CHARACTER NO NEN */ | |
+ {0xdb4, 0xe14}, /* THAI CHARACTER DO DEK */ | |
+ {0xdb5, 0xe15}, /* THAI CHARACTER TO TAO */ | |
+ {0xdb6, 0xe16}, /* THAI CHARACTER THO THUNG */ | |
+ {0xdb7, 0xe17}, /* THAI CHARACTER THO THAHAN */ | |
+ {0xdb8, 0xe18}, /* THAI CHARACTER THO THONG */ | |
+ {0xdb9, 0xe19}, /* THAI CHARACTER NO NU */ | |
+ {0xdba, 0xe1a}, /* THAI CHARACTER BO BAIMAI */ | |
+ {0xdbb, 0xe1b}, /* THAI CHARACTER PO PLA */ | |
+ {0xdbc, 0xe1c}, /* THAI CHARACTER PHO PHUNG */ | |
+ {0xdbd, 0xe1d}, /* THAI CHARACTER FO FA */ | |
+ {0xdbe, 0xe1e}, /* THAI CHARACTER PHO PHAN */ | |
+ {0xdbf, 0xe1f}, /* THAI CHARACTER FO FAN */ | |
+ {0xdc0, 0xe20}, /* THAI CHARACTER PHO SAMPHAO */ | |
+ {0xdc1, 0xe21}, /* THAI CHARACTER MO MA */ | |
+ {0xdc2, 0xe22}, /* THAI CHARACTER YO YAK */ | |
+ {0xdc3, 0xe23}, /* THAI CHARACTER RO RUA */ | |
+ {0xdc4, 0xe24}, /* THAI CHARACTER RU */ | |
+ {0xdc5, 0xe25}, /* THAI CHARACTER LO LING */ | |
+ {0xdc6, 0xe26}, /* THAI CHARACTER LU */ | |
+ {0xdc7, 0xe27}, /* THAI CHARACTER WO WAEN */ | |
+ {0xdc8, 0xe28}, /* THAI CHARACTER SO SALA */ | |
+ {0xdc9, 0xe29}, /* THAI CHARACTER SO RUSI */ | |
+ {0xdca, 0xe2a}, /* THAI CHARACTER SO SUA */ | |
+ {0xdcb, 0xe2b}, /* THAI CHARACTER HO HIP */ | |
+ {0xdcc, 0xe2c}, /* THAI CHARACTER LO CHULA */ | |
+ {0xdcd, 0xe2d}, /* THAI CHARACTER O ANG */ | |
+ {0xdce, 0xe2e}, /* THAI CHARACTER HO NOKHUK */ | |
+ {0xdcf, 0xe2f}, /* THAI CHARACTER PAIYANNOI */ | |
+ {0xdd0, 0xe30}, /* THAI CHARACTER SARA A */ | |
+ {0xdd1, 0xe31}, /* THAI CHARACTER MAI HAN-AKAT */ | |
+ {0xdd2, 0xe32}, /* THAI CHARACTER SARA AA */ | |
+ {0xdd3, 0xe33}, /* THAI CHARACTER SARA AM */ | |
+ {0xdd4, 0xe34}, /* THAI CHARACTER SARA I */ | |
+ {0xdd5, 0xe35}, /* THAI CHARACTER SARA II */ | |
+ {0xdd6, 0xe36}, /* THAI CHARACTER SARA UE */ | |
+ {0xdd7, 0xe37}, /* THAI CHARACTER SARA UEE */ | |
+ {0xdd8, 0xe38}, /* THAI CHARACTER SARA U */ | |
+ {0xdd9, 0xe39}, /* THAI CHARACTER SARA UU */ | |
+ {0xdda, 0xe3a}, /* THAI CHARACTER PHINTHU */ | |
+ {0xddf, 0xe3f}, /* THAI CURRENCY SYMBOL BAHT */ | |
+ {0xde0, 0xe40}, /* THAI CHARACTER SARA E */ | |
+ {0xde1, 0xe41}, /* THAI CHARACTER SARA AE */ | |
+ {0xde2, 0xe42}, /* THAI CHARACTER SARA O */ | |
+ {0xde3, 0xe43}, /* THAI CHARACTER SARA AI MAIMUAN */ | |
+ {0xde4, 0xe44}, /* THAI CHARACTER SARA AI MAIMALAI */ | |
+ {0xde5, 0xe45}, /* THAI CHARACTER LAKKHANGYAO */ | |
+ {0xde6, 0xe46}, /* THAI CHARACTER MAIYAMOK */ | |
+ {0xde7, 0xe47}, /* THAI CHARACTER MAITAIKHU */ | |
+ {0xde8, 0xe48}, /* THAI CHARACTER MAI EK */ | |
+ {0xde9, 0xe49}, /* THAI CHARACTER MAI THO */ | |
+ {0xdea, 0xe4a}, /* THAI CHARACTER MAI TRI */ | |
+ {0xdeb, 0xe4b}, /* THAI CHARACTER MAI CHATTAWA */ | |
+ {0xdec, 0xe4c}, /* THAI CHARACTER THANTHAKHAT */ | |
+ {0xded, 0xe4d}, /* THAI CHARACTER NIKHAHIT */ | |
+ {0xdf0, 0xe50}, /* THAI DIGIT ZERO */ | |
+ {0xdf1, 0xe51}, /* THAI DIGIT ONE */ | |
+ {0xdf2, 0xe52}, /* THAI DIGIT TWO */ | |
+ {0xdf3, 0xe53}, /* THAI DIGIT THREE */ | |
+ {0xdf4, 0xe54}, /* THAI DIGIT FOUR */ | |
+ {0xdf5, 0xe55}, /* THAI DIGIT FIVE */ | |
+ {0xdf6, 0xe56}, /* THAI DIGIT SIX */ | |
+ {0xdf7, 0xe57}, /* THAI DIGIT SEVEN */ | |
+ {0xdf8, 0xe58}, /* THAI DIGIT EIGHT */ | |
+ {0xdf9, 0xe59}, /* THAI DIGIT NINE */ | |
+ {0x13bc, 0x152}, /* LATIN CAPITAL LIGATURE OE */ | |
+ {0x13bd, 0x153}, /* LATIN SMALL LIGATURE OE */ | |
+ {0x13be, 0x178}, /* LATIN CAPITAL LETTER Y WITH DIAERESIS */ | |
+ {0x20ac, 0x20ac}, /* CURRENCY EURO SIGN */ | |
+ |