blob: fae1a399045705ac3c3a2fec2bc5a14744a14f6e [file] [log] [blame]
/* This header file is #include'd by g_cntrlify.c. It is a database rather
than a true header file: it includes information on characters in the
JIS X 0208 two-byte encoding (containing Kanji, Kana, Roman letters,
Greek letters, Cyrillic letters, etc). */
/* Whether a JIS index (two bytes) defines a JIS character, irrespective of
whether we have a glyph for it. (If it isn't a character, it ideally
prints as a zero-width glyph; if it's a character but we don't have it,
it ideally prints as an empty glyph or an `undefined' glyph.) */
#define GOOD_JIS_INDEX(row, col) \
((row) > 0x20 && (row) < 0x7f && (col) > 0x20 && (col) < 0x7f)
#define BEGINNING_OF_KANJI 0x3000 /* Kanji afterwards, non-Kanji before */
#ifndef RAW_HERSHEY_GLYPH
#define RAW_HERSHEY_GLYPH 0x4000
#endif
struct kanjipair
{
int jis, nelson;
};
/* The 603 Kanji that we have glyphs for. 1st field is JIS index number;
2nd is Nelson index number, which we use internally (it indexes into the
Hershey oriental glyph array in g_her_glyph.c). For info on
correspondence, see kanji.doc. */
static const struct kanjipair _builtin_kanji_glyphs[] =
{
/* 596 Level 1 Kanji */
/* row 16 */
{0x3021, 43},
{0x3026, 2829},
{0x302d, 62},
{0x3035, 818},
{0x303f, 1802},
{0x3045, 2154},
{0x304c, 401},
{0x3057, 2107},
{0x3059, 138},
{0x305b, 3008},
{0x305e, 3579},
{0x3061, 4214},
{0x306c, 1},
{0x3070, 3294},
{0x3078, 1026},
{0x307a, 1562},
/* row 17 */
{0x3122, 5006},
{0x3126, 878},
{0x3127, 1280},
{0x3129, 3673},
{0x312b, 5042},
{0x3132, 2629},
{0x313b, 2973},
{0x313f, 4725},
{0x3140, 5046},
{0x314a, 130},
{0x3155, 2599},
{0x315f, 617},
{0x3173, 4733},
{0x3176, 1125},
{0x3177, 2083},
{0x317e, 1504},
/* row 18 */
{0x3221, 1885},
{0x3223, 2361},
{0x3226, 2922},
{0x322b, 5399},
{0x322f, 551},
{0x3235, 260},
{0x3239, 2634},
{0x323b, 5110},
{0x323c, 9},
{0x323d, 350},
{0x323f, 409},
{0x3241, 422},
{0x3243, 716},
{0x3244, 24},
{0x3246, 58},
{0x3248, 1311},
{0x324a, 3272},
{0x324c, 107},
{0x324f, 2530},
{0x3250, 2743},
{0x3256, 3909},
{0x3259, 3956},
{0x3261, 4723},
{0x3267, 2848},
{0x3268, 50},
{0x3272, 4306},
{0x3273, 1028},
/* row 19 */
{0x3323, 2264},
{0x3324, 2553},
{0x3326, 2998},
{0x3328, 3537},
{0x332b, 4950},
{0x332d, 4486},
{0x3330, 1168},
{0x3346, 1163},
{0x334b, 2254},
{0x3351, 4301},
{0x3353, 4623},
{0x3357, 5088},
{0x3358, 1271},
{0x335a, 2324},
{0x3364, 703},
/* row 20 */
{0x3424, 2977},
{0x3428, 1322},
{0x342c, 1466},
{0x3433, 1492},
{0x3434, 790},
{0x3436, 1731},
{0x3437, 1756},
{0x3445, 2988},
{0x3449, 3416},
{0x3454, 4750},
{0x3456, 4949},
{0x3458, 4958},
{0x346f, 994},
{0x3470, 1098},
{0x3476, 1496},
{0x347c, 3785},
/* row 21 */
{0x3521, 2379},
{0x3522, 1582},
{0x3524, 2480},
{0x3525, 2507},
{0x352d, 4318},
{0x3530, 4610},
{0x3534, 5276},
{0x3535, 5445},
{0x3546, 3981},
{0x3555, 4685},
{0x355a, 154},
{0x355b, 885},
{0x355d, 1560},
{0x3565, 2941},
{0x3566, 3314},
{0x3569, 3496},
{0x356d, 2852},
{0x356e, 1051},
{0x356f, 1387},
{0x3575, 4109},
{0x3577, 4548},
{0x357b, 5281},
{0x357e, 295},
/* row 22 */
{0x3621, 431},
{0x3626, 581},
{0x362d, 1135},
{0x362f, 1571},
{0x3635, 2052},
{0x3636, 2378},
{0x364a, 103},
{0x364b, 2305},
{0x364c, 2923},
{0x3651, 1065},
{0x3661, 4671},
{0x3662, 4815},
{0x3664, 4855},
{0x3665, 146},
{0x3671, 3128},
{0x3675, 3317},
{0x367e, 1386},
/* row 23 */
{0x3738, 449},
{0x3739, 534},
{0x373e, 2937},
{0x373f, 1077},
{0x3741, 1589},
{0x3742, 1602},
{0x374f, 195},
{0x3750, 3523},
{0x3757, 4312},
{0x375a, 4620},
{0x3767, 2412},
{0x3768, 2509},
{0x376a, 3313},
{0x376b, 3540},
{0x376c, 4205},
{0x376e, 2169},
{0x3777, 1045},
/* row 24 */
{0x3824, 2868},
{0x3826, 3180},
{0x3828, 3543},
{0x382b, 4284},
{0x3833, 5220},
{0x3835, 275},
{0x3836, 825},
{0x3839, 1568},
{0x383a, 2637},
{0x383b, 2656},
{0x383d, 2943},
{0x3840, 4309},
{0x3842, 4987},
{0x3845, 770},
{0x3847, 1036},
{0x384c, 1567},
{0x384d, 1817},
{0x384e, 2044},
{0x385d, 5415},
{0x385e, 15},
{0x3861, 162},
{0x3865, 1610},
{0x3866, 1628},
{0x386c, 4374},
{0x3872, 290},
{0x3877, 1358},
{0x3878, 579},
{0x387d, 868},
{0x387e, 101},
/* row 25 */
{0x3929, 1451},
{0x3931, 1683},
{0x393d, 2343},
{0x3943, 92},
{0x394d, 3684},
{0x3954, 4213},
{0x3955, 1641},
{0x395b, 4843},
{0x395d, 4883},
{0x395f, 4994},
{0x3960, 1459},
{0x3961, 5188},
{0x3962, 5248},
{0x3966, 882},
{0x3967, 383},
{0x3971, 1037},
{0x3975, 5403},
{0x397c, 5236},
{0x397e, 4660},
/* row 26 */
{0x3a21, 2430},
{0x3a23, 352},
{0x3a2c, 2261},
{0x3a38, 1455},
{0x3a39, 3662},
{0x3a42, 1515},
{0x3a46, 35},
{0x3a47, 2146},
{0x3a59, 3522},
{0x3a5f, 1055},
{0x3a6e, 407},
{0x3a72, 2119},
{0x3a79, 2256},
/* row 27 */
{0x3b2e, 3113},
{0x3b30, 8},
{0x3b33, 1407},
{0x3b36, 2056},
{0x3b3b, 3415},
{0x3b40, 4789},
{0x3b45, 362},
{0x3b4d, 1025},
{0x3b4e, 1160},
{0x3b4f, 1208},
{0x3b52, 1264},
{0x3b54, 284},
{0x3b57, 3001},
{0x3b58, 1904},
{0x3b59, 2039},
{0x3b5e, 2211},
{0x3b5f, 2429},
{0x3b60, 2439},
{0x3b61, 2478},
{0x3b64, 3265},
{0x3b65, 3492},
{0x3b66, 3510},
{0x3b6a, 3845},
{0x3b73, 2435},
{0x3b75, 5428},
{0x3b76, 272},
{0x3b7a, 1281},
{0x3b7d, 1903},
{0x3b7e, 2126},
/* row 28 */
{0x3c21, 638},
{0x3c27, 3209},
{0x3c28, 3228},
{0x3c2a, 3697},
{0x3c2b, 3841},
{0x3c2d, 3860},
{0x3c2f, 5375},
{0x3c30, 1556},
{0x3c34, 4619},
{0x3c37, 261},
{0x3c3c, 1300},
{0x3c3e, 2631},
{0x3c41, 4518},
{0x3c42, 1297},
{0x3c4d, 4603},
{0x3c50, 2074},
{0x3c54, 3685},
{0x3c56, 4608},
{0x3c5c, 1377},
{0x3c61, 4809},
{0x3c63, 3926},
{0x3c67, 285},
{0x3c68, 3699},
{0x3c6a, 1827},
{0x3c6f, 3295},
{0x3c72, 2573},
{0x3c73, 5186},
{0x3c7e, 622},
/* row 29 */
{0x3d29, 3273},
{0x3d2a, 3521},
{0x3d2e, 3863},
{0x3d39, 4798},
{0x3d3d, 768},
{0x3d3e, 1613},
{0x3d44, 3597},
{0x3d45, 224},
{0x3d50, 97},
{0x3d51, 1621},
{0x3d55, 2122},
{0x3d60, 791},
{0x3d63, 3509},
{0x3d68, 1162},
{0x3d6b, 2138},
{0x3d71, 3719},
{0x3d77, 1185},
{0x3d7c, 4993},
/* row 30 */
{0x3e26, 321},
{0x3e2e, 1355},
{0x3e2f, 166},
{0x3e3d, 2137},
{0x3e3e, 2212},
{0x3e46, 2772},
{0x3e4b, 3192},
{0x3e4e, 3280},
{0x3e57, 1638},
{0x3e5a, 4341},
{0x3e5d, 4472},
{0x3e65, 798},
{0x3e68, 223},
{0x3e6c, 1113},
{0x3e6f, 1364},
{0x3e75, 2839},
{0x3e78, 4002},
/* row 31 */
{0x3f22, 2303},
{0x3f27, 3889},
{0x3f29, 5154},
{0x3f2d, 403},
{0x3f34, 1645},
{0x3f36, 1920},
{0x3f37, 2080},
{0x3f39, 2301},
{0x3f3f, 783},
{0x3f43, 3837},
{0x3f48, 4601},
{0x3f49, 4646},
{0x3f4a, 4709},
{0x3f4c, 5055},
{0x3f4d, 339},
{0x3f5e, 1034},
{0x3f62, 211},
{0x3f65, 2482},
{0x3f69, 3676},
{0x3f74, 2057},
/* row 32 */
{0x402d, 1666},
{0x402e, 1799},
{0x4030, 2436},
{0x4031, 2121},
{0x4032, 2143},
{0x4035, 27},
{0x4038, 2991},
{0x403e, 4273},
{0x4044, 5076},
{0x4045, 5077},
{0x404e, 2108},
{0x404f, 2194},
{0x4050, 3176},
{0x4051, 3306},
{0x4056, 4534},
{0x405a, 667},
{0x405c, 1951},
{0x405e, 1855},
{0x4063, 5044},
{0x4064, 3539},
{0x4065, 3855},
{0x4068, 571},
{0x4069, 156},
{0x406e, 1447},
{0x4070, 1823},
{0x407e, 3580},
/* row 33 */
{0x4125, 3873},
{0x4130, 595},
{0x4133, 2770},
{0x4134, 384},
{0x4147, 3511},
{0x4148, 3520},
{0x4150, 859},
{0x4158, 1402},
{0x415b, 1728},
{0x4161, 2100},
{0x416a, 2241},
{0x416d, 3567},
{0x4170, 3939},
{0x4175, 4234},
{0x4176, 4539},
{0x417c, 540},
{0x417d, 1137},
/* row 34 */
{0x4224, 4701},
{0x4226, 509},
{0x422b, 196},
{0x422c, 2632},
{0x422d, 4546},
{0x422e, 4700},
{0x4233, 3544},
{0x4236, 590},
{0x4238, 1267},
{0x423e, 361},
{0x423f, 1169},
{0x4240, 1172},
{0x424a, 2313},
{0x424e, 405},
{0x4250, 2067},
{0x4256, 1743},
{0x4265, 364},
{0x4267, 1171},
{0x4268, 3385},
{0x426a, 2164},
{0x426c, 2655},
{0x4274, 2503},
/* row 35 */
{0x4323, 4721},
{0x432b, 4458},
{0x432f, 4384},
{0x4331, 139},
{0x433a, 1418},
{0x433b, 3172},
{0x4346, 1575},
{0x434b, 2996},
{0x434d, 488},
{0x434e, 3169},
{0x434f, 1056},
{0x4356, 3644},
{0x4359, 4722},
{0x435d, 3366},
{0x4362, 3325},
{0x4363, 3940},
{0x4365, 3665},
{0x4366, 81},
{0x4368, 1291},
{0x436b, 53},
{0x436c, 2236},
{0x436e, 4115},
/* row 36 */
{0x442b, 3788},
{0x442c, 2702},
{0x4436, 4543},
{0x4439, 4938},
{0x443b, 5340},
{0x443e, 775},
{0x444c, 4703},
{0x4463, 406},
{0x446a, 1296},
{0x446c, 1508},
{0x446d, 1514},
{0x4472, 1914},
{0x4478, 3285},
{0x4479, 3581},
/* row 37 */
{0x4526, 1987},
{0x452a, 3097},
{0x452f, 931},
{0x4534, 4844},
{0x4535, 588},
{0x4537, 16},
{0x453e, 4615},
{0x4540, 804},
{0x4544, 2994},
{0x4545, 5050},
{0x454c, 1614},
{0x4559, 1511},
{0x455a, 1050},
{0x455f, 1161},
{0x4561, 665},
{0x4563, 1109},
{0x4567, 230},
{0x456c, 213},
{0x4574, 2745},
{0x4576, 1359},
{0x4579, 3396},
/* row 38 */
{0x4626, 4465},
{0x4630, 730},
{0x4631, 619},
{0x4633, 1354},
{0x463b, 4724},
{0x463c, 4853},
{0x4643, 2860},
{0x4649, 4375},
{0x465e, 2160},
{0x4662, 82},
{0x466e, 778},
{0x4671, 5038},
{0x4673, 273},
{0x4679, 3724},
{0x467c, 2097},
{0x467e, 574},
/* row 39 */
{0x4721, 1189},
{0x472e, 2797},
{0x472f, 188},
{0x4733, 2808},
{0x4734, 3472},
{0x4748, 2529},
{0x474f, 5191},
{0x4769, 3275},
{0x4772, 3095},
{0x477e, 5385},
/* row 40 */
{0x4821, 49},
{0x482c, 577},
{0x482f, 3092},
{0x483e, 132},
{0x483f, 817},
{0x4841, 1469},
{0x484c, 3865},
{0x4856, 4811},
{0x4860, 1604},
{0x4866, 2470},
{0x4869, 3109},
{0x4873, 5080},
{0x4874, 5152},
{0x4878, 1383},
{0x4879, 1631},
{0x487e, 3658},
/* row 41 */
{0x4921, 5421},
{0x492e, 3397},
{0x4934, 33},
{0x4938, 2359},
{0x4939, 131},
{0x493d, 108},
{0x4942, 3042},
{0x4943, 3271},
{0x494a, 923},
{0x4954, 17},
{0x495b, 1468},
{0x4963, 2832},
{0x4969, 4488},
{0x4977, 5148},
{0x497d, 1484},
/* row 42 */
{0x4a23, 4255},
{0x4a26, 173},
{0x4a2a, 2857},
{0x4a2c, 578},
{0x4a38, 2064},
{0x4a39, 4959},
{0x4a3f, 26},
{0x4a42, 589},
{0x4a44, 4945},
{0x4a46, 3461},
{0x4a50, 511},
{0x4a51, 306},
{0x4a52, 2842},
{0x4a55, 4661},
{0x4a6c, 2466},
{0x4a7c, 2084},
{0x4a7d, 2082},
/* row 43 */
{0x4b21, 2535},
{0x4b26, 3749},
{0x4b4c, 751},
{0x4b4f, 5404},
{0x4b5c, 96},
{0x4b63, 5390},
{0x4b68, 2467},
{0x4b74, 855},
{0x4b7c, 7},
/* row 44 */
{0x4c23, 913},
{0x4c24, 179},
{0x4c29, 1316},
{0x4c35, 2773},
{0x4c37, 3164},
{0x4c3e, 1170},
{0x4c40, 2110},
{0x4c4c, 5087},
{0x4c53, 2473},
{0x4c5a, 2170},
{0x4c5c, 3127},
{0x4c64, 4944},
{0x4c67, 4940},
{0x4c6b, 298},
{0x4c70, 3168},
{0x4c72, 1598},
{0x4c74, 4074},
{0x4c78, 2233},
{0x4c7d, 2534},
/* row 45 */
{0x4d2d, 3727},
{0x4d30, 2565},
{0x4d3a, 5030},
{0x4d3c, 1167},
{0x4d3e, 408},
{0x4d4f, 2659},
{0x4d51, 2993},
{0x4d53, 3656},
{0x4d55, 4001},
{0x4d57, 4274},
{0x4d5b, 5012},
{0x4d63, 3680},
{0x4d68, 202},
{0x4d6b, 5049},
{0x4d70, 3856},
{0x4d71, 199},
{0x4d72, 1431},
{0x4d78, 3264},
{0x4d7d, 2942},
/* row 46 */
{0x4e24, 4813},
{0x4e25, 5040},
{0x4e26, 5005},
{0x4e28, 319},
{0x4e29, 3343},
{0x4e2e, 2576},
{0x4e32, 3191},
{0x4e33, 3471},
{0x4e35, 5440},
{0x4e3e, 34},
{0x4e41, 3468},
{0x4e49, 3885},
{0x4e4c, 2141},
{0x4e4f, 715},
{0x4e53, 2210},
{0x4e55, 2807},
{0x4e58, 4630},
{0x4e60, 5138},
{0x4e63, 428},
{0x4e64, 642},
{0x4e6d, 5048},
{0x4e6e, 5056},
{0x4e73, 2438},
/* row 47 */
{0x4f22, 4702},
{0x4f27, 2750},
{0x4f29, 4561},
{0x4f37, 3683},
{0x4f3b, 283},
{0x4f40, 4391},
{0x4f42, 3268},
{0x4f43, 4358},
{0x4f44, 54},
{0x4f47, 1710},
/* 7 additional Level 2 Kanji */
{0x534c, 973}, /* row 51 */
{0x5879, 1794}, /* row 56 */
{0x5960, 1942}, /* row 57 */
{0x626f, 3200}, /* row 66 */
{0x6446, 3458}, /* row 68 */
{0x6647, 5083}, /* row 70 */
{0x6d55, 4633}, /* row 77 */
{0, 0}
};
/* Non-Kanji characters in the JIS character set. We map nearly all of
these into characters (in the 0..255 range) in our existing fonts, which
are laid out in g_fontdb.c. If RAW_HERSHEY_GLYPH bit is set, the font
is ignored, since the character is to be mapped directly to a Hershey
glyph (presumably one that appears in no font). */
struct jis_entry
{
int jis, font;
unsigned short charnum;
};
static const struct jis_entry _builtin_jis_chars[] =
{
/* Row 1 [misc.] */
{0x2121, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4399}, /* full-width space */
{0x2122, HERSHEY_HIRAGANA, 0x79},
{0x2123, HERSHEY_HIRAGANA, 0x7a},
{0x2124, HERSHEY_SERIF, ','},
{0x2125, HERSHEY_SERIF, '.'},
{0x2126, HERSHEY_SERIF, 0xb7},
{0x2127, HERSHEY_SERIF, ':'},
{0x2128, HERSHEY_SERIF, ';'},
{0x2129, HERSHEY_SERIF, '?'},
{0x212a, HERSHEY_SERIF, '!'},
/* 0x212b..0x212c are Japanese diacritics, shifted left */
{0x212d, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4180},
{0x212e, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4181},
{0x212f, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4182},
{0x2130, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4184},
{0x2131, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4008},
{0x2132, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4012},
/* 0x2133..0x213a are Japanese characters */
{0x213b, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 903},
{0x213c, HERSHEY_KATAKANA, 0x78},
{0x213d, HERSHEY_SERIF, '-'},
{0x213e, HERSHEY_SERIF, 0xad},
{0x213f, HERSHEY_SERIF, '/'},
{0x2140, HERSHEY_SERIF, '\\'},
{0x2141, HERSHEY_SERIF, '~'},
{0x2142, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2230},
{0x2143, HERSHEY_SERIF, '|'},
{0x2144, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 276},
{0x2145, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 238},
{0x2146, HERSHEY_SERIF, '`'},
{0x2147, HERSHEY_SERIF, '\''},
{0x2148, HERSHEY_SERIF, '`'}, /* should be double quotes, fixme */
{0x2149, HERSHEY_SERIF, '\''}, /* same */
{0x214a, HERSHEY_SERIF, '('},
{0x214b, HERSHEY_SERIF, ')'},
{0x214c, HERSHEY_SERIF, '['}, /* should be `bent' brackets, fixme */
{0x214d, HERSHEY_SERIF, ']'}, /* same */
{0x214e, HERSHEY_SERIF, '['},
{0x214f, HERSHEY_SERIF, ']'},
{0x2150, HERSHEY_SERIF, '{'},
{0x2151, HERSHEY_SERIF, '}'},
{0x2152, HERSHEY_SERIF_SYMBOL, 0xe1},
{0x2153, HERSHEY_SERIF_SYMBOL, 0xf1},
/* 0x2154..0x2155 are double angle brackets */
{0x2156, HERSHEY_SERIF_SYMBOL, 0xe9},
{0x2157, HERSHEY_SERIF_SYMBOL, 0xfb},
{0x2158, HERSHEY_SERIF_SYMBOL, 0xe9}, /* should be outlined \lc and \rf, fixme */
{0x2159, HERSHEY_SERIF_SYMBOL, 0xfb}, /* same */
{0x215a, HERSHEY_SERIF_BOLD, '['}, /* shouldn't be ordinary bold brackets, fixme */
{0x215b, HERSHEY_SERIF_BOLD, ']'}, /* same */
{0x215c, HERSHEY_SERIF, '+'},
{0x215d, HERSHEY_SERIF, '-'},
{0x215e, HERSHEY_SERIF_SYMBOL, 0xb1},
{0x215f, HERSHEY_SERIF, 0xd7},
{0x2160, HERSHEY_SERIF, 0xf7},
{0x2161, HERSHEY_SERIF, '='},
{0x2162, HERSHEY_SERIF_SYMBOL, 0xb9},
{0x2163, HERSHEY_SERIF, '<'},
{0x2164, HERSHEY_SERIF, '>'},
{0x2165, HERSHEY_SERIF_SYMBOL, 0xa3},
{0x2166, HERSHEY_SERIF_SYMBOL, 0xb3},
{0x2167, HERSHEY_SERIF_SYMBOL, 0xa5},
{0x2168, HERSHEY_SERIF_SYMBOL, 0x5c},
{0x2169, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2285},
{0x216a, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2283},
{0x216b, HERSHEY_SERIF_SYMBOL, 0xb0},
{0x216c, HERSHEY_SERIF_SYMBOL, 0xa2},
{0x216d, HERSHEY_SERIF_SYMBOL, 0xb2},
/* 0x216e is degrees centigrade */
{0x216f, HERSHEY_SERIF, 0xa5},
{0x2170, HERSHEY_SERIF, '$'},
{0x2171, HERSHEY_SERIF, 0xa2},
{0x2172, HERSHEY_SERIF, 0xa3},
{0x2173, HERSHEY_SERIF, '%'},
{0x2174, HERSHEY_SERIF, '#'},
{0x2175, HERSHEY_SERIF, '&'},
{0x2176, HERSHEY_SERIF, '*'},
{0x2177, HERSHEY_SERIF, '@'},
{0x2178, HERSHEY_SERIF, 0xa7},
{0x2179, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 844},
{0x217a, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 856},
{0x217b, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 901},
{0x217c, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 850}, /* should be filled circle */
{0x217d, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4109},
{0x217e, HERSHEY_SERIF_SYMBOL, 0xe0}, /* lozenge rather than square; OK? */
/* Row 2 [misc.] */
/* 0x2220..0x2229 are mostly squares, triangles */
{0x222a, HERSHEY_SERIF_SYMBOL, 0xae},
{0x222b, HERSHEY_SERIF_SYMBOL, 0xac},
{0x222c, HERSHEY_SERIF_SYMBOL, 0xad},
{0x222d, HERSHEY_SERIF_SYMBOL, 0xaf},
{0x222d, HERSHEY_SERIF_BOLD, '='}, /* 0x222e is two bold horizontal strokes, NOT bold = */
{0x223a, HERSHEY_SERIF_SYMBOL, 0xce},
{0x223b, HERSHEY_SERIF_SYMBOL, RAW_HERSHEY_GLYPH + 282},
{0x223c, HERSHEY_SERIF_SYMBOL, 0xcd},
{0x223d, HERSHEY_SERIF_SYMBOL, 0xca},
{0x223e, HERSHEY_SERIF_SYMBOL, 0xcc},
{0x223f, HERSHEY_SERIF_SYMBOL, 0xc9},
{0x2240, HERSHEY_SERIF_SYMBOL, 0xc8},
{0x2241, HERSHEY_SERIF_SYMBOL, 0xc7},
{0x224a, HERSHEY_SERIF_SYMBOL, 0xd9},
{0x224b, HERSHEY_SERIF_SYMBOL, 0xda},
{0x224c, HERSHEY_SERIF, 0xac},
{0x224d, HERSHEY_SERIF_SYMBOL, 0xde},
{0x224e, HERSHEY_SERIF_SYMBOL, 0xdb},
{0x224f, HERSHEY_SERIF_SYMBOL, 0x22},
{0x2250, HERSHEY_SERIF_SYMBOL, 0x24},
{0x225c, HERSHEY_SERIF_SYMBOL, 0xb0},
{0x225d, HERSHEY_SERIF_SYMBOL, 0x5e},
{0x225e, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4008},
{0x225f, HERSHEY_SERIF_SYMBOL, 0xb6},
{0x2260, HERSHEY_SERIF_SYMBOL, 0xd1},
{0x2261, HERSHEY_SERIF_SYMBOL, 0xba},
{0x2262, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 276},
/* 0x2263..0x2264 are \ll and \gg */
{0x2265, HERSHEY_SERIF_SYMBOL, 0xd6},
{0x2266, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4133},
{0x2267, HERSHEY_SERIF_SYMBOL, 0xb5},
{0x2268, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 4132},
{0x2269, HERSHEY_SERIF_SYMBOL, 0xf2},
/* 0x2270 is a double integral */
{0x2272, HERSHEY_SERIF, 0xc5},
/* 0x2273 is perthousand */
{0x2274, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2323},
{0x2275, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2325},
/* 0x2276 is an eighth note */
{0x2277, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2277},
{0x2278, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 2278},
{0x2279, HERSHEY_SERIF, 0xb6},
{0x227e, HERSHEY_SERIF, RAW_HERSHEY_GLYPH + 905},
/* Row 3 [Roman characters], taken from HersheySerif */
{0x2330, HERSHEY_SERIF, '0'},
{0x2331, HERSHEY_SERIF, '1'},
{0x2332, HERSHEY_SERIF, '2'},
{0x2333, HERSHEY_SERIF, '3'},
{0x2334, HERSHEY_SERIF, '4'},
{0x2335, HERSHEY_SERIF, '5'},
{0x2336, HERSHEY_SERIF, '6'},
{0x2337, HERSHEY_SERIF, '7'},
{0x2338, HERSHEY_SERIF, '8'},
{0x2339, HERSHEY_SERIF, '9'},
{0x2341, HERSHEY_SERIF, 'A'},
{0x2342, HERSHEY_SERIF, 'B'},
{0x2343, HERSHEY_SERIF, 'C'},
{0x2344, HERSHEY_SERIF, 'D'},
{0x2345, HERSHEY_SERIF, 'E'},
{0x2346, HERSHEY_SERIF, 'F'},
{0x2347, HERSHEY_SERIF, 'G'},
{0x2348, HERSHEY_SERIF, 'H'},
{0x2349, HERSHEY_SERIF, 'I'},
{0x234a, HERSHEY_SERIF, 'J'},
{0x234b, HERSHEY_SERIF, 'K'},
{0x234c, HERSHEY_SERIF, 'L'},
{0x234d, HERSHEY_SERIF, 'M'},
{0x234e, HERSHEY_SERIF, 'N'},
{0x234f, HERSHEY_SERIF, 'O'},
{0x2350, HERSHEY_SERIF, 'P'},
{0x2351, HERSHEY_SERIF, 'Q'},
{0x2352, HERSHEY_SERIF, 'R'},
{0x2353, HERSHEY_SERIF, 'S'},
{0x2354, HERSHEY_SERIF, 'T'},
{0x2355, HERSHEY_SERIF, 'U'},
{0x2356, HERSHEY_SERIF, 'V'},
{0x2357, HERSHEY_SERIF, 'W'},
{0x2358, HERSHEY_SERIF, 'X'},
{0x2359, HERSHEY_SERIF, 'Y'},
{0x235a, HERSHEY_SERIF, 'Z'},
{0x2361, HERSHEY_SERIF, 'a'},
{0x2362, HERSHEY_SERIF, 'b'},
{0x2363, HERSHEY_SERIF, 'c'},
{0x2364, HERSHEY_SERIF, 'd'},
{0x2365, HERSHEY_SERIF, 'e'},
{0x2366, HERSHEY_SERIF, 'f'},
{0x2367, HERSHEY_SERIF, 'g'},
{0x2368, HERSHEY_SERIF, 'h'},
{0x2369, HERSHEY_SERIF, 'i'},
{0x236a, HERSHEY_SERIF, 'j'},
{0x236b, HERSHEY_SERIF, 'k'},
{0x236c, HERSHEY_SERIF, 'l'},
{0x236d, HERSHEY_SERIF, 'm'},
{0x236e, HERSHEY_SERIF, 'n'},
{0x236f, HERSHEY_SERIF, 'o'},
{0x2370, HERSHEY_SERIF, 'p'},
{0x2371, HERSHEY_SERIF, 'q'},
{0x2372, HERSHEY_SERIF, 'r'},
{0x2373, HERSHEY_SERIF, 's'},
{0x2374, HERSHEY_SERIF, 't'},
{0x2375, HERSHEY_SERIF, 'u'},
{0x2376, HERSHEY_SERIF, 'v'},
{0x2377, HERSHEY_SERIF, 'w'},
{0x2378, HERSHEY_SERIF, 'x'},
{0x2379, HERSHEY_SERIF, 'y'},
{0x237a, HERSHEY_SERIF, 'z'},
/* Row 4 [Hiragana], taken from HersheyHiragana. */
{0x2421, HERSHEY_HIRAGANA, 0x21},
{0x2422, HERSHEY_HIRAGANA, 0x22},
{0x2423, HERSHEY_HIRAGANA, 0x23},
{0x2424, HERSHEY_HIRAGANA, 0x24},
{0x2425, HERSHEY_HIRAGANA, 0x25},
{0x2426, HERSHEY_HIRAGANA, 0x26},
{0x2427, HERSHEY_HIRAGANA, 0x27},
{0x2428, HERSHEY_HIRAGANA, 0x28},
{0x2429, HERSHEY_HIRAGANA, 0x29},
{0x242a, HERSHEY_HIRAGANA, 0x2a},
{0x242b, HERSHEY_HIRAGANA, 0x2b},
{0x242c, HERSHEY_HIRAGANA, 0x2c},
{0x242d, HERSHEY_HIRAGANA, 0x2d},
{0x242e, HERSHEY_HIRAGANA, 0x2e},
{0x242f, HERSHEY_HIRAGANA, 0x2f},
{0x2430, HERSHEY_HIRAGANA, 0x30},
{0x2431, HERSHEY_HIRAGANA, 0x31},
{0x2432, HERSHEY_HIRAGANA, 0x32},
{0x2433, HERSHEY_HIRAGANA, 0x33},
{0x2434, HERSHEY_HIRAGANA, 0x34},
{0x2435, HERSHEY_HIRAGANA, 0x35},
{0x2436, HERSHEY_HIRAGANA, 0x36},
{0x2437, HERSHEY_HIRAGANA, 0x37},
{0x2438, HERSHEY_HIRAGANA, 0x38},
{0x2439, HERSHEY_HIRAGANA, 0x39},
{0x243a, HERSHEY_HIRAGANA, 0x3a},
{0x243b, HERSHEY_HIRAGANA, 0x3b},
{0x243c, HERSHEY_HIRAGANA, 0x3c},
{0x243d, HERSHEY_HIRAGANA, 0x3d},
{0x243e, HERSHEY_HIRAGANA, 0x3e},
{0x243f, HERSHEY_HIRAGANA, 0x3f},
{0x2440, HERSHEY_HIRAGANA, 0x40},
{0x2441, HERSHEY_HIRAGANA, 0x41},
{0x2442, HERSHEY_HIRAGANA, 0x42},
{0x2443, HERSHEY_HIRAGANA, 0x43},
{0x2444, HERSHEY_HIRAGANA, 0x44},
{0x2445, HERSHEY_HIRAGANA, 0x45},
{0x2446, HERSHEY_HIRAGANA, 0x46},
{0x2447, HERSHEY_HIRAGANA, 0x47},
{0x2448, HERSHEY_HIRAGANA, 0x48},
{0x2449, HERSHEY_HIRAGANA, 0x49},
{0x244a, HERSHEY_HIRAGANA, 0x4a},
{0x244b, HERSHEY_HIRAGANA, 0x4b},
{0x244c, HERSHEY_HIRAGANA, 0x4c},
{0x244d, HERSHEY_HIRAGANA, 0x4d},
{0x244e, HERSHEY_HIRAGANA, 0x4e},
{0x244f, HERSHEY_HIRAGANA, 0x4f},
{0x2450, HERSHEY_HIRAGANA, 0x50},
{0x2451, HERSHEY_HIRAGANA, 0x51},
{0x2452, HERSHEY_HIRAGANA, 0x52},
{0x2453, HERSHEY_HIRAGANA, 0x53},
{0x2454, HERSHEY_HIRAGANA, 0x54},
{0x2455, HERSHEY_HIRAGANA, 0x55},
{0x2456, HERSHEY_HIRAGANA, 0x56},
{0x2457, HERSHEY_HIRAGANA, 0x57},
{0x2458, HERSHEY_HIRAGANA, 0x58},
{0x2459, HERSHEY_HIRAGANA, 0x59},
{0x245a, HERSHEY_HIRAGANA, 0x5a},
{0x245b, HERSHEY_HIRAGANA, 0x5b},
{0x245c, HERSHEY_HIRAGANA, 0x5c},
{0x245d, HERSHEY_HIRAGANA, 0x5d},
{0x245e, HERSHEY_HIRAGANA, 0x5e},
{0x245f, HERSHEY_HIRAGANA, 0x5f},
{0x2460, HERSHEY_HIRAGANA, 0x60},
{0x2461, HERSHEY_HIRAGANA, 0x61},
{0x2462, HERSHEY_HIRAGANA, 0x62},
{0x2463, HERSHEY_HIRAGANA, 0x63},
{0x2464, HERSHEY_HIRAGANA, 0x64},
{0x2465, HERSHEY_HIRAGANA, 0x65},
{0x2466, HERSHEY_HIRAGANA, 0x66},
{0x2467, HERSHEY_HIRAGANA, 0x67},
{0x2468, HERSHEY_HIRAGANA, 0x68},
{0x2469, HERSHEY_HIRAGANA, 0x69},
{0x246a, HERSHEY_HIRAGANA, 0x6a},
{0x246b, HERSHEY_HIRAGANA, 0x6b},
{0x246c, HERSHEY_HIRAGANA, 0x6c},
{0x246d, HERSHEY_HIRAGANA, 0x6d},
{0x246e, HERSHEY_HIRAGANA, 0x6e},
{0x246f, HERSHEY_HIRAGANA, 0x6f},
{0x2470, HERSHEY_HIRAGANA, 0x70},
{0x2471, HERSHEY_HIRAGANA, 0x71},
{0x2472, HERSHEY_HIRAGANA, 0x72},
{0x2473, HERSHEY_HIRAGANA, 0x73},
/* Row 5 [Katakana], taken from HersheyKatakana. */
{0x2521, HERSHEY_KATAKANA, 0x21},
{0x2522, HERSHEY_KATAKANA, 0x22},
{0x2523, HERSHEY_KATAKANA, 0x23},
{0x2524, HERSHEY_KATAKANA, 0x24},
{0x2525, HERSHEY_KATAKANA, 0x25},
{0x2526, HERSHEY_KATAKANA, 0x26},
{0x2527, HERSHEY_KATAKANA, 0x27},
{0x2528, HERSHEY_KATAKANA, 0x28},
{0x2529, HERSHEY_KATAKANA, 0x29},
{0x252a, HERSHEY_KATAKANA, 0x2a},
{0x252b, HERSHEY_KATAKANA, 0x2b},
{0x252c, HERSHEY_KATAKANA, 0x2c},
{0x252d, HERSHEY_KATAKANA, 0x2d},
{0x252e, HERSHEY_KATAKANA, 0x2e},
{0x252f, HERSHEY_KATAKANA, 0x2f},
{0x2530, HERSHEY_KATAKANA, 0x30},
{0x2531, HERSHEY_KATAKANA, 0x31},
{0x2532, HERSHEY_KATAKANA, 0x32},
{0x2533, HERSHEY_KATAKANA, 0x33},
{0x2534, HERSHEY_KATAKANA, 0x34},
{0x2535, HERSHEY_KATAKANA, 0x35},
{0x2536, HERSHEY_KATAKANA, 0x36},
{0x2537, HERSHEY_KATAKANA, 0x37},
{0x2538, HERSHEY_KATAKANA, 0x38},
{0x2539, HERSHEY_KATAKANA, 0x39},
{0x253a, HERSHEY_KATAKANA, 0x3a},
{0x253b, HERSHEY_KATAKANA, 0x3b},
{0x253c, HERSHEY_KATAKANA, 0x3c},
{0x253d, HERSHEY_KATAKANA, 0x3d},
{0x253e, HERSHEY_KATAKANA, 0x3e},
{0x253f, HERSHEY_KATAKANA, 0x3f},
{0x2540, HERSHEY_KATAKANA, 0x40},
{0x2541, HERSHEY_KATAKANA, 0x41},
{0x2542, HERSHEY_KATAKANA, 0x42},
{0x2543, HERSHEY_KATAKANA, 0x43},
{0x2544, HERSHEY_KATAKANA, 0x44},
{0x2545, HERSHEY_KATAKANA, 0x45},
{0x2546, HERSHEY_KATAKANA, 0x46},
{0x2547, HERSHEY_KATAKANA, 0x47},
{0x2548, HERSHEY_KATAKANA, 0x48},
{0x2549, HERSHEY_KATAKANA, 0x49},
{0x254a, HERSHEY_KATAKANA, 0x4a},
{0x254b, HERSHEY_KATAKANA, 0x4b},
{0x254c, HERSHEY_KATAKANA, 0x4c},
{0x254d, HERSHEY_KATAKANA, 0x4d},
{0x254e, HERSHEY_KATAKANA, 0x4e},
{0x254f, HERSHEY_KATAKANA, 0x4f},
{0x2550, HERSHEY_KATAKANA, 0x50},
{0x2551, HERSHEY_KATAKANA, 0x51},
{0x2552, HERSHEY_KATAKANA, 0x52},
{0x2553, HERSHEY_KATAKANA, 0x53},
{0x2554, HERSHEY_KATAKANA, 0x54},
{0x2555, HERSHEY_KATAKANA, 0x55},
{0x2556, HERSHEY_KATAKANA, 0x56},
{0x2557, HERSHEY_KATAKANA, 0x57},
{0x2558, HERSHEY_KATAKANA, 0x58},
{0x2559, HERSHEY_KATAKANA, 0x59},
{0x255a, HERSHEY_KATAKANA, 0x5a},
{0x255b, HERSHEY_KATAKANA, 0x5b},
{0x255c, HERSHEY_KATAKANA, 0x5c},
{0x255d, HERSHEY_KATAKANA, 0x5d},
{0x255e, HERSHEY_KATAKANA, 0x5e},
{0x255f, HERSHEY_KATAKANA, 0x5f},
{0x2560, HERSHEY_KATAKANA, 0x60},
{0x2561, HERSHEY_KATAKANA, 0x61},
{0x2562, HERSHEY_KATAKANA, 0x62},
{0x2563, HERSHEY_KATAKANA, 0x63},
{0x2564, HERSHEY_KATAKANA, 0x64},
{0x2565, HERSHEY_KATAKANA, 0x65},
{0x2566, HERSHEY_KATAKANA, 0x66},
{0x2567, HERSHEY_KATAKANA, 0x67},
{0x2568, HERSHEY_KATAKANA, 0x68},
{0x2569, HERSHEY_KATAKANA, 0x69},
{0x256a, HERSHEY_KATAKANA, 0x6a},
{0x256b, HERSHEY_KATAKANA, 0x6b},
{0x256c, HERSHEY_KATAKANA, 0x6c},
{0x256d, HERSHEY_KATAKANA, 0x6d},
{0x256e, HERSHEY_KATAKANA, 0x6e},
{0x256f, HERSHEY_KATAKANA, 0x6f},
{0x2570, HERSHEY_KATAKANA, 0x70},
{0x2571, HERSHEY_KATAKANA, 0x71},
{0x2572, HERSHEY_KATAKANA, 0x72},
{0x2573, HERSHEY_KATAKANA, 0x73},
{0x2574, HERSHEY_KATAKANA, 0x74},
{0x2575, HERSHEY_KATAKANA, 0x75},
{0x2576, HERSHEY_KATAKANA, 0x76},
/* Row 6 [Greek characters], taken from HersheySerif-Symbol. */
{0x2621, HERSHEY_SERIF_SYMBOL, 'A'},
{0x2622, HERSHEY_SERIF_SYMBOL, 'B'},
{0x2623, HERSHEY_SERIF_SYMBOL, 'G'},
{0x2624, HERSHEY_SERIF_SYMBOL, 'D'},
{0x2625, HERSHEY_SERIF_SYMBOL, 'E'},
{0x2626, HERSHEY_SERIF_SYMBOL, 'Z'},
{0x2627, HERSHEY_SERIF_SYMBOL, 'H'},
{0x2628, HERSHEY_SERIF_SYMBOL, 'Q'},
{0x2629, HERSHEY_SERIF_SYMBOL, 'I'},
{0x262a, HERSHEY_SERIF_SYMBOL, 'K'},
{0x262b, HERSHEY_SERIF_SYMBOL, 'L'},
{0x262c, HERSHEY_SERIF_SYMBOL, 'M'},
{0x262d, HERSHEY_SERIF_SYMBOL, 'N'},
{0x262e, HERSHEY_SERIF_SYMBOL, 'X'},
{0x262f, HERSHEY_SERIF_SYMBOL, 'O'},
{0x2630, HERSHEY_SERIF_SYMBOL, 'P'},
{0x2631, HERSHEY_SERIF_SYMBOL, 'R'},
{0x2632, HERSHEY_SERIF_SYMBOL, 'S'},
{0x2633, HERSHEY_SERIF_SYMBOL, 'T'},
{0x2634, HERSHEY_SERIF_SYMBOL, 0x80 + '!'}, /* variant upsilon */
{0x2635, HERSHEY_SERIF_SYMBOL, 'F'},
{0x2636, HERSHEY_SERIF_SYMBOL, 'C'},
{0x2637, HERSHEY_SERIF_SYMBOL, 'Y'},
{0x2638, HERSHEY_SERIF_SYMBOL, 'W'},
{0x2641, HERSHEY_SERIF_SYMBOL, 'a'},
{0x2642, HERSHEY_SERIF_SYMBOL, 'b'},
{0x2643, HERSHEY_SERIF_SYMBOL, 'g'},
{0x2644, HERSHEY_SERIF_SYMBOL, 'd'},
{0x2645, HERSHEY_SERIF_SYMBOL, 'e'},
{0x2646, HERSHEY_SERIF_SYMBOL, 'z'},
{0x2647, HERSHEY_SERIF_SYMBOL, 'h'},
{0x2648, HERSHEY_SERIF_SYMBOL, 'q'},
{0x2649, HERSHEY_SERIF_SYMBOL, 'i'},
{0x264a, HERSHEY_SERIF_SYMBOL, 'k'},
{0x264b, HERSHEY_SERIF_SYMBOL, 'l'},
{0x264c, HERSHEY_SERIF_SYMBOL, 'm'},
{0x264d, HERSHEY_SERIF_SYMBOL, 'n'},
{0x264e, HERSHEY_SERIF_SYMBOL, 'x'},
{0x264f, HERSHEY_SERIF_SYMBOL, 'o'},
{0x2650, HERSHEY_SERIF_SYMBOL, 'p'},
{0x2651, HERSHEY_SERIF_SYMBOL, 'r'},
{0x2652, HERSHEY_SERIF_SYMBOL, 's'},
{0x2653, HERSHEY_SERIF_SYMBOL, 't'},
{0x2654, HERSHEY_SERIF_SYMBOL, 'u'},
{0x2655, HERSHEY_SERIF_SYMBOL, 'f'},
{0x2656, HERSHEY_SERIF_SYMBOL, 'c'},
{0x2657, HERSHEY_SERIF_SYMBOL, 'y'},
{0x2658, HERSHEY_SERIF_SYMBOL, 'w'},
/* Row 7 [Cyrillic characters], taken from HersheyCyrillic. The strange
order is because we are mapping to the KOI8-R encoding. */
{0x2721, HERSHEY_CYRILLIC, 0x80 + 'a'},
{0x2722, HERSHEY_CYRILLIC, 0x80 + 'b'},
{0x2723, HERSHEY_CYRILLIC, 0x80 + 'w'},
{0x2724, HERSHEY_CYRILLIC, 0x80 + 'g'},
{0x2725, HERSHEY_CYRILLIC, 0x80 + 'd'},
{0x2726, HERSHEY_CYRILLIC, 0x80 + 'e'},
{0x2727, HERSHEY_CYRILLIC, 0x80 + '3'},
{0x2728, HERSHEY_CYRILLIC, 0x80 + 'v'},
{0x2729, HERSHEY_CYRILLIC, 0x80 + 'z'},
{0x272a, HERSHEY_CYRILLIC, 0x80 + 'i'},
{0x272b, HERSHEY_CYRILLIC, 0x80 + 'j'},
{0x272c, HERSHEY_CYRILLIC, 0x80 + 'k'},
{0x272d, HERSHEY_CYRILLIC, 0x80 + 'l'},
{0x272e, HERSHEY_CYRILLIC, 0x80 + 'm'},
{0x272f, HERSHEY_CYRILLIC, 0x80 + 'n'},
{0x2730, HERSHEY_CYRILLIC, 0x80 + 'o'},
{0x2731, HERSHEY_CYRILLIC, 0x80 + 'p'},
{0x2732, HERSHEY_CYRILLIC, 0x80 + 'r'},
{0x2733, HERSHEY_CYRILLIC, 0x80 + 's'},
{0x2734, HERSHEY_CYRILLIC, 0x80 + 't'},
{0x2735, HERSHEY_CYRILLIC, 0x80 + 'u'},
{0x2736, HERSHEY_CYRILLIC, 0x80 + 'f'},
{0x2737, HERSHEY_CYRILLIC, 0x80 + 'h'},
{0x2738, HERSHEY_CYRILLIC, 0x80 + 'c'},
{0x2739, HERSHEY_CYRILLIC, 0x80 + '~'},
{0x273a, HERSHEY_CYRILLIC, 0x80 + '{'},
{0x273b, HERSHEY_CYRILLIC, 0x80 + '}'},
{0x273c, HERSHEY_CYRILLIC, 0x80 + 0x7f},
{0x273d, HERSHEY_CYRILLIC, 0x80 + 'y'},
{0x273e, HERSHEY_CYRILLIC, 0x80 + 'x'},
{0x273f, HERSHEY_CYRILLIC, 0x80 + '|'},
{0x2740, HERSHEY_CYRILLIC, 0x80 + '`'},
{0x2741, HERSHEY_CYRILLIC, 0x80 + 'q'},
{0x2751, HERSHEY_CYRILLIC, 0x80 + 'A'},
{0x2752, HERSHEY_CYRILLIC, 0x80 + 'B'},
{0x2753, HERSHEY_CYRILLIC, 0x80 + 'W'},
{0x2754, HERSHEY_CYRILLIC, 0x80 + 'G'},
{0x2755, HERSHEY_CYRILLIC, 0x80 + 'D'},
{0x2756, HERSHEY_CYRILLIC, 0x80 + 'E'},
{0x2757, HERSHEY_CYRILLIC, 0x80 + '#'},
{0x2758, HERSHEY_CYRILLIC, 0x80 + 'V'},
{0x2759, HERSHEY_CYRILLIC, 0x80 + 'Z'},
{0x275a, HERSHEY_CYRILLIC, 0x80 + 'I'},
{0x275b, HERSHEY_CYRILLIC, 0x80 + 'J'},
{0x275c, HERSHEY_CYRILLIC, 0x80 + 'K'},
{0x275d, HERSHEY_CYRILLIC, 0x80 + 'L'},
{0x275e, HERSHEY_CYRILLIC, 0x80 + 'M'},
{0x275f, HERSHEY_CYRILLIC, 0x80 + 'N'},
{0x2760, HERSHEY_CYRILLIC, 0x80 + 'O'},
{0x2761, HERSHEY_CYRILLIC, 0x80 + 'P'},
{0x2762, HERSHEY_CYRILLIC, 0x80 + 'R'},
{0x2763, HERSHEY_CYRILLIC, 0x80 + 'S'},
{0x2764, HERSHEY_CYRILLIC, 0x80 + 'T'},
{0x2765, HERSHEY_CYRILLIC, 0x80 + 'U'},
{0x2766, HERSHEY_CYRILLIC, 0x80 + 'F'},
{0x2767, HERSHEY_CYRILLIC, 0x80 + 'H'},
{0x2768, HERSHEY_CYRILLIC, 0x80 + 'C'},
{0x2769, HERSHEY_CYRILLIC, 0x80 + '^'},
{0x276a, HERSHEY_CYRILLIC, 0x80 + '['},
{0x276b, HERSHEY_CYRILLIC, 0x80 + ']'},
{0x276c, HERSHEY_CYRILLIC, 0x80 + '_'},
{0x276d, HERSHEY_CYRILLIC, 0x80 + 'Y'},
{0x276e, HERSHEY_CYRILLIC, 0x80 + 'X'},
{0x276f, HERSHEY_CYRILLIC, 0x80 + '\\'},
{0x2770, HERSHEY_CYRILLIC, 0x80 + '@'},
{0x2771, HERSHEY_CYRILLIC, 0x80 + 'Q'},
{0, 0, 0}
};