/*
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/*
* This module converts keysym values into the corresponding ISO 10646 - 1
* ( UCS , Unicode ) values .
*
* The array keysymtab [ ] contains pairs of X11 keysym values for graphical
* characters and the corresponding Unicode value . The function
* keysym2ucs ( ) maps a keysym onto a Unicode value using a binary search ,
* therefore keysymtab [ ] must remain SORTED by keysym value .
*
* The keysym - > UTF - 8 conversion will hopefully one day be provided
* by Xlib via XmbLookupString ( ) and should ideally not have to be
* done in X applications . But we are not there yet .
*
* We allow to represent any UCS character in the range U + 00000000 to
* U + 00 FFFFFF by a keysym value in the range 0 x01000000 to 0 x01ffffff .
* This admittedly does not cover the entire 31 - bit space of UCS , but
* it does cover all of the characters up to U + 10 FFFF , which can be
* represented by UTF - 16 , and more , and it is very unlikely that higher
* UCS codes will ever be assigned by ISO . So to get Unicode character
* U + ABCD you can directly use keysym 0 x1000abcd .
*
* NOTE : The comments in the table below contain the actual character
* encoded in UTF - 8 , so for viewing and editing best use an editor in
* UTF - 8 mode .
*
* Author : Markus G . Kuhn < mkuhn @ acm . org > , University of Cambridge , June 1999
*
* Special thanks to Richard Verhoeven < river @ win . tue . nl > for preparing
* an initial draft of the mapping table .
*
* This software is in the public domain . Share and enjoy !
*/
#include "keysym2ucs.h"
static const struct codepair {
unsigned short keysym;
unsigned short ucs;
} keysymtab[] = {
// clang-format off
{
0 x01a1,
0 x0104 },
/* Aogonek Ą LATIN CAPITAL LETTER A WITH OGONEK */
{
0 x01a2,
0 x02d8 },
/* breve ˘ BREVE */
{
0 x01a3,
0 x0141 },
/* Lstroke Ł LATIN CAPITAL LETTER L WITH STROKE */
{
0 x01a5,
0 x013d },
/* Lcaron Ľ LATIN CAPITAL LETTER L WITH CARON */
{
0 x01a6,
0 x015a },
/* Sacute Ś LATIN CAPITAL LETTER S WITH ACUTE */
{
0 x01a9,
0 x0160 },
/* Scaron Š LATIN CAPITAL LETTER S WITH CARON */
{
0 x01aa,
0 x015e },
/* Scedilla Ş LATIN CAPITAL LETTER S WITH CEDILLA */
{
0 x01ab,
0 x0164 },
/* Tcaron Ť LATIN CAPITAL LETTER T WITH CARON */
{
0 x01ac,
0 x0179 },
/* Zacute Ź LATIN CAPITAL LETTER Z WITH ACUTE */
{
0 x01ae,
0 x017d },
/* Zcaron Ž LATIN CAPITAL LETTER Z WITH CARON */
{
0 x01af,
0 x017b },
/* Zabovedot Ż LATIN CAPITAL LETTER Z WITH DOT ABOVE */
{
0 x01b1,
0 x0105 },
/* aogonek ą LATIN SMALL LETTER A WITH OGONEK */
{
0 x01b2,
0 x02db },
/* ogonek ˛ OGONEK */
{
0 x01b3,
0 x0142 },
/* lstroke ł LATIN SMALL LETTER L WITH STROKE */
{
0 x01b5,
0 x013e },
/* lcaron ľ LATIN SMALL LETTER L WITH CARON */
{
0 x01b6,
0 x015b },
/* sacute ś LATIN SMALL LETTER S WITH ACUTE */
{
0 x01b7,
0 x02c7 },
/* caron ˇ CARON */
{
0 x01b9,
0 x0161 },
/* scaron š LATIN SMALL LETTER S WITH CARON */
{
0 x01ba,
0 x015f },
/* scedilla ş LATIN SMALL LETTER S WITH CEDILLA */
{
0 x01bb,
0 x0165 },
/* tcaron ť LATIN SMALL LETTER T WITH CARON */
{
0 x01bc,
0 x017a },
/* zacute ź LATIN SMALL LETTER Z WITH ACUTE */
{
0 x01bd,
0 x02dd },
/* doubleacute ˝ DOUBLE ACUTE ACCENT */
{
0 x01be,
0 x017e },
/* zcaron ž LATIN SMALL LETTER Z WITH CARON */
{
0 x01bf,
0 x017c },
/* zabovedot ż LATIN SMALL LETTER Z WITH DOT ABOVE */
{
0 x01c0,
0 x0154 },
/* Racute Ŕ LATIN CAPITAL LETTER R WITH ACUTE */
{
0 x01c3,
0 x0102 },
/* Abreve Ă LATIN CAPITAL LETTER A WITH BREVE */
{
0 x01c5,
0 x0139 },
/* Lacute Ĺ LATIN CAPITAL LETTER L WITH ACUTE */
{
0 x01c6,
0 x0106 },
/* Cacute Ć LATIN CAPITAL LETTER C WITH ACUTE */
{
0 x01c8,
0 x010c },
/* Ccaron Č LATIN CAPITAL LETTER C WITH CARON */
{
0 x01ca,
0 x0118 },
/* Eogonek Ę LATIN CAPITAL LETTER E WITH OGONEK */
{
0 x01cc,
0 x011a },
/* Ecaron Ě LATIN CAPITAL LETTER E WITH CARON */
{
0 x01cf,
0 x010e },
/* Dcaron Ď LATIN CAPITAL LETTER D WITH CARON */
{
0 x01d0,
0 x0110 },
/* Dstroke Đ LATIN CAPITAL LETTER D WITH STROKE */
{
0 x01d1,
0 x0143 },
/* Nacute Ń LATIN CAPITAL LETTER N WITH ACUTE */
{
0 x01d2,
0 x0147 },
/* Ncaron Ň LATIN CAPITAL LETTER N WITH CARON */
{
0 x01d5,
0 x0150 },
/* Odoubleacute Ő LATIN CAPITAL LETTER O WITH DOUBLE ACUTE */
{
0 x01d8,
0 x0158 },
/* Rcaron Ř LATIN CAPITAL LETTER R WITH CARON */
{
0 x01d9,
0 x016e },
/* Uring Ů LATIN CAPITAL LETTER U WITH RING ABOVE */
{
0 x01db,
0 x0170 },
/* Udoubleacute Ű LATIN CAPITAL LETTER U WITH DOUBLE ACUTE */
{
0 x01de,
0 x0162 },
/* Tcedilla Ţ LATIN CAPITAL LETTER T WITH CEDILLA */
{
0 x01e0,
0 x0155 },
/* racute ŕ LATIN SMALL LETTER R WITH ACUTE */
{
0 x01e3,
0 x0103 },
/* abreve ă LATIN SMALL LETTER A WITH BREVE */
{
0 x01e5,
0 x013a },
/* lacute ĺ LATIN SMALL LETTER L WITH ACUTE */
{
0 x01e6,
0 x0107 },
/* cacute ć LATIN SMALL LETTER C WITH ACUTE */
{
0 x01e8,
0 x010d },
/* ccaron č LATIN SMALL LETTER C WITH CARON */
{
0 x01ea,
0 x0119 },
/* eogonek ę LATIN SMALL LETTER E WITH OGONEK */
{
0 x01ec,
0 x011b },
/* ecaron ě LATIN SMALL LETTER E WITH CARON */
{
0 x01ef,
0 x010f },
/* dcaron ď LATIN SMALL LETTER D WITH CARON */
{
0 x01f0,
0 x0111 },
/* dstroke đ LATIN SMALL LETTER D WITH STROKE */
{
0 x01f1,
0 x0144 },
/* nacute ń LATIN SMALL LETTER N WITH ACUTE */
{
0 x01f2,
0 x0148 },
/* ncaron ň LATIN SMALL LETTER N WITH CARON */
{
0 x01f5,
0 x0151 },
/* odoubleacute ő LATIN SMALL LETTER O WITH DOUBLE ACUTE */
{
0 x01f8,
0 x0159 },
/* rcaron ř LATIN SMALL LETTER R WITH CARON */
{
0 x01f9,
0 x016f },
/* uring ů LATIN SMALL LETTER U WITH RING ABOVE */
{
0 x01fb,
0 x0171 },
/* udoubleacute ű LATIN SMALL LETTER U WITH DOUBLE ACUTE */
{
0 x01fe,
0 x0163 },
/* tcedilla ţ LATIN SMALL LETTER T WITH CEDILLA */
{
0 x01ff,
0 x02d9 },
/* abovedot ˙ DOT ABOVE */
{
0 x02a1,
0 x0126 },
/* Hstroke Ħ LATIN CAPITAL LETTER H WITH STROKE */
{
0 x02a6,
0 x0124 },
/* Hcircumflex Ĥ LATIN CAPITAL LETTER H WITH CIRCUMFLEX */
{
0 x02a9,
0 x0130 },
/* Iabovedot İ LATIN CAPITAL LETTER I WITH DOT ABOVE */
{
0 x02ab,
0 x011e },
/* Gbreve Ğ LATIN CAPITAL LETTER G WITH BREVE */
{
0 x02ac,
0 x0134 },
/* Jcircumflex Ĵ LATIN CAPITAL LETTER J WITH CIRCUMFLEX */
{
0 x02b1,
0 x0127 },
/* hstroke ħ LATIN SMALL LETTER H WITH STROKE */
{
0 x02b6,
0 x0125 },
/* hcircumflex ĥ LATIN SMALL LETTER H WITH CIRCUMFLEX */
{
0 x02b9,
0 x0131 },
/* idotless ı LATIN SMALL LETTER DOTLESS I */
{
0 x02bb,
0 x011f },
/* gbreve ğ LATIN SMALL LETTER G WITH BREVE */
{
0 x02bc,
0 x0135 },
/* jcircumflex ĵ LATIN SMALL LETTER J WITH CIRCUMFLEX */
{
0 x02c5,
0 x010a },
/* Cabovedot Ċ LATIN CAPITAL LETTER C WITH DOT ABOVE */
{
0 x02c6,
0 x0108 },
/* Ccircumflex Ĉ LATIN CAPITAL LETTER C WITH CIRCUMFLEX */
{
0 x02d5,
0 x0120 },
/* Gabovedot Ġ LATIN CAPITAL LETTER G WITH DOT ABOVE */
{
0 x02d8,
0 x011c },
/* Gcircumflex Ĝ LATIN CAPITAL LETTER G WITH CIRCUMFLEX */
{
0 x02dd,
0 x016c },
/* Ubreve Ŭ LATIN CAPITAL LETTER U WITH BREVE */
{
0 x02de,
0 x015c },
/* Scircumflex Ŝ LATIN CAPITAL LETTER S WITH CIRCUMFLEX */
{
0 x02e5,
0 x010b },
/* cabovedot ċ LATIN SMALL LETTER C WITH DOT ABOVE */
{
0 x02e6,
0 x0109 },
/* ccircumflex ĉ LATIN SMALL LETTER C WITH CIRCUMFLEX */
{
0 x02f5,
0 x0121 },
/* gabovedot ġ LATIN SMALL LETTER G WITH DOT ABOVE */
{
0 x02f8,
0 x011d },
/* gcircumflex ĝ LATIN SMALL LETTER G WITH CIRCUMFLEX */
{
0 x02fd,
0 x016d },
/* ubreve ŭ LATIN SMALL LETTER U WITH BREVE */
{
0 x02fe,
0 x015d },
/* scircumflex ŝ LATIN SMALL LETTER S WITH CIRCUMFLEX */
{
0 x03a2,
0 x0138 },
/* kra ĸ LATIN SMALL LETTER KRA */
{
0 x03a3,
0 x0156 },
/* Rcedilla Ŗ LATIN CAPITAL LETTER R WITH CEDILLA */
{
0 x03a5,
0 x0128 },
/* Itilde Ĩ LATIN CAPITAL LETTER I WITH TILDE */
{
0 x03a6,
0 x013b },
/* Lcedilla Ļ LATIN CAPITAL LETTER L WITH CEDILLA */
{
0 x03aa,
0 x0112 },
/* Emacron Ē LATIN CAPITAL LETTER E WITH MACRON */
{
0 x03ab,
0 x0122 },
/* Gcedilla Ģ LATIN CAPITAL LETTER G WITH CEDILLA */
{
0 x03ac,
0 x0166 },
/* Tslash Ŧ LATIN CAPITAL LETTER T WITH STROKE */
{
0 x03b3,
0 x0157 },
/* rcedilla ŗ LATIN SMALL LETTER R WITH CEDILLA */
{
0 x03b5,
0 x0129 },
/* itilde ĩ LATIN SMALL LETTER I WITH TILDE */
{
0 x03b6,
0 x013c },
/* lcedilla ļ LATIN SMALL LETTER L WITH CEDILLA */
{
0 x03ba,
0 x0113 },
/* emacron ē LATIN SMALL LETTER E WITH MACRON */
{
0 x03bb,
0 x0123 },
/* gcedilla ģ LATIN SMALL LETTER G WITH CEDILLA */
{
0 x03bc,
0 x0167 },
/* tslash ŧ LATIN SMALL LETTER T WITH STROKE */
{
0 x03bd,
0 x014a },
/* ENG Ŋ LATIN CAPITAL LETTER ENG */
{
0 x03bf,
0 x014b },
/* eng ŋ LATIN SMALL LETTER ENG */
{
0 x03c0,
0 x0100 },
/* Amacron Ā LATIN CAPITAL LETTER A WITH MACRON */
{
0 x03c7,
0 x012e },
/* Iogonek Į LATIN CAPITAL LETTER I WITH OGONEK */
{
0 x03cc,
0 x0116 },
/* Eabovedot Ė LATIN CAPITAL LETTER E WITH DOT ABOVE */
{
0 x03cf,
0 x012a },
/* Imacron Ī LATIN CAPITAL LETTER I WITH MACRON */
{
0 x03d1,
0 x0145 },
/* Ncedilla Ņ LATIN CAPITAL LETTER N WITH CEDILLA */
{
0 x03d2,
0 x014c },
/* Omacron Ō LATIN CAPITAL LETTER O WITH MACRON */
{
0 x03d3,
0 x0136 },
/* Kcedilla Ķ LATIN CAPITAL LETTER K WITH CEDILLA */
{
0 x03d9,
0 x0172 },
/* Uogonek Ų LATIN CAPITAL LETTER U WITH OGONEK */
{
0 x03dd,
0 x0168 },
/* Utilde Ũ LATIN CAPITAL LETTER U WITH TILDE */
{
0 x03de,
0 x016a },
/* Umacron Ū LATIN CAPITAL LETTER U WITH MACRON */
{
0 x03e0,
0 x0101 },
/* amacron ā LATIN SMALL LETTER A WITH MACRON */
{
0 x03e7,
0 x012f },
/* iogonek į LATIN SMALL LETTER I WITH OGONEK */
{
0 x03ec,
0 x0117 },
/* eabovedot ė LATIN SMALL LETTER E WITH DOT ABOVE */
{
0 x03ef,
0 x012b },
/* imacron ī LATIN SMALL LETTER I WITH MACRON */
{
0 x03f1,
0 x0146 },
/* ncedilla ņ LATIN SMALL LETTER N WITH CEDILLA */
{
0 x03f2,
0 x014d },
/* omacron ō LATIN SMALL LETTER O WITH MACRON */
{
0 x03f3,
0 x0137 },
/* kcedilla ķ LATIN SMALL LETTER K WITH CEDILLA */
{
0 x03f9,
0 x0173 },
/* uogonek ų LATIN SMALL LETTER U WITH OGONEK */
{
0 x03fd,
0 x0169 },
/* utilde ũ LATIN SMALL LETTER U WITH TILDE */
{
0 x03fe,
0 x016b },
/* umacron ū LATIN SMALL LETTER U WITH MACRON */
{
0 x047e,
0 x203e },
/* overline ‾ OVERLINE */
{
0 x04a1,
0 x3002 },
/* kana_fullstop 。 IDEOGRAPHIC FULL STOP */
{
0 x04a2,
0 x300c },
/* kana_openingbracket 「 LEFT CORNER BRACKET */
{
0 x04a3,
0 x300d },
/* kana_closingbracket 」 RIGHT CORNER BRACKET */
{
0 x04a4,
0 x3001 },
/* kana_comma 、 IDEOGRAPHIC COMMA */
{
0 x04a5,
0 x30fb },
/* kana_conjunctive ・ KATAKANA MIDDLE DOT */
{
0 x04a6,
0 x30f2 },
/* kana_WO ヲ KATAKANA LETTER WO */
{
0 x04a7,
0 x30a1 },
/* kana_a ァ KATAKANA LETTER SMALL A */
{
0 x04a8,
0 x30a3 },
/* kana_i ィ KATAKANA LETTER SMALL I */
{
0 x04a9,
0 x30a5 },
/* kana_u ゥ KATAKANA LETTER SMALL U */
{
0 x04aa,
0 x30a7 },
/* kana_e ェ KATAKANA LETTER SMALL E */
{
0 x04ab,
0 x30a9 },
/* kana_o ォ KATAKANA LETTER SMALL O */
{
0 x04ac,
0 x30e3 },
/* kana_ya ャ KATAKANA LETTER SMALL YA */
{
0 x04ad,
0 x30e5 },
/* kana_yu ュ KATAKANA LETTER SMALL YU */
{
0 x04ae,
0 x30e7 },
/* kana_yo ョ KATAKANA LETTER SMALL YO */
{
0 x04af,
0 x30c3 },
/* kana_tsu ッ KATAKANA LETTER SMALL TU */
{
0 x04b0,
0 x30fc },
/* prolongedsound ー KATAKANA-HIRAGANA PROLONGED SOUND MARK */
{
0 x04b1,
0 x30a2 },
/* kana_A ア KATAKANA LETTER A */
{
0 x04b2,
0 x30a4 },
/* kana_I イ KATAKANA LETTER I */
{
0 x04b3,
0 x30a6 },
/* kana_U ウ KATAKANA LETTER U */
{
0 x04b4,
0 x30a8 },
/* kana_E エ KATAKANA LETTER E */
{
0 x04b5,
0 x30aa },
/* kana_O オ KATAKANA LETTER O */
{
0 x04b6,
0 x30ab },
/* kana_KA カ KATAKANA LETTER KA */
{
0 x04b7,
0 x30ad },
/* kana_KI キ KATAKANA LETTER KI */
{
0 x04b8,
0 x30af },
/* kana_KU ク KATAKANA LETTER KU */
{
0 x04b9,
0 x30b1 },
/* kana_KE ケ KATAKANA LETTER KE */
{
0 x04ba,
0 x30b3 },
/* kana_KO コ KATAKANA LETTER KO */
{
0 x04bb,
0 x30b5 },
/* kana_SA サ KATAKANA LETTER SA */
{
0 x04bc,
0 x30b7 },
/* kana_SHI シ KATAKANA LETTER SI */
{
0 x04bd,
0 x30b9 },
/* kana_SU ス KATAKANA LETTER SU */
{
0 x04be,
0 x30bb },
/* kana_SE セ KATAKANA LETTER SE */
{
0 x04bf,
0 x30bd },
/* kana_SO ソ KATAKANA LETTER SO */
{
0 x04c0,
0 x30bf },
/* kana_TA タ KATAKANA LETTER TA */
{
0 x04c1,
0 x30c1 },
/* kana_CHI チ KATAKANA LETTER TI */
{
0 x04c2,
0 x30c4 },
/* kana_TSU ツ KATAKANA LETTER TU */
{
0 x04c3,
0 x30c6 },
/* kana_TE テ KATAKANA LETTER TE */
{
0 x04c4,
0 x30c8 },
/* kana_TO ト KATAKANA LETTER TO */
{
0 x04c5,
0 x30ca },
/* kana_NA ナ KATAKANA LETTER NA */
{
0 x04c6,
0 x30cb },
/* kana_NI ニ KATAKANA LETTER NI */
{
0 x04c7,
0 x30cc },
/* kana_NU ヌ KATAKANA LETTER NU */
{
0 x04c8,
0 x30cd },
/* kana_NE ネ KATAKANA LETTER NE */
{
0 x04c9,
0 x30ce },
/* kana_NO ノ KATAKANA LETTER NO */
{
0 x04ca,
0 x30cf },
/* kana_HA ハ KATAKANA LETTER HA */
{
0 x04cb,
0 x30d2 },
/* kana_HI ヒ KATAKANA LETTER HI */
{
0 x04cc,
0 x30d5 },
/* kana_FU フ KATAKANA LETTER HU */
{
0 x04cd,
0 x30d8 },
/* kana_HE ヘ KATAKANA LETTER HE */
{
0 x04ce,
0 x30db },
/* kana_HO ホ KATAKANA LETTER HO */
{
0 x04cf,
0 x30de },
/* kana_MA マ KATAKANA LETTER MA */
{
0 x04d0,
0 x30df },
/* kana_MI ミ KATAKANA LETTER MI */
{
0 x04d1,
0 x30e0 },
/* kana_MU ム KATAKANA LETTER MU */
{
0 x04d2,
0 x30e1 },
/* kana_ME メ KATAKANA LETTER ME */
{
0 x04d3,
0 x30e2 },
/* kana_MO モ KATAKANA LETTER MO */
{
0 x04d4,
0 x30e4 },
/* kana_YA ヤ KATAKANA LETTER YA */
{
0 x04d5,
0 x30e6 },
/* kana_YU ユ KATAKANA LETTER YU */
{
0 x04d6,
0 x30e8 },
/* kana_YO ヨ KATAKANA LETTER YO */
{
0 x04d7,
0 x30e9 },
/* kana_RA ラ KATAKANA LETTER RA */
{
0 x04d8,
0 x30ea },
/* kana_RI リ KATAKANA LETTER RI */
{
0 x04d9,
0 x30eb },
/* kana_RU ル KATAKANA LETTER RU */
{
0 x04da,
0 x30ec },
/* kana_RE レ KATAKANA LETTER RE */
{
0 x04db,
0 x30ed },
/* kana_RO ロ KATAKANA LETTER RO */
{
0 x04dc,
0 x30ef },
/* kana_WA ワ KATAKANA LETTER WA */
{
0 x04dd,
0 x30f3 },
/* kana_N ン KATAKANA LETTER N */
{
0 x04de,
0 x309b },
/* voicedsound ゛ KATAKANA-HIRAGANA VOICED SOUND MARK */
{
0 x04df,
0 x309c },
/* semivoicedsound ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */
{
0 x05ac,
0 x060c },
/* Arabic_comma ، ARABIC COMMA */
{
0 x05bb,
0 x061b },
/* Arabic_semicolon ؛ ARABIC SEMICOLON */
{
0 x05bf,
0 x061f },
/* Arabic_question_mark ؟ ARABIC QUESTION MARK */
{
0 x05c1,
0 x0621 },
/* Arabic_hamza ء ARABIC LETTER HAMZA */
{
0 x05c2,
0 x0622 },
/* Arabic_maddaonalef آ ARABIC LETTER ALEF WITH MADDA ABOVE */
{
0 x05c3,
0 x0623 },
/* Arabic_hamzaonalef أ ARABIC LETTER ALEF WITH HAMZA ABOVE */
{
0 x05c4,
0 x0624 },
/* Arabic_hamzaonwaw ؤ ARABIC LETTER WAW WITH HAMZA ABOVE */
{
0 x05c5,
0 x0625 },
/* Arabic_hamzaunderalef إ ARABIC LETTER ALEF WITH HAMZA BELOW */
{
0 x05c6,
0 x0626 },
/* Arabic_hamzaonyeh ئ ARABIC LETTER YEH WITH HAMZA ABOVE */
{
0 x05c7,
0 x0627 },
/* Arabic_alef ا ARABIC LETTER ALEF */
{
0 x05c8,
0 x0628 },
/* Arabic_beh ب ARABIC LETTER BEH */
{
0 x05c9,
0 x0629 },
/* Arabic_tehmarbuta ة ARABIC LETTER TEH MARBUTA */
{
0 x05ca,
0 x062a },
/* Arabic_teh ت ARABIC LETTER TEH */
{
0 x05cb,
0 x062b },
/* Arabic_theh ث ARABIC LETTER THEH */
{
0 x05cc,
0 x062c },
/* Arabic_jeem ج ARABIC LETTER JEEM */
{
0 x05cd,
0 x062d },
/* Arabic_hah ح ARABIC LETTER HAH */
{
0 x05ce,
0 x062e },
/* Arabic_khah خ ARABIC LETTER KHAH */
{
0 x05cf,
0 x062f },
/* Arabic_dal د ARABIC LETTER DAL */
{
0 x05d0,
0 x0630 },
/* Arabic_thal ذ ARABIC LETTER THAL */
{
0 x05d1,
0 x0631 },
/* Arabic_ra ر ARABIC LETTER REH */
{
0 x05d2,
0 x0632 },
/* Arabic_zain ز ARABIC LETTER ZAIN */
{
0 x05d3,
0 x0633 },
/* Arabic_seen س ARABIC LETTER SEEN */
{
0 x05d4,
0 x0634 },
/* Arabic_sheen ش ARABIC LETTER SHEEN */
{
0 x05d5,
0 x0635 },
/* Arabic_sad ص ARABIC LETTER SAD */
{
0 x05d6,
0 x0636 },
/* Arabic_dad ض ARABIC LETTER DAD */
{
0 x05d7,
0 x0637 },
/* Arabic_tah ط ARABIC LETTER TAH */
{
0 x05d8,
0 x0638 },
/* Arabic_zah ظ ARABIC LETTER ZAH */
{
0 x05d9,
0 x0639 },
/* Arabic_ain ع ARABIC LETTER AIN */
{
0 x05da,
0 x063a },
/* Arabic_ghain غ ARABIC LETTER GHAIN */
{
0 x05e0,
0 x0640 },
/* Arabic_tatweel ـ ARABIC TATWEEL */
{
0 x05e1,
0 x0641 },
/* Arabic_feh ف ARABIC LETTER FEH */
{
0 x05e2,
0 x0642 },
/* Arabic_qaf ق ARABIC LETTER QAF */
{
0 x05e3,
0 x0643 },
/* Arabic_kaf ك ARABIC LETTER KAF */
{
0 x05e4,
0 x0644 },
/* Arabic_lam ل ARABIC LETTER LAM */
{
0 x05e5,
0 x0645 },
/* Arabic_meem م ARABIC LETTER MEEM */
{
0 x05e6,
0 x0646 },
/* Arabic_noon ن ARABIC LETTER NOON */
{
0 x05e7,
0 x0647 },
/* Arabic_ha ه ARABIC LETTER HEH */
{
0 x05e8,
0 x0648 },
/* Arabic_waw و ARABIC LETTER WAW */
{
0 x05e9,
0 x0649 },
/* Arabic_alefmaksura ى ARABIC LETTER ALEF MAKSURA */
{
0 x05ea,
0 x064a },
/* Arabic_yeh ي ARABIC LETTER YEH */
{
0 x05eb,
0 x064b },
/* Arabic_fathatan ً ARABIC FATHATAN */
{
0 x05ec,
0 x064c },
/* Arabic_dammatan ٌ ARABIC DAMMATAN */
{
0 x05ed,
0 x064d },
/* Arabic_kasratan ٍ ARABIC KASRATAN */
{
0 x05ee,
0 x064e },
/* Arabic_fatha َ ARABIC FATHA */
{
0 x05ef,
0 x064f },
/* Arabic_damma ُ ARABIC DAMMA */
{
0 x05f0,
0 x0650 },
/* Arabic_kasra ِ ARABIC KASRA */
{
0 x05f1,
0 x0651 },
/* Arabic_shadda ّ ARABIC SHADDA */
{
0 x05f2,
0 x0652 },
/* Arabic_sukun ْ ARABIC SUKUN */
{
0 x06a1,
0 x0452 },
/* Serbian_dje ђ CYRILLIC SMALL LETTER DJE */
{
0 x06a2,
0 x0453 },
/* Macedonia_gje ѓ CYRILLIC SMALL LETTER GJE */
{
0 x06a3,
0 x0451 },
/* Cyrillic_io ё CYRILLIC SMALL LETTER IO */
{
0 x06a4,
0 x0454 },
/* Ukrainian_ie є CYRILLIC SMALL LETTER UKRAINIAN IE */
{
0 x06a5,
0 x0455 },
/* Macedonia_dse ѕ CYRILLIC SMALL LETTER DZE */
{
0 x06a6,
0 x0456 },
/* Ukrainian_i і CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */
{
0 x06a7,
0 x0457 },
/* Ukrainian_yi ї CYRILLIC SMALL LETTER YI */
{
0 x06a8,
0 x0458 },
/* Cyrillic_je ј CYRILLIC SMALL LETTER JE */
{
0 x06a9,
0 x0459 },
/* Cyrillic_lje љ CYRILLIC SMALL LETTER LJE */
{
0 x06aa,
0 x045a },
/* Cyrillic_nje њ CYRILLIC SMALL LETTER NJE */
{
0 x06ab,
0 x045b },
/* Serbian_tshe ћ CYRILLIC SMALL LETTER TSHE */
{
0 x06ac,
0 x045c },
/* Macedonia_kje ќ CYRILLIC SMALL LETTER KJE */
{
0 x06ad,
0 x0491 },
/* Ukrainian_ghe_with_upturn ґ CYRILLIC SMALL LETTER GHE WITH UPTURN */
{
0 x06ae,
0 x045e },
/* Byelorussian_shortu ў CYRILLIC SMALL LETTER SHORT U */
{
0 x06af,
0 x045f },
/* Cyrillic_dzhe џ CYRILLIC SMALL LETTER DZHE */
{
0 x06b0,
0 x2116 },
/* numerosign № NUMERO SIGN */
{
0 x06b1,
0 x0402 },
/* Serbian_DJE Ђ CYRILLIC CAPITAL LETTER DJE */
{
0 x06b2,
0 x0403 },
/* Macedonia_GJE Ѓ CYRILLIC CAPITAL LETTER GJE */
{
0 x06b3,
0 x0401 },
/* Cyrillic_IO Ё CYRILLIC CAPITAL LETTER IO */
{
0 x06b4,
0 x0404 },
/* Ukrainian_IE Є CYRILLIC CAPITAL LETTER UKRAINIAN IE */
{
0 x06b5,
0 x0405 },
/* Macedonia_DSE Ѕ CYRILLIC CAPITAL LETTER DZE */
{
0 x06b6,
0 x0406 },
/* Ukrainian_I І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */
{
0 x06b7,
0 x0407 },
/* Ukrainian_YI Ї CYRILLIC CAPITAL LETTER YI */
{
0 x06b8,
0 x0408 },
/* Cyrillic_JE Ј CYRILLIC CAPITAL LETTER JE */
{
0 x06b9,
0 x0409 },
/* Cyrillic_LJE Љ CYRILLIC CAPITAL LETTER LJE */
{
0 x06ba,
0 x040a },
/* Cyrillic_NJE Њ CYRILLIC CAPITAL LETTER NJE */
{
0 x06bb,
0 x040b },
/* Serbian_TSHE Ћ CYRILLIC CAPITAL LETTER TSHE */
{
0 x06bc,
0 x040c },
/* Macedonia_KJE Ќ CYRILLIC CAPITAL LETTER KJE */
{
0 x06bd,
0 x0490 },
/* Ukrainian_GHE_WITH_UPTURN Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN */
{
0 x06be,
0 x040e },
/* Byelorussian_SHORTU Ў CYRILLIC CAPITAL LETTER SHORT U */
{
0 x06bf,
0 x040f },
/* Cyrillic_DZHE Џ CYRILLIC CAPITAL LETTER DZHE */
{
0 x06c0,
0 x044e },
/* Cyrillic_yu ю CYRILLIC SMALL LETTER YU */
{
0 x06c1,
0 x0430 },
/* Cyrillic_a а CYRILLIC SMALL LETTER A */
{
0 x06c2,
0 x0431 },
/* Cyrillic_be б CYRILLIC SMALL LETTER BE */
{
0 x06c3,
0 x0446 },
/* Cyrillic_tse ц CYRILLIC SMALL LETTER TSE */
{
0 x06c4,
0 x0434 },
/* Cyrillic_de д CYRILLIC SMALL LETTER DE */
{
0 x06c5,
0 x0435 },
/* Cyrillic_ie е CYRILLIC SMALL LETTER IE */
{
0 x06c6,
0 x0444 },
/* Cyrillic_ef ф CYRILLIC SMALL LETTER EF */
{
0 x06c7,
0 x0433 },
/* Cyrillic_ghe г CYRILLIC SMALL LETTER GHE */
{
0 x06c8,
0 x0445 },
/* Cyrillic_ha х CYRILLIC SMALL LETTER HA */
{
0 x06c9,
0 x0438 },
/* Cyrillic_i и CYRILLIC SMALL LETTER I */
{
0 x06ca,
0 x0439 },
/* Cyrillic_shorti й CYRILLIC SMALL LETTER SHORT I */
{
0 x06cb,
0 x043a },
/* Cyrillic_ka к CYRILLIC SMALL LETTER KA */
{
0 x06cc,
0 x043b },
/* Cyrillic_el л CYRILLIC SMALL LETTER EL */
{
0 x06cd,
0 x043c },
/* Cyrillic_em м CYRILLIC SMALL LETTER EM */
{
0 x06ce,
0 x043d },
/* Cyrillic_en н CYRILLIC SMALL LETTER EN */
{
0 x06cf,
0 x043e },
/* Cyrillic_o о CYRILLIC SMALL LETTER O */
{
0 x06d0,
0 x043f },
/* Cyrillic_pe п CYRILLIC SMALL LETTER PE */
{
0 x06d1,
0 x044f },
/* Cyrillic_ya я CYRILLIC SMALL LETTER YA */
{
0 x06d2,
0 x0440 },
/* Cyrillic_er р CYRILLIC SMALL LETTER ER */
{
0 x06d3,
0 x0441 },
/* Cyrillic_es с CYRILLIC SMALL LETTER ES */
{
0 x06d4,
0 x0442 },
/* Cyrillic_te т CYRILLIC SMALL LETTER TE */
{
0 x06d5,
0 x0443 },
/* Cyrillic_u у CYRILLIC SMALL LETTER U */
{
0 x06d6,
0 x0436 },
/* Cyrillic_zhe ж CYRILLIC SMALL LETTER ZHE */
{
0 x06d7,
0 x0432 },
/* Cyrillic_ve в CYRILLIC SMALL LETTER VE */
{
0 x06d8,
0 x044c },
/* Cyrillic_softsign ь CYRILLIC SMALL LETTER SOFT SIGN */
{
0 x06d9,
0 x044b },
/* Cyrillic_yeru ы CYRILLIC SMALL LETTER YERU */
{
0 x06da,
0 x0437 },
/* Cyrillic_ze з CYRILLIC SMALL LETTER ZE */
{
0 x06db,
0 x0448 },
/* Cyrillic_sha ш CYRILLIC SMALL LETTER SHA */
{
0 x06dc,
0 x044d },
/* Cyrillic_e э CYRILLIC SMALL LETTER E */
{
0 x06dd,
0 x0449 },
/* Cyrillic_shcha щ CYRILLIC SMALL LETTER SHCHA */
{
0 x06de,
0 x0447 },
/* Cyrillic_che ч CYRILLIC SMALL LETTER CHE */
{
0 x06df,
0 x044a },
/* Cyrillic_hardsign ъ CYRILLIC SMALL LETTER HARD SIGN */
{
0 x06e0,
0 x042e },
/* Cyrillic_YU Ю CYRILLIC CAPITAL LETTER YU */
{
0 x06e1,
0 x0410 },
/* Cyrillic_A А CYRILLIC CAPITAL LETTER A */
{
0 x06e2,
0 x0411 },
/* Cyrillic_BE Б CYRILLIC CAPITAL LETTER BE */
{
0 x06e3,
0 x0426 },
/* Cyrillic_TSE Ц CYRILLIC CAPITAL LETTER TSE */
{
0 x06e4,
0 x0414 },
/* Cyrillic_DE Д CYRILLIC CAPITAL LETTER DE */
{
0 x06e5,
0 x0415 },
/* Cyrillic_IE Е CYRILLIC CAPITAL LETTER IE */
{
0 x06e6,
0 x0424 },
/* Cyrillic_EF Ф CYRILLIC CAPITAL LETTER EF */
{
0 x06e7,
0 x0413 },
/* Cyrillic_GHE Г CYRILLIC CAPITAL LETTER GHE */
{
0 x06e8,
0 x0425 },
/* Cyrillic_HA Х CYRILLIC CAPITAL LETTER HA */
{
0 x06e9,
0 x0418 },
/* Cyrillic_I И CYRILLIC CAPITAL LETTER I */
{
0 x06ea,
0 x0419 },
/* Cyrillic_SHORTI Й CYRILLIC CAPITAL LETTER SHORT I */
{
0 x06eb,
0 x041a },
/* Cyrillic_KA К CYRILLIC CAPITAL LETTER KA */
{
0 x06ec,
0 x041b },
/* Cyrillic_EL Л CYRILLIC CAPITAL LETTER EL */
{
0 x06ed,
0 x041c },
/* Cyrillic_EM М CYRILLIC CAPITAL LETTER EM */
{
0 x06ee,
0 x041d },
/* Cyrillic_EN Н CYRILLIC CAPITAL LETTER EN */
{
0 x06ef,
0 x041e },
/* Cyrillic_O О CYRILLIC CAPITAL LETTER O */
{
0 x06f0,
0 x041f },
/* Cyrillic_PE П CYRILLIC CAPITAL LETTER PE */
{
0 x06f1,
0 x042f },
/* Cyrillic_YA Я CYRILLIC CAPITAL LETTER YA */
{
0 x06f2,
0 x0420 },
/* Cyrillic_ER Р CYRILLIC CAPITAL LETTER ER */
{
0 x06f3,
0 x0421 },
/* Cyrillic_ES С CYRILLIC CAPITAL LETTER ES */
{
0 x06f4,
0 x0422 },
/* Cyrillic_TE Т CYRILLIC CAPITAL LETTER TE */
{
0 x06f5,
0 x0423 },
/* Cyrillic_U У CYRILLIC CAPITAL LETTER U */
{
0 x06f6,
0 x0416 },
/* Cyrillic_ZHE Ж CYRILLIC CAPITAL LETTER ZHE */
{
0 x06f7,
0 x0412 },
/* Cyrillic_VE В CYRILLIC CAPITAL LETTER VE */
{
0 x06f8,
0 x042c },
/* Cyrillic_SOFTSIGN Ь CYRILLIC CAPITAL LETTER SOFT SIGN */
{
0 x06f9,
0 x042b },
/* Cyrillic_YERU Ы CYRILLIC CAPITAL LETTER YERU */
{
0 x06fa,
0 x0417 },
/* Cyrillic_ZE З CYRILLIC CAPITAL LETTER ZE */
{
0 x06fb,
0 x0428 },
/* Cyrillic_SHA Ш CYRILLIC CAPITAL LETTER SHA */
{
0 x06fc,
0 x042d },
/* Cyrillic_E Э CYRILLIC CAPITAL LETTER E */
{
0 x06fd,
0 x0429 },
/* Cyrillic_SHCHA Щ CYRILLIC CAPITAL LETTER SHCHA */
{
0 x06fe,
0 x0427 },
/* Cyrillic_CHE Ч CYRILLIC CAPITAL LETTER CHE */
{
0 x06ff,
0 x042a },
/* Cyrillic_HARDSIGN Ъ CYRILLIC CAPITAL LETTER HARD SIGN */
{
0 x07a1,
0 x0386 },
/* Greek_ALPHAaccent Ά GREEK CAPITAL LETTER ALPHA WITH TONOS */
{
0 x07a2,
0 x0388 },
/* Greek_EPSILONaccent Έ GREEK CAPITAL LETTER EPSILON WITH TONOS */
{
0 x07a3,
0 x0389 },
/* Greek_ETAaccent Ή GREEK CAPITAL LETTER ETA WITH TONOS */
{
0 x07a4,
0 x038a },
/* Greek_IOTAaccent Ί GREEK CAPITAL LETTER IOTA WITH TONOS */
{
0 x07a5,
0 x03aa },
/* Greek_IOTAdiaeresis Ϊ GREEK CAPITAL LETTER IOTA WITH DIALYTIKA */
{
0 x07a7,
0 x038c },
/* Greek_OMICRONaccent Ό GREEK CAPITAL LETTER OMICRON WITH TONOS */
{
0 x07a8,
0 x038e },
/* Greek_UPSILONaccent Ύ GREEK CAPITAL LETTER UPSILON WITH TONOS */
{
0 x07a9,
0 x03ab },
/* Greek_UPSILONdieresis Ϋ GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA */
{
0 x07ab,
0 x038f },
/* Greek_OMEGAaccent Ώ GREEK CAPITAL LETTER OMEGA WITH TONOS */
{
0 x07ae,
0 x0385 },
/* Greek_accentdieresis ΅ GREEK DIALYTIKA TONOS */
{
0 x07af,
0 x2015 },
/* Greek_horizbar ― HORIZONTAL BAR */
{
0 x07b1,
0 x03ac },
/* Greek_alphaaccent ά GREEK SMALL LETTER ALPHA WITH TONOS */
{
0 x07b2,
0 x03ad },
/* Greek_epsilonaccent έ GREEK SMALL LETTER EPSILON WITH TONOS */
{
0 x07b3,
0 x03ae },
/* Greek_etaaccent ή GREEK SMALL LETTER ETA WITH TONOS */
{
0 x07b4,
0 x03af },
/* Greek_iotaaccent ί GREEK SMALL LETTER IOTA WITH TONOS */
{
0 x07b5,
0 x03ca },
/* Greek_iotadieresis ϊ GREEK SMALL LETTER IOTA WITH DIALYTIKA */
{
0 x07b6,
0 x0390 },
/* Greek_iotaaccentdieresis ΐ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS */
{
0 x07b7,
0 x03cc },
/* Greek_omicronaccent ό GREEK SMALL LETTER OMICRON WITH TONOS */
{
0 x07b8,
0 x03cd },
/* Greek_upsilonaccent ύ GREEK SMALL LETTER UPSILON WITH TONOS */
{
0 x07b9,
0 x03cb },
/* Greek_upsilondieresis ϋ GREEK SMALL LETTER UPSILON WITH DIALYTIKA */
{
0 x07ba,
0 x03b0 },
/* Greek_upsilonaccentdieresis ΰ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS */
{
0 x07bb,
0 x03ce },
/* Greek_omegaaccent ώ GREEK SMALL LETTER OMEGA WITH TONOS */
{
0 x07c1,
0 x0391 },
/* Greek_ALPHA Α GREEK CAPITAL LETTER ALPHA */
{
0 x07c2,
0 x0392 },
/* Greek_BETA Β GREEK CAPITAL LETTER BETA */
{
0 x07c3,
0 x0393 },
/* Greek_GAMMA Γ GREEK CAPITAL LETTER GAMMA */
{
0 x07c4,
0 x0394 },
/* Greek_DELTA Δ GREEK CAPITAL LETTER DELTA */
{
0 x07c5,
0 x0395 },
/* Greek_EPSILON Ε GREEK CAPITAL LETTER EPSILON */
{
0 x07c6,
0 x0396 },
/* Greek_ZETA Ζ GREEK CAPITAL LETTER ZETA */
{
0 x07c7,
0 x0397 },
/* Greek_ETA Η GREEK CAPITAL LETTER ETA */
{
0 x07c8,
0 x0398 },
/* Greek_THETA Θ GREEK CAPITAL LETTER THETA */
{
0 x07c9,
0 x0399 },
/* Greek_IOTA Ι GREEK CAPITAL LETTER IOTA */
{
0 x07ca,
0 x039a },
/* Greek_KAPPA Κ GREEK CAPITAL LETTER KAPPA */
{
0 x07cb,
0 x039b },
/* Greek_LAMBDA Λ GREEK CAPITAL LETTER LAMDA */
{
0 x07cc,
0 x039c },
/* Greek_MU Μ GREEK CAPITAL LETTER MU */
{
0 x07cd,
0 x039d },
/* Greek_NU Ν GREEK CAPITAL LETTER NU */
{
0 x07ce,
0 x039e },
/* Greek_XI Ξ GREEK CAPITAL LETTER XI */
{
0 x07cf,
0 x039f },
/* Greek_OMICRON Ο GREEK CAPITAL LETTER OMICRON */
{
0 x07d0,
0 x03a0 },
/* Greek_PI Π GREEK CAPITAL LETTER PI */
{
0 x07d1,
0 x03a1 },
/* Greek_RHO Ρ GREEK CAPITAL LETTER RHO */
{
0 x07d2,
0 x03a3 },
/* Greek_SIGMA Σ GREEK CAPITAL LETTER SIGMA */
{
0 x07d4,
0 x03a4 },
/* Greek_TAU Τ GREEK CAPITAL LETTER TAU */
{
0 x07d5,
0 x03a5 },
/* Greek_UPSILON Υ GREEK CAPITAL LETTER UPSILON */
{
0 x07d6,
0 x03a6 },
/* Greek_PHI Φ GREEK CAPITAL LETTER PHI */
{
0 x07d7,
0 x03a7 },
/* Greek_CHI Χ GREEK CAPITAL LETTER CHI */
{
0 x07d8,
0 x03a8 },
/* Greek_PSI Ψ GREEK CAPITAL LETTER PSI */
{
0 x07d9,
0 x03a9 },
/* Greek_OMEGA Ω GREEK CAPITAL LETTER OMEGA */
{
0 x07e1,
0 x03b1 },
/* Greek_alpha α GREEK SMALL LETTER ALPHA */
{
0 x07e2,
0 x03b2 },
/* Greek_beta β GREEK SMALL LETTER BETA */
{
0 x07e3,
0 x03b3 },
/* Greek_gamma γ GREEK SMALL LETTER GAMMA */
{
0 x07e4,
0 x03b4 },
/* Greek_delta δ GREEK SMALL LETTER DELTA */
{
0 x07e5,
0 x03b5 },
/* Greek_epsilon ε GREEK SMALL LETTER EPSILON */
{
0 x07e6,
0 x03b6 },
/* Greek_zeta ζ GREEK SMALL LETTER ZETA */
{
0 x07e7,
0 x03b7 },
/* Greek_eta η GREEK SMALL LETTER ETA */
{
0 x07e8,
0 x03b8 },
/* Greek_theta θ GREEK SMALL LETTER THETA */
{
0 x07e9,
0 x03b9 },
/* Greek_iota ι GREEK SMALL LETTER IOTA */
{
0 x07ea,
0 x03ba },
/* Greek_kappa κ GREEK SMALL LETTER KAPPA */
{
0 x07eb,
0 x03bb },
/* Greek_lambda λ GREEK SMALL LETTER LAMDA */
{
0 x07ec,
0 x03bc },
/* Greek_mu μ GREEK SMALL LETTER MU */
{
0 x07ed,
0 x03bd },
/* Greek_nu ν GREEK SMALL LETTER NU */
{
0 x07ee,
0 x03be },
/* Greek_xi ξ GREEK SMALL LETTER XI */
{
0 x07ef,
0 x03bf },
/* Greek_omicron ο GREEK SMALL LETTER OMICRON */
{
0 x07f0,
0 x03c0 },
/* Greek_pi π GREEK SMALL LETTER PI */
{
0 x07f1,
0 x03c1 },
/* Greek_rho ρ GREEK SMALL LETTER RHO */
{
0 x07f2,
0 x03c3 },
/* Greek_sigma σ GREEK SMALL LETTER SIGMA */
{
0 x07f3,
0 x03c2 },
/* Greek_finalsmallsigma ς GREEK SMALL LETTER FINAL SIGMA */
{
0 x07f4,
0 x03c4 },
/* Greek_tau τ GREEK SMALL LETTER TAU */
{
0 x07f5,
0 x03c5 },
/* Greek_upsilon υ GREEK SMALL LETTER UPSILON */
{
0 x07f6,
0 x03c6 },
/* Greek_phi φ GREEK SMALL LETTER PHI */
{
0 x07f7,
0 x03c7 },
/* Greek_chi χ GREEK SMALL LETTER CHI */
{
0 x07f8,
0 x03c8 },
/* Greek_psi ψ GREEK SMALL LETTER PSI */
{
0 x07f9,
0 x03c9 },
/* Greek_omega ω GREEK SMALL LETTER OMEGA */
/* 0x08a1 leftradical ? ??? */
/* 0x08a2 topleftradical ? ??? */
/* 0x08a3 horizconnector ? ??? */
{
0 x08a4,
0 x2320 },
/* topintegral ⌠ TOP HALF INTEGRAL */
{
0 x08a5,
0 x2321 },
/* botintegral ⌡ BOTTOM HALF INTEGRAL */
{
0 x08a6,
0 x2502 },
/* vertconnector │ BOX DRAWINGS LIGHT VERTICAL */
/* 0x08a7 topleftsqbracket ? ??? */
/* 0x08a8 botleftsqbracket ? ??? */
/* 0x08a9 toprightsqbracket ? ??? */
/* 0x08aa botrightsqbracket ? ??? */
/* 0x08ab topleftparens ? ??? */
/* 0x08ac botleftparens ? ??? */
/* 0x08ad toprightparens ? ??? */
/* 0x08ae botrightparens ? ??? */
/* 0x08af leftmiddlecurlybrace ? ??? */
/* 0x08b0 rightmiddlecurlybrace ? ??? */
/* 0x08b1 topleftsummation ? ??? */
/* 0x08b2 botleftsummation ? ??? */
/* 0x08b3 topvertsummationconnector ? ??? */
/* 0x08b4 botvertsummationconnector ? ??? */
/* 0x08b5 toprightsummation ? ??? */
/* 0x08b6 botrightsummation ? ??? */
/* 0x08b7 rightmiddlesummation ? ??? */
{
0 x08bc,
0 x2264 },
/* lessthanequal ≤ LESS-THAN OR EQUAL TO */
{
0 x08bd,
0 x2260 },
/* notequal ≠ NOT EQUAL TO */
{
0 x08be,
0 x2265 },
/* greaterthanequal ≥ GREATER-THAN OR EQUAL TO */
{
0 x08bf,
0 x222b },
/* integral ∫ INTEGRAL */
{
0 x08c0,
0 x2234 },
/* therefore ∴ THEREFORE */
{
0 x08c1,
0 x221d },
/* variation ∝ PROPORTIONAL TO */
{
0 x08c2,
0 x221e },
/* infinity ∞ INFINITY */
{
0 x08c5,
0 x2207 },
/* nabla ∇ NABLA */
{
0 x08c8,
0 x2245 },
/* approximate ≅ APPROXIMATELY EQUAL TO */
/* 0x08c9 similarequal ? ??? */
{
0 x08cd,
0 x21d4 },
/* ifonlyif ⇔ LEFT RIGHT DOUBLE ARROW */
{
0 x08ce,
0 x21d2 },
/* implies ⇒ RIGHTWARDS DOUBLE ARROW */
{
0 x08cf,
0 x2261 },
/* identical ≡ IDENTICAL TO */
{
0 x08d6,
0 x221a },
/* radical √ SQUARE ROOT */
{
0 x08da,
0 x2282 },
/* includedin ⊂ SUBSET OF */
{
0 x08db,
0 x2283 },
/* includes ⊃ SUPERSET OF */
{
0 x08dc,
0 x2229 },
/* intersection ∩ INTERSECTION */
{
0 x08dd,
0 x222a },
/* union ∪ UNION */
{
0 x08de,
0 x2227 },
/* logicaland ∧ LOGICAL AND */
{
0 x08df,
0 x2228 },
/* logicalor ∨ LOGICAL OR */
{
0 x08ef,
0 x2202 },
/* partialderivative ∂ PARTIAL DIFFERENTIAL */
{
0 x08f6,
0 x0192 },
/* function ƒ LATIN SMALL LETTER F WITH HOOK */
{
0 x08fb,
0 x2190 },
/* leftarrow ← LEFTWARDS ARROW */
{
0 x08fc,
0 x2191 },
/* uparrow ↑ UPWARDS ARROW */
{
0 x08fd,
0 x2192 },
/* rightarrow → RIGHTWARDS ARROW */
{
0 x08fe,
0 x2193 },
/* downarrow ↓ DOWNWARDS ARROW */
{
0 x09df,
0 x2422 },
/* blank ␢ BLANK SYMBOL */
{
0 x09e0,
0 x25c6 },
/* soliddiamond ◆ BLACK DIAMOND */
{
0 x09e1,
0 x2592 },
/* checkerboard ▒ MEDIUM SHADE */
{
0 x09e2,
0 x2409 },
/* ht ␉ SYMBOL FOR HORIZONTAL TABULATION */
{
0 x09e3,
0 x240c },
/* ff ␌ SYMBOL FOR FORM FEED */
{
0 x09e4,
0 x240d },
/* cr ␍ SYMBOL FOR CARRIAGE RETURN */
{
0 x09e5,
0 x240a },
/* lf ␊ SYMBOL FOR LINE FEED */
{
0 x09e8,
0 x2424 },
/* nl  SYMBOL FOR NEWLINE */
{
0 x09e9,
0 x240b },
/* vt ␋ SYMBOL FOR VERTICAL TABULATION */
{
0 x09ea,
0 x2518 },
/* lowrightcorner ┘ BOX DRAWINGS LIGHT UP AND LEFT */
{
0 x09eb,
0 x2510 },
/* uprightcorner ┐ BOX DRAWINGS LIGHT DOWN AND LEFT */
{
0 x09ec,
0 x250c },
/* upleftcorner ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT */
{
0 x09ed,
0 x2514 },
/* lowleftcorner └ BOX DRAWINGS LIGHT UP AND RIGHT */
{
0 x09ee,
0 x253c },
/* crossinglines ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
/* 0x09ef horizlinescan1 ? ??? */
/* 0x09f0 horizlinescan3 ? ??? */
{
0 x09f1,
0 x2500 },
/* horizlinescan5 ─ BOX DRAWINGS LIGHT HORIZONTAL */
/* 0x09f2 horizlinescan7 ? ??? */
/* 0x09f3 horizlinescan9 ? ??? */
{
0 x09f4,
0 x251c },
/* leftt ├ BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
{
0 x09f5,
0 x2524 },
/* rightt ┤ BOX DRAWINGS LIGHT VERTICAL AND LEFT */
{
0 x09f6,
0 x2534 },
/* bott ┴ BOX DRAWINGS LIGHT UP AND HORIZONTAL */
{
0 x09f7,
0 x252c },
/* topt ┬ BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
{
0 x09f8,
0 x2502 },
/* vertbar │ BOX DRAWINGS LIGHT VERTICAL */
{
0 x0aa1,
0 x2003 },
/* emspace EM SPACE */
{
0 x0aa2,
0 x2002 },
/* enspace EN SPACE */
{
0 x0aa3,
0 x2004 },
/* em3space THREE-PER-EM SPACE */
{
0 x0aa4,
0 x2005 },
/* em4space FOUR-PER-EM SPACE */
{
0 x0aa5,
0 x2007 },
/* digitspace FIGURE SPACE */
{
0 x0aa6,
0 x2008 },
/* punctspace PUNCTUATION SPACE */
{
0 x0aa7,
0 x2009 },
/* thinspace THIN SPACE */
{
0 x0aa8,
0 x200a },
/* hairspace HAIR SPACE */
{
0 x0aa9,
0 x2014 },
/* emdash — EM DASH */
{
0 x0aaa,
0 x2013 },
/* endash – EN DASH */
/* 0x0aac signifblank ? ??? */
{
0 x0aae,
0 x2026 },
/* ellipsis … HORIZONTAL ELLIPSIS */
/* 0x0aaf doubbaselinedot ? ??? */
{
0 x0ab0,
0 x2153 },
/* onethird ⅓ VULGAR FRACTION ONE THIRD */
{
0 x0ab1,
0 x2154 },
/* twothirds ⅔ VULGAR FRACTION TWO THIRDS */
{
0 x0ab2,
0 x2155 },
/* onefifth ⅕ VULGAR FRACTION ONE FIFTH */
{
0 x0ab3,
0 x2156 },
/* twofifths ⅖ VULGAR FRACTION TWO FIFTHS */
{
0 x0ab4,
0 x2157 },
/* threefifths ⅗ VULGAR FRACTION THREE FIFTHS */
{
0 x0ab5,
0 x2158 },
/* fourfifths ⅘ VULGAR FRACTION FOUR FIFTHS */
{
0 x0ab6,
0 x2159 },
/* onesixth ⅙ VULGAR FRACTION ONE SIXTH */
{
0 x0ab7,
0 x215a },
/* fivesixths ⅚ VULGAR FRACTION FIVE SIXTHS */
{
0 x0ab8,
0 x2105 },
/* careof ℅ CARE OF */
{
0 x0abb,
0 x2012 },
/* figdash ‒ FIGURE DASH */
{
0 x0abc,
0 x2329 },
/* leftanglebracket 〈 LEFT-POINTING ANGLE BRACKET */
{
0 x0abd,
0 x002e },
/* decimalpoint . FULL STOP */
{
0 x0abe,
0 x232a },
/* rightanglebracket 〉 RIGHT-POINTING ANGLE BRACKET */
/* 0x0abf marker ? ??? */
{
0 x0ac3,
0 x215b },
/* oneeighth ⅛ VULGAR FRACTION ONE EIGHTH */
{
0 x0ac4,
0 x215c },
/* threeeighths ⅜ VULGAR FRACTION THREE EIGHTHS */
{
0 x0ac5,
0 x215d },
/* fiveeighths ⅝ VULGAR FRACTION FIVE EIGHTHS */
{
0 x0ac6,
0 x215e },
/* seveneighths ⅞ VULGAR FRACTION SEVEN EIGHTHS */
{
0 x0ac9,
0 x2122 },
/* trademark ™ TRADE MARK SIGN */
{
0 x0aca,
0 x2613 },
/* signaturemark ☓ SALTIRE */
/* 0x0acb trademarkincircle ? ??? */
{
0 x0acc,
0 x25c1 },
/* leftopentriangle ◁ WHITE LEFT-POINTING TRIANGLE */
{
0 x0acd,
0 x25b7 },
/* rightopentriangle ▷ WHITE RIGHT-POINTING TRIANGLE */
{
0 x0ace,
0 x25cb },
/* emopencircle ○ WHITE CIRCLE */
{
0 x0acf,
0 x25a1 },
/* emopenrectangle □ WHITE SQUARE */
{
0 x0ad0,
0 x2018 },
/* leftsinglequotemark ‘ LEFT SINGLE QUOTATION MARK */
{
0 x0ad1,
0 x2019 },
/* rightsinglequotemark ’ RIGHT SINGLE QUOTATION MARK */
{
0 x0ad2,
0 x201c },
/* leftdoublequotemark “ LEFT DOUBLE QUOTATION MARK */
{
0 x0ad3,
0 x201d },
/* rightdoublequotemark ” RIGHT DOUBLE QUOTATION MARK */
{
0 x0ad4,
0 x211e },
/* prescription ℞ PRESCRIPTION TAKE */
{
0 x0ad6,
0 x2032 },
/* minutes ′ PRIME */
{
0 x0ad7,
0 x2033 },
/* seconds ″ DOUBLE PRIME */
{
0 x0ad9,
0 x271d },
/* latincross ✝ LATIN CROSS */
/* 0x0ada hexagram ? ??? */
{
0 x0adb,
0 x25ac },
/* filledrectbullet ▬ BLACK RECTANGLE */
{
0 x0adc,
0 x25c0 },
/* filledlefttribullet ◀ BLACK LEFT-POINTING TRIANGLE */
{
0 x0add,
0 x25b6 },
/* filledrighttribullet ▶ BLACK RIGHT-POINTING TRIANGLE */
{
0 x0ade,
0 x25cf },
/* emfilledcircle ● BLACK CIRCLE */
{
0 x0adf,
0 x25a0 },
/* emfilledrect ■ BLACK SQUARE */
{
0 x0ae0,
0 x25e6 },
/* enopencircbullet ◦ WHITE BULLET */
{
0 x0ae1,
0 x25ab },
/* enopensquarebullet ▫ WHITE SMALL SQUARE */
{
0 x0ae2,
0 x25ad },
/* openrectbullet ▭ WHITE RECTANGLE */
{
0 x0ae3,
0 x25b3 },
/* opentribulletup △ WHITE UP-POINTING TRIANGLE */
{
0 x0ae4,
0 x25bd },
/* opentribulletdown ▽ WHITE DOWN-POINTING TRIANGLE */
{
0 x0ae5,
0 x2606 },
/* openstar ☆ WHITE STAR */
{
0 x0ae6,
0 x2022 },
/* enfilledcircbullet • BULLET */
{
0 x0ae7,
0 x25aa },
/* enfilledsqbullet ▪ BLACK SMALL SQUARE */
{
0 x0ae8,
0 x25b2 },
/* filledtribulletup ▲ BLACK UP-POINTING TRIANGLE */
{
0 x0ae9,
0 x25bc },
/* filledtribulletdown ▼ BLACK DOWN-POINTING TRIANGLE */
{
0 x0aea,
0 x261c },
/* leftpointer ☜ WHITE LEFT POINTING INDEX */
{
0 x0aeb,
0 x261e },
/* rightpointer ☞ WHITE RIGHT POINTING INDEX */
{
0 x0aec,
0 x2663 },
/* club ♣ BLACK CLUB SUIT */
{
0 x0aed,
0 x2666 },
/* diamond ♦ BLACK DIAMOND SUIT */
{
0 x0aee,
0 x2665 },
/* heart ♥ BLACK HEART SUIT */
{
0 x0af0,
0 x2720 },
/* maltesecross ✠ MALTESE CROSS */
{
0 x0af1,
0 x2020 },
/* dagger † DAGGER */
{
0 x0af2,
0 x2021 },
/* doubledagger ‡ DOUBLE DAGGER */
{
0 x0af3,
0 x2713 },
/* checkmark ✓ CHECK MARK */
{
0 x0af4,
0 x2717 },
/* ballotcross ✗ BALLOT X */
{
0 x0af5,
0 x266f },
/* musicalsharp ♯ MUSIC SHARP SIGN */
{
0 x0af6,
0 x266d },
/* musicalflat ♭ MUSIC FLAT SIGN */
{
0 x0af7,
0 x2642 },
/* malesymbol ♂ MALE SIGN */
{
0 x0af8,
0 x2640 },
/* femalesymbol ♀ FEMALE SIGN */
{
0 x0af9,
0 x260e },
/* telephone ☎ BLACK TELEPHONE */
{
0 x0afa,
0 x2315 },
/* telephonerecorder ⌕ TELEPHONE RECORDER */
{
0 x0afb,
0 x2117 },
/* phonographcopyright ℗ SOUND RECORDING COPYRIGHT */
{
0 x0afc,
0 x2038 },
/* caret ‸ CARET */
{
0 x0afd,
0 x201a },
/* singlelowquotemark ‚ SINGLE LOW-9 QUOTATION MARK */
{
0 x0afe,
0 x201e },
/* doublelowquotemark „ DOUBLE LOW-9 QUOTATION MARK */
/* 0x0aff cursor ? ??? */
{
0 x0ba3,
0 x003c },
/* leftcaret < LESS-THAN SIGN */
{
0 x0ba6,
0 x003e },
/* rightcaret > GREATER-THAN SIGN */
{
0 x0ba8,
0 x2228 },
/* downcaret ∨ LOGICAL OR */
{
0 x0ba9,
0 x2227 },
/* upcaret ∧ LOGICAL AND */
{
0 x0bc0,
0 x00af },
/* overbar ¯ MACRON */
{
0 x0bc2,
0 x22a4 },
/* downtack ⊤ DOWN TACK */
{
0 x0bc3,
0 x2229 },
/* upshoe ∩ INTERSECTION */
{
0 x0bc4,
0 x230a },
/* downstile ⌊ LEFT FLOOR */
{
0 x0bc6,
0 x005f },
/* underbar _ LOW LINE */
{
0 x0bca,
0 x2218 },
/* jot ∘ RING OPERATOR */
{
0 x0bcc,
0 x2395 },
/* quad ⎕ APL FUNCTIONAL SYMBOL QUAD (Unicode 3.0) */
{
0 x0bce,
0 x22a5 },
/* uptack ⊥ UP TACK */
{
0 x0bcf,
0 x25cb },
/* circle ○ WHITE CIRCLE */
{
0 x0bd3,
0 x2308 },
/* upstile ⌈ LEFT CEILING */
{
0 x0bd6,
0 x222a },
/* downshoe ∪ UNION */
{
0 x0bd8,
0 x2283 },
/* rightshoe ⊃ SUPERSET OF */
{
0 x0bda,
0 x2282 },
/* leftshoe ⊂ SUBSET OF */
{
0 x0bdc,
0 x22a3 },
/* lefttack ⊣ LEFT TACK */
{
0 x0bfc,
0 x22a2 },
/* righttack ⊢ RIGHT TACK */
{
0 x0cdf,
0 x2017 },
/* hebrew_doublelowline ‗ DOUBLE LOW LINE */
{
0 x0ce0,
0 x05d0 },
/* hebrew_aleph א HEBREW LETTER ALEF */
{
0 x0ce1,
0 x05d1 },
/* hebrew_bet ב HEBREW LETTER BET */
{
0 x0ce2,
0 x05d2 },
/* hebrew_gimel ג HEBREW LETTER GIMEL */
{
0 x0ce3,
0 x05d3 },
/* hebrew_dalet ד HEBREW LETTER DALET */
{
0 x0ce4,
0 x05d4 },
/* hebrew_he ה HEBREW LETTER HE */
{
0 x0ce5,
0 x05d5 },
/* hebrew_waw ו HEBREW LETTER VAV */
{
0 x0ce6,
0 x05d6 },
/* hebrew_zain ז HEBREW LETTER ZAYIN */
{
0 x0ce7,
0 x05d7 },
/* hebrew_chet ח HEBREW LETTER HET */
{
0 x0ce8,
0 x05d8 },
/* hebrew_tet ט HEBREW LETTER TET */
{
0 x0ce9,
0 x05d9 },
/* hebrew_yod י HEBREW LETTER YOD */
{
0 x0cea,
0 x05da },
/* hebrew_finalkaph ך HEBREW LETTER FINAL KAF */
{
0 x0ceb,
0 x05db },
/* hebrew_kaph כ HEBREW LETTER KAF */
{
0 x0cec,
0 x05dc },
/* hebrew_lamed ל HEBREW LETTER LAMED */
{
0 x0ced,
0 x05dd },
/* hebrew_finalmem ם HEBREW LETTER FINAL MEM */
{
0 x0cee,
0 x05de },
/* hebrew_mem מ HEBREW LETTER MEM */
{
0 x0cef,
0 x05df },
/* hebrew_finalnun ן HEBREW LETTER FINAL NUN */
{
0 x0cf0,
0 x05e0 },
/* hebrew_nun נ HEBREW LETTER NUN */
{
0 x0cf1,
0 x05e1 },
/* hebrew_samech ס HEBREW LETTER SAMEKH */
{
0 x0cf2,
0 x05e2 },
/* hebrew_ayin ע HEBREW LETTER AYIN */
{
0 x0cf3,
0 x05e3 },
/* hebrew_finalpe ף HEBREW LETTER FINAL PE */
{
0 x0cf4,
0 x05e4 },
/* hebrew_pe פ HEBREW LETTER PE */
{
0 x0cf5,
0 x05e5 },
/* hebrew_finalzade ץ HEBREW LETTER FINAL TSADI */
{
0 x0cf6,
0 x05e6 },
/* hebrew_zade צ HEBREW LETTER TSADI */
{
0 x0cf7,
0 x05e7 },
/* hebrew_qoph ק HEBREW LETTER QOF */
{
0 x0cf8,
0 x05e8 },
/* hebrew_resh ר HEBREW LETTER RESH */
{
0 x0cf9,
0 x05e9 },
/* hebrew_shin ש HEBREW LETTER SHIN */
{
0 x0cfa,
0 x05ea },
/* hebrew_taw ת HEBREW LETTER TAV */
{
0 x0da1,
0 x0e01 },
/* Thai_kokai ก THAI CHARACTER KO KAI */
{
0 x0da2,
0 x0e02 },
/* Thai_khokhai ข THAI CHARACTER KHO KHAI */
{
0 x0da3,
0 x0e03 },
/* Thai_khokhuat ฃ THAI CHARACTER KHO KHUAT */
{
0 x0da4,
0 x0e04 },
/* Thai_khokhwai ค THAI CHARACTER KHO KHWAI */
{
0 x0da5,
0 x0e05 },
/* Thai_khokhon ฅ THAI CHARACTER KHO KHON */
{
0 x0da6,
0 x0e06 },
/* Thai_khorakhang ฆ THAI CHARACTER KHO RAKHANG */
{
0 x0da7,
0 x0e07 },
/* Thai_ngongu ง THAI CHARACTER NGO NGU */
{
0 x0da8,
0 x0e08 },
/* Thai_chochan จ THAI CHARACTER CHO CHAN */
{
0 x0da9,
0 x0e09 },
/* Thai_choching ฉ THAI CHARACTER CHO CHING */
{
0 x0daa,
0 x0e0a },
/* Thai_chochang ช THAI CHARACTER CHO CHANG */
{
0 x0dab,
0 x0e0b },
/* Thai_soso ซ THAI CHARACTER SO SO */
{
0 x0dac,
0 x0e0c },
/* Thai_chochoe ฌ THAI CHARACTER CHO CHOE */
{
0 x0dad,
0 x0e0d },
/* Thai_yoying ญ THAI CHARACTER YO YING */
{
0 x0dae,
0 x0e0e },
/* Thai_dochada ฎ THAI CHARACTER DO CHADA */
{
0 x0daf,
0 x0e0f },
/* Thai_topatak ฏ THAI CHARACTER TO PATAK */
{
0 x0db0,
0 x0e10 },
/* Thai_thothan ฐ THAI CHARACTER THO THAN */
{
0 x0db1,
0 x0e11 },
/* Thai_thonangmontho ฑ THAI CHARACTER THO NANGMONTHO */
{
0 x0db2,
0 x0e12 },
/* Thai_thophuthao ฒ THAI CHARACTER THO PHUTHAO */
{
0 x0db3,
0 x0e13 },
/* Thai_nonen ณ THAI CHARACTER NO NEN */
{
0 x0db4,
0 x0e14 },
/* Thai_dodek ด THAI CHARACTER DO DEK */
{
0 x0db5,
0 x0e15 },
/* Thai_totao ต THAI CHARACTER TO TAO */
{
0 x0db6,
0 x0e16 },
/* Thai_thothung ถ THAI CHARACTER THO THUNG */
{
0 x0db7,
0 x0e17 },
/* Thai_thothahan ท THAI CHARACTER THO THAHAN */
{
0 x0db8,
0 x0e18 },
/* Thai_thothong ธ THAI CHARACTER THO THONG */
{
0 x0db9,
0 x0e19 },
/* Thai_nonu น THAI CHARACTER NO NU */
{
0 x0dba,
0 x0e1a },
/* Thai_bobaimai บ THAI CHARACTER BO BAIMAI */
{
0 x0dbb,
0 x0e1b },
/* Thai_popla ป THAI CHARACTER PO PLA */
{
0 x0dbc,
0 x0e1c },
/* Thai_phophung ผ THAI CHARACTER PHO PHUNG */
{
0 x0dbd,
0 x0e1d },
/* Thai_fofa ฝ THAI CHARACTER FO FA */
{
0 x0dbe,
0 x0e1e },
/* Thai_phophan พ THAI CHARACTER PHO PHAN */
{
0 x0dbf,
0 x0e1f },
/* Thai_fofan ฟ THAI CHARACTER FO FAN */
{
0 x0dc0,
0 x0e20 },
/* Thai_phosamphao ภ THAI CHARACTER PHO SAMPHAO */
{
0 x0dc1,
0 x0e21 },
/* Thai_moma ม THAI CHARACTER MO MA */
{
0 x0dc2,
0 x0e22 },
/* Thai_yoyak ย THAI CHARACTER YO YAK */
{
0 x0dc3,
0 x0e23 },
/* Thai_rorua ร THAI CHARACTER RO RUA */
{
0 x0dc4,
0 x0e24 },
/* Thai_ru ฤ THAI CHARACTER RU */
{
0 x0dc5,
0 x0e25 },
/* Thai_loling ล THAI CHARACTER LO LING */
{
0 x0dc6,
0 x0e26 },
/* Thai_lu ฦ THAI CHARACTER LU */
{
0 x0dc7,
0 x0e27 },
/* Thai_wowaen ว THAI CHARACTER WO WAEN */
{
0 x0dc8,
0 x0e28 },
/* Thai_sosala ศ THAI CHARACTER SO SALA */
{
0 x0dc9,
0 x0e29 },
/* Thai_sorusi ษ THAI CHARACTER SO RUSI */
{
0 x0dca,
0 x0e2a },
/* Thai_sosua ส THAI CHARACTER SO SUA */
{
0 x0dcb,
0 x0e2b },
/* Thai_hohip ห THAI CHARACTER HO HIP */
{
0 x0dcc,
0 x0e2c },
/* Thai_lochula ฬ THAI CHARACTER LO CHULA */
{
0 x0dcd,
0 x0e2d },
/* Thai_oang อ THAI CHARACTER O ANG */
{
0 x0dce,
0 x0e2e },
/* Thai_honokhuk ฮ THAI CHARACTER HO NOKHUK */
{
0 x0dcf,
0 x0e2f },
/* Thai_paiyannoi ฯ THAI CHARACTER PAIYANNOI */
{
0 x0dd0,
0 x0e30 },
/* Thai_saraa ะ THAI CHARACTER SARA A */
{
0 x0dd1,
0 x0e31 },
/* Thai_maihanakat ั THAI CHARACTER MAI HAN-AKAT */
{
0 x0dd2,
0 x0e32 },
/* Thai_saraaa า THAI CHARACTER SARA AA */
{
0 x0dd3,
0 x0e33 },
/* Thai_saraam ำ THAI CHARACTER SARA AM */
{
0 x0dd4,
0 x0e34 },
/* Thai_sarai ิ THAI CHARACTER SARA I */
{
0 x0dd5,
0 x0e35 },
/* Thai_saraii ี THAI CHARACTER SARA II */
{
0 x0dd6,
0 x0e36 },
/* Thai_saraue ึ THAI CHARACTER SARA UE */
{
0 x0dd7,
0 x0e37 },
/* Thai_sarauee ื THAI CHARACTER SARA UEE */
{
0 x0dd8,
0 x0e38 },
/* Thai_sarau ุ THAI CHARACTER SARA U */
{
0 x0dd9,
0 x0e39 },
/* Thai_sarauu ู THAI CHARACTER SARA UU */
{
0 x0dda,
0 x0e3a },
/* Thai_phinthu ฺ THAI CHARACTER PHINTHU */
{
0 x0dde,
0 x0e3e },
/* Thai_maihanakat_maitho ??? */
{
0 x0ddf,
0 x0e3f },
/* Thai_baht ฿ THAI CURRENCY SYMBOL BAHT */
{
0 x0de0,
0 x0e40 },
/* Thai_sarae เ THAI CHARACTER SARA E */
{
0 x0de1,
0 x0e41 },
/* Thai_saraae แ THAI CHARACTER SARA AE */
{
0 x0de2,
0 x0e42 },
/* Thai_sarao โ THAI CHARACTER SARA O */
{
0 x0de3,
0 x0e43 },
/* Thai_saraaimaimuan ใ THAI CHARACTER SARA AI MAIMUAN */
{
0 x0de4,
0 x0e44 },
/* Thai_saraaimaimalai ไ THAI CHARACTER SARA AI MAIMALAI */
{
0 x0de5,
0 x0e45 },
/* Thai_lakkhangyao ๅ THAI CHARACTER LAKKHANGYAO */
{
0 x0de6,
0 x0e46 },
/* Thai_maiyamok ๆ THAI CHARACTER MAIYAMOK */
{
0 x0de7,
0 x0e47 },
/* Thai_maitaikhu ็ THAI CHARACTER MAITAIKHU */
{
0 x0de8,
0 x0e48 },
/* Thai_maiek ่ THAI CHARACTER MAI EK */
{
0 x0de9,
0 x0e49 },
/* Thai_maitho ้ THAI CHARACTER MAI THO */
{
0 x0dea,
0 x0e4a },
/* Thai_maitri ๊ THAI CHARACTER MAI TRI */
{
0 x0deb,
0 x0e4b },
/* Thai_maichattawa ๋ THAI CHARACTER MAI CHATTAWA */
{
0 x0dec,
0 x0e4c },
/* Thai_thanthakhat ์ THAI CHARACTER THANTHAKHAT */
{
0 x0ded,
0 x0e4d },
/* Thai_nikhahit ํ THAI CHARACTER NIKHAHIT */
{
0 x0df0,
0 x0e50 },
/* Thai_leksun ๐ THAI DIGIT ZERO */
{
0 x0df1,
0 x0e51 },
/* Thai_leknung ๑ THAI DIGIT ONE */
{
0 x0df2,
0 x0e52 },
/* Thai_leksong ๒ THAI DIGIT TWO */
{
0 x0df3,
0 x0e53 },
/* Thai_leksam ๓ THAI DIGIT THREE */
{
0 x0df4,
0 x0e54 },
/* Thai_leksi ๔ THAI DIGIT FOUR */
{
0 x0df5,
0 x0e55 },
/* Thai_lekha ๕ THAI DIGIT FIVE */
{
0 x0df6,
0 x0e56 },
/* Thai_lekhok ๖ THAI DIGIT SIX */
{
0 x0df7,
0 x0e57 },
/* Thai_lekchet ๗ THAI DIGIT SEVEN */
{
0 x0df8,
0 x0e58 },
/* Thai_lekpaet ๘ THAI DIGIT EIGHT */
{
0 x0df9,
0 x0e59 },
/* Thai_lekkao ๙ THAI DIGIT NINE */
{
0 x0ea1,
0 x3131 },
/* Hangul_Kiyeog ㄱ HANGUL LETTER KIYEOK */
{
0 x0ea2,
0 x3132 },
/* Hangul_SsangKiyeog ㄲ HANGUL LETTER SSANGKIYEOK */
{
0 x0ea3,
0 x3133 },
/* Hangul_KiyeogSios ㄳ HANGUL LETTER KIYEOK-SIOS */
{
0 x0ea4,
0 x3134 },
/* Hangul_Nieun ㄴ HANGUL LETTER NIEUN */
{
0 x0ea5,
0 x3135 },
/* Hangul_NieunJieuj ㄵ HANGUL LETTER NIEUN-CIEUC */
{
0 x0ea6,
0 x3136 },
/* Hangul_NieunHieuh ㄶ HANGUL LETTER NIEUN-HIEUH */
{
0 x0ea7,
0 x3137 },
/* Hangul_Dikeud ㄷ HANGUL LETTER TIKEUT */
{
0 x0ea8,
0 x3138 },
/* Hangul_SsangDikeud ㄸ HANGUL LETTER SSANGTIKEUT */
{
0 x0ea9,
0 x3139 },
/* Hangul_Rieul ㄹ HANGUL LETTER RIEUL */
{
0 x0eaa,
0 x313a },
/* Hangul_RieulKiyeog ㄺ HANGUL LETTER RIEUL-KIYEOK */
{
0 x0eab,
0 x313b },
/* Hangul_RieulMieum ㄻ HANGUL LETTER RIEUL-MIEUM */
{
0 x0eac,
0 x313c },
/* Hangul_RieulPieub ㄼ HANGUL LETTER RIEUL-PIEUP */
{
0 x0ead,
0 x313d },
/* Hangul_RieulSios ㄽ HANGUL LETTER RIEUL-SIOS */
{
0 x0eae,
0 x313e },
/* Hangul_RieulTieut ㄾ HANGUL LETTER RIEUL-THIEUTH */
{
0 x0eaf,
0 x313f },
/* Hangul_RieulPhieuf ㄿ HANGUL LETTER RIEUL-PHIEUPH */
{
0 x0eb0,
0 x3140 },
/* Hangul_RieulHieuh ㅀ HANGUL LETTER RIEUL-HIEUH */
{
0 x0eb1,
0 x3141 },
/* Hangul_Mieum ㅁ HANGUL LETTER MIEUM */
{
0 x0eb2,
0 x3142 },
/* Hangul_Pieub ㅂ HANGUL LETTER PIEUP */
{
0 x0eb3,
0 x3143 },
/* Hangul_SsangPieub ㅃ HANGUL LETTER SSANGPIEUP */
{
0 x0eb4,
0 x3144 },
/* Hangul_PieubSios ㅄ HANGUL LETTER PIEUP-SIOS */
{
0 x0eb5,
0 x3145 },
/* Hangul_Sios ㅅ HANGUL LETTER SIOS */
{
0 x0eb6,
0 x3146 },
/* Hangul_SsangSios ㅆ HANGUL LETTER SSANGSIOS */
{
0 x0eb7,
0 x3147 },
/* Hangul_Ieung ㅇ HANGUL LETTER IEUNG */
{
0 x0eb8,
0 x3148 },
/* Hangul_Jieuj ㅈ HANGUL LETTER CIEUC */
{
0 x0eb9,
0 x3149 },
/* Hangul_SsangJieuj ㅉ HANGUL LETTER SSANGCIEUC */
{
0 x0eba,
0 x314a },
/* Hangul_Cieuc ㅊ HANGUL LETTER CHIEUCH */
{
0 x0ebb,
0 x314b },
/* Hangul_Khieuq ㅋ HANGUL LETTER KHIEUKH */
{
0 x0ebc,
0 x314c },
/* Hangul_Tieut ㅌ HANGUL LETTER THIEUTH */
{
0 x0ebd,
0 x314d },
/* Hangul_Phieuf ㅍ HANGUL LETTER PHIEUPH */
{
0 x0ebe,
0 x314e },
/* Hangul_Hieuh ㅎ HANGUL LETTER HIEUH */
{
0 x0ebf,
0 x314f },
/* Hangul_A ㅏ HANGUL LETTER A */
{
0 x0ec0,
0 x3150 },
/* Hangul_AE ㅐ HANGUL LETTER AE */
{
0 x0ec1,
0 x3151 },
/* Hangul_YA ㅑ HANGUL LETTER YA */
{
0 x0ec2,
0 x3152 },
/* Hangul_YAE ㅒ HANGUL LETTER YAE */
{
0 x0ec3,
0 x3153 },
/* Hangul_EO ㅓ HANGUL LETTER EO */
{
0 x0ec4,
0 x3154 },
/* Hangul_E ㅔ HANGUL LETTER E */
{
0 x0ec5,
0 x3155 },
/* Hangul_YEO ㅕ HANGUL LETTER YEO */
{
0 x0ec6,
0 x3156 },
/* Hangul_YE ㅖ HANGUL LETTER YE */
{
0 x0ec7,
0 x3157 },
/* Hangul_O ㅗ HANGUL LETTER O */
{
0 x0ec8,
0 x3158 },
/* Hangul_WA ㅘ HANGUL LETTER WA */
{
0 x0ec9,
0 x3159 },
/* Hangul_WAE ㅙ HANGUL LETTER WAE */
{
0 x0eca,
0 x315a },
/* Hangul_OE ㅚ HANGUL LETTER OE */
{
0 x0ecb,
0 x315b },
/* Hangul_YO ㅛ HANGUL LETTER YO */
{
0 x0ecc,
0 x315c },
/* Hangul_U ㅜ HANGUL LETTER U */
{
0 x0ecd,
0 x315d },
/* Hangul_WEO ㅝ HANGUL LETTER WEO */
{
0 x0ece,
0 x315e },
/* Hangul_WE ㅞ HANGUL LETTER WE */
{
0 x0ecf,
0 x315f },
/* Hangul_WI ㅟ HANGUL LETTER WI */
{
0 x0ed0,
0 x3160 },
/* Hangul_YU ㅠ HANGUL LETTER YU */
{
0 x0ed1,
0 x3161 },
/* Hangul_EU ㅡ HANGUL LETTER EU */
{
0 x0ed2,
0 x3162 },
/* Hangul_YI ㅢ HANGUL LETTER YI */
{
0 x0ed3,
0 x3163 },
/* Hangul_I ㅣ HANGUL LETTER I */
{
0 x0ed4,
0 x11a8 },
/* Hangul_J_Kiyeog ᆨ HANGUL JONGSEONG KIYEOK */
{
0 x0ed5,
0 x11a9 },
/* Hangul_J_SsangKiyeog ᆩ HANGUL JONGSEONG SSANGKIYEOK */
{
0 x0ed6,
0 x11aa },
/* Hangul_J_KiyeogSios ᆪ HANGUL JONGSEONG KIYEOK-SIOS */
{
0 x0ed7,
0 x11ab },
/* Hangul_J_Nieun ᆫ HANGUL JONGSEONG NIEUN */
{
0 x0ed8,
0 x11ac },
/* Hangul_J_NieunJieuj ᆬ HANGUL JONGSEONG NIEUN-CIEUC */
{
0 x0ed9,
0 x11ad },
/* Hangul_J_NieunHieuh ᆭ HANGUL JONGSEONG NIEUN-HIEUH */
{
0 x0eda,
0 x11ae },
/* Hangul_J_Dikeud ᆮ HANGUL JONGSEONG TIKEUT */
{
0 x0edb,
0 x11af },
/* Hangul_J_Rieul ᆯ HANGUL JONGSEONG RIEUL */
{
0 x0edc,
0 x11b0 },
/* Hangul_J_RieulKiyeog ᆰ HANGUL JONGSEONG RIEUL-KIYEOK */
{
0 x0edd,
0 x11b1 },
/* Hangul_J_RieulMieum ᆱ HANGUL JONGSEONG RIEUL-MIEUM */
{
0 x0ede,
0 x11b2 },
/* Hangul_J_RieulPieub ᆲ HANGUL JONGSEONG RIEUL-PIEUP */
{
0 x0edf,
0 x11b3 },
/* Hangul_J_RieulSios ᆳ HANGUL JONGSEONG RIEUL-SIOS */
{
0 x0ee0,
0 x11b4 },
/* Hangul_J_RieulTieut ᆴ HANGUL JONGSEONG RIEUL-THIEUTH */
{
0 x0ee1,
0 x11b5 },
/* Hangul_J_RieulPhieuf ᆵ HANGUL JONGSEONG RIEUL-PHIEUPH */
{
0 x0ee2,
0 x11b6 },
/* Hangul_J_RieulHieuh ᆶ HANGUL JONGSEONG RIEUL-HIEUH */
{
0 x0ee3,
0 x11b7 },
/* Hangul_J_Mieum ᆷ HANGUL JONGSEONG MIEUM */
{
0 x0ee4,
0 x11b8 },
/* Hangul_J_Pieub ᆸ HANGUL JONGSEONG PIEUP */
{
0 x0ee5,
0 x11b9 },
/* Hangul_J_PieubSios ᆹ HANGUL JONGSEONG PIEUP-SIOS */
{
0 x0ee6,
0 x11ba },
/* Hangul_J_Sios ᆺ HANGUL JONGSEONG SIOS */
{
0 x0ee7,
0 x11bb },
/* Hangul_J_SsangSios ᆻ HANGUL JONGSEONG SSANGSIOS */
{
0 x0ee8,
0 x11bc },
/* Hangul_J_Ieung ᆼ HANGUL JONGSEONG IEUNG */
{
0 x0ee9,
0 x11bd },
/* Hangul_J_Jieuj ᆽ HANGUL JONGSEONG CIEUC */
{
0 x0eea,
0 x11be },
/* Hangul_J_Cieuc ᆾ HANGUL JONGSEONG CHIEUCH */
{
0 x0eeb,
0 x11bf },
/* Hangul_J_Khieuq ᆿ HANGUL JONGSEONG KHIEUKH */
{
0 x0eec,
0 x11c0 },
/* Hangul_J_Tieut ᇀ HANGUL JONGSEONG THIEUTH */
{
0 x0eed,
0 x11c1 },
/* Hangul_J_Phieuf ᇁ HANGUL JONGSEONG PHIEUPH */
{
0 x0eee,
0 x11c2 },
/* Hangul_J_Hieuh ᇂ HANGUL JONGSEONG HIEUH */
{
0 x0eef,
0 x316d },
/* Hangul_RieulYeorinHieuh ㅭ HANGUL LETTER RIEUL-YEORINHIEUH */
{
0 x0ef0,
0 x3171 },
/* Hangul_SunkyeongeumMieum ㅱ HANGUL LETTER KAPYEOUNMIEUM */
{
0 x0ef1,
0 x3178 },
/* Hangul_SunkyeongeumPieub ㅸ HANGUL LETTER KAPYEOUNPIEUP */
{
0 x0ef2,
0 x317f },
/* Hangul_PanSios ㅿ HANGUL LETTER PANSIOS */
/* 0x0ef3 Hangul_KkogjiDalrinIeung ? ??? */
{
0 x0ef4,
0 x3184 },
/* Hangul_SunkyeongeumPhieuf ㆄ HANGUL LETTER KAPYEOUNPHIEUPH */
{
0 x0ef5,
0 x3186 },
/* Hangul_YeorinHieuh ㆆ HANGUL LETTER YEORINHIEUH */
{
0 x0ef6,
0 x318d },
/* Hangul_AraeA ㆍ HANGUL LETTER ARAEA */
{
0 x0ef7,
0 x318e },
/* Hangul_AraeAE ㆎ HANGUL LETTER ARAEAE */
{
0 x0ef8,
0 x11eb },
/* Hangul_J_PanSios ᇫ HANGUL JONGSEONG PANSIOS */
/* 0x0ef9 Hangul_J_KkogjiDalrinIeung ? ??? */
{
0 x0efa,
0 x11f9 },
/* Hangul_J_YeorinHieuh ᇹ HANGUL JONGSEONG YEORINHIEUH */
{
0 x0eff,
0 x20a9 },
/* Korean_Won ₩ WON SIGN */
{
0 x13bc,
0 x0152 },
/* OE Œ LATIN CAPITAL LIGATURE OE */
{
0 x13bd,
0 x0153 },
/* oe œ LATIN SMALL LIGATURE OE */
{
0 x13be,
0 x0178 },
/* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */
{
0 x20a0,
0 x20a0 },
/* EcuSign ₠ EURO-CURRENCY SIGN */
{
0 x20a1,
0 x20a1 },
/* ColonSign ₡ COLON SIGN */
{
0 x20a2,
0 x20a2 },
/* CruzeiroSign ₢ CRUZEIRO SIGN */
{
0 x20a3,
0 x20a3 },
/* FFrancSign ₣ FRENCH FRANC SIGN */
{
0 x20a4,
0 x20a4 },
/* LiraSign ₤ LIRA SIGN */
{
0 x20a5,
0 x20a5 },
/* MillSign ₥ MILL SIGN */
{
0 x20a6,
0 x20a6 },
/* NairaSign ₦ NAIRA SIGN */
{
0 x20a7,
0 x20a7 },
/* PesetaSign ₧ PESETA SIGN */
{
0 x20a8,
0 x20a8 },
/* RupeeSign ₨ RUPEE SIGN */
{
0 x20a9,
0 x20a9 },
/* WonSign ₩ WON SIGN */
{
0 x20aa,
0 x20aa },
/* NewSheqelSign ₪ NEW SHEQEL SIGN */
{
0 x20ab,
0 x20ab },
/* DongSign ₫ DONG SIGN */
{
0 x20ac,
0 x20ac },
/* EuroSign € EURO SIGN */
// clang-format on
};
long keysym2ucs(KeySym keysym) {
int min =
0 ;
int max =
sizeof (keysymtab) /
sizeof (
struct codepair) -
1 ;
int mid;
/* first check for Latin-1 characters (1:1 mapping) */
if ((keysym >=
0 x0020 && keysym <=
0 x007e) ||
(keysym >=
0 x00a0 && keysym <=
0 x00ff))
return keysym;
/* also check for directly encoded 24-bit UCS characters */
if ((keysym &
0 xff000000) ==
0 x01000000)
return keysym &
0 x00ffffff;
/* binary search in table */
while (max >= min) {
mid = (min + max) /
2 ;
if (keysymtab[mid].keysym < keysym)
min = mid +
1 ;
else if (keysymtab[mid].keysym > keysym)
max = mid -
1 ;
else {
/* found it */
return keysymtab[mid].ucs;
}
}
/* no matching Unicode value found */
return -
1 ;
}
Messung V0.5 in Prozent C=9 H=92 G=64
¤ Dauer der Verarbeitung: 0.22 Sekunden
(vorverarbeitet am 2026-09-29)
¤
*© Formatika GbR, Deutschland