1/* 2 * Canonical Compositions 3 * 4 * DO NOT EDIT BY HAND! This is generated by the script 5 * unicode/make-precompose.sh 6 */ 7/* $XTermId: precompose.c,v 1.12 2024/12/01 23:52:36 tom Exp $ */ 8 9#include <precompose.h> 10 11static struct { 12 int replacement; 13 int base; 14 int comb; 15} precompositions[] = { 16{ 0x226E, 0x003C, 0x0338}, 17{ 0x2260, 0x003D, 0x0338}, 18{ 0x226F, 0x003E, 0x0338}, 19{ 0x00C0, 0x0041, 0x0300}, 20{ 0x00C1, 0x0041, 0x0301}, 21{ 0x00C2, 0x0041, 0x0302}, 22{ 0x00C3, 0x0041, 0x0303}, 23{ 0x0100, 0x0041, 0x0304}, 24{ 0x0102, 0x0041, 0x0306}, 25{ 0x0226, 0x0041, 0x0307}, 26{ 0x00C4, 0x0041, 0x0308}, 27{ 0x1EA2, 0x0041, 0x0309}, 28{ 0x00C5, 0x0041, 0x030A}, 29{ 0x01CD, 0x0041, 0x030C}, 30{ 0x0200, 0x0041, 0x030F}, 31{ 0x0202, 0x0041, 0x0311}, 32{ 0x1EA0, 0x0041, 0x0323}, 33{ 0x1E00, 0x0041, 0x0325}, 34{ 0x0104, 0x0041, 0x0328}, 35{ 0x1E02, 0x0042, 0x0307}, 36{ 0x1E04, 0x0042, 0x0323}, 37{ 0x1E06, 0x0042, 0x0331}, 38{ 0x0106, 0x0043, 0x0301}, 39{ 0x0108, 0x0043, 0x0302}, 40{ 0x010A, 0x0043, 0x0307}, 41{ 0x010C, 0x0043, 0x030C}, 42{ 0x00C7, 0x0043, 0x0327}, 43{ 0x1E0A, 0x0044, 0x0307}, 44{ 0x010E, 0x0044, 0x030C}, 45{ 0x1E0C, 0x0044, 0x0323}, 46{ 0x1E10, 0x0044, 0x0327}, 47{ 0x1E12, 0x0044, 0x032D}, 48{ 0x1E0E, 0x0044, 0x0331}, 49{ 0x00C8, 0x0045, 0x0300}, 50{ 0x00C9, 0x0045, 0x0301}, 51{ 0x00CA, 0x0045, 0x0302}, 52{ 0x1EBC, 0x0045, 0x0303}, 53{ 0x0112, 0x0045, 0x0304}, 54{ 0x0114, 0x0045, 0x0306}, 55{ 0x0116, 0x0045, 0x0307}, 56{ 0x00CB, 0x0045, 0x0308}, 57{ 0x1EBA, 0x0045, 0x0309}, 58{ 0x011A, 0x0045, 0x030C}, 59{ 0x0204, 0x0045, 0x030F}, 60{ 0x0206, 0x0045, 0x0311}, 61{ 0x1EB8, 0x0045, 0x0323}, 62{ 0x0228, 0x0045, 0x0327}, 63{ 0x0118, 0x0045, 0x0328}, 64{ 0x1E18, 0x0045, 0x032D}, 65{ 0x1E1A, 0x0045, 0x0330}, 66{ 0x1E1E, 0x0046, 0x0307}, 67{ 0x01F4, 0x0047, 0x0301}, 68{ 0x011C, 0x0047, 0x0302}, 69{ 0x1E20, 0x0047, 0x0304}, 70{ 0x011E, 0x0047, 0x0306}, 71{ 0x0120, 0x0047, 0x0307}, 72{ 0x01E6, 0x0047, 0x030C}, 73{ 0x0122, 0x0047, 0x0327}, 74{ 0x0124, 0x0048, 0x0302}, 75{ 0x1E22, 0x0048, 0x0307}, 76{ 0x1E26, 0x0048, 0x0308}, 77{ 0x021E, 0x0048, 0x030C}, 78{ 0x1E24, 0x0048, 0x0323}, 79{ 0x1E28, 0x0048, 0x0327}, 80{ 0x1E2A, 0x0048, 0x032E}, 81{ 0x00CC, 0x0049, 0x0300}, 82{ 0x00CD, 0x0049, 0x0301}, 83{ 0x00CE, 0x0049, 0x0302}, 84{ 0x0128, 0x0049, 0x0303}, 85{ 0x012A, 0x0049, 0x0304}, 86{ 0x012C, 0x0049, 0x0306}, 87{ 0x0130, 0x0049, 0x0307}, 88{ 0x00CF, 0x0049, 0x0308}, 89{ 0x1EC8, 0x0049, 0x0309}, 90{ 0x01CF, 0x0049, 0x030C}, 91{ 0x0208, 0x0049, 0x030F}, 92{ 0x020A, 0x0049, 0x0311}, 93{ 0x1ECA, 0x0049, 0x0323}, 94{ 0x012E, 0x0049, 0x0328}, 95{ 0x1E2C, 0x0049, 0x0330}, 96{ 0x0134, 0x004A, 0x0302}, 97{ 0x1E30, 0x004B, 0x0301}, 98{ 0x01E8, 0x004B, 0x030C}, 99{ 0x1E32, 0x004B, 0x0323}, 100{ 0x0136, 0x004B, 0x0327}, 101{ 0x1E34, 0x004B, 0x0331}, 102{ 0x0139, 0x004C, 0x0301}, 103{ 0x013D, 0x004C, 0x030C}, 104{ 0x1E36, 0x004C, 0x0323}, 105{ 0x013B, 0x004C, 0x0327}, 106{ 0x1E3C, 0x004C, 0x032D}, 107{ 0x1E3A, 0x004C, 0x0331}, 108{ 0x1E3E, 0x004D, 0x0301}, 109{ 0x1E40, 0x004D, 0x0307}, 110{ 0x1E42, 0x004D, 0x0323}, 111{ 0x01F8, 0x004E, 0x0300}, 112{ 0x0143, 0x004E, 0x0301}, 113{ 0x00D1, 0x004E, 0x0303}, 114{ 0x1E44, 0x004E, 0x0307}, 115{ 0x0147, 0x004E, 0x030C}, 116{ 0x1E46, 0x004E, 0x0323}, 117{ 0x0145, 0x004E, 0x0327}, 118{ 0x1E4A, 0x004E, 0x032D}, 119{ 0x1E48, 0x004E, 0x0331}, 120{ 0x00D2, 0x004F, 0x0300}, 121{ 0x00D3, 0x004F, 0x0301}, 122{ 0x00D4, 0x004F, 0x0302}, 123{ 0x00D5, 0x004F, 0x0303}, 124{ 0x014C, 0x004F, 0x0304}, 125{ 0x014E, 0x004F, 0x0306}, 126{ 0x022E, 0x004F, 0x0307}, 127{ 0x00D6, 0x004F, 0x0308}, 128{ 0x1ECE, 0x004F, 0x0309}, 129{ 0x0150, 0x004F, 0x030B}, 130{ 0x01D1, 0x004F, 0x030C}, 131{ 0x020C, 0x004F, 0x030F}, 132{ 0x020E, 0x004F, 0x0311}, 133{ 0x01A0, 0x004F, 0x031B}, 134{ 0x1ECC, 0x004F, 0x0323}, 135{ 0x01EA, 0x004F, 0x0328}, 136{ 0x1E54, 0x0050, 0x0301}, 137{ 0x1E56, 0x0050, 0x0307}, 138{ 0x0154, 0x0052, 0x0301}, 139{ 0x1E58, 0x0052, 0x0307}, 140{ 0x0158, 0x0052, 0x030C}, 141{ 0x0210, 0x0052, 0x030F}, 142{ 0x0212, 0x0052, 0x0311}, 143{ 0x1E5A, 0x0052, 0x0323}, 144{ 0x0156, 0x0052, 0x0327}, 145{ 0x1E5E, 0x0052, 0x0331}, 146{ 0x015A, 0x0053, 0x0301}, 147{ 0x015C, 0x0053, 0x0302}, 148{ 0x1E60, 0x0053, 0x0307}, 149{ 0x0160, 0x0053, 0x030C}, 150{ 0x1E62, 0x0053, 0x0323}, 151{ 0x0218, 0x0053, 0x0326}, 152{ 0x015E, 0x0053, 0x0327}, 153{ 0x1E6A, 0x0054, 0x0307}, 154{ 0x0164, 0x0054, 0x030C}, 155{ 0x1E6C, 0x0054, 0x0323}, 156{ 0x021A, 0x0054, 0x0326}, 157{ 0x0162, 0x0054, 0x0327}, 158{ 0x1E70, 0x0054, 0x032D}, 159{ 0x1E6E, 0x0054, 0x0331}, 160{ 0x00D9, 0x0055, 0x0300}, 161{ 0x00DA, 0x0055, 0x0301}, 162{ 0x00DB, 0x0055, 0x0302}, 163{ 0x0168, 0x0055, 0x0303}, 164{ 0x016A, 0x0055, 0x0304}, 165{ 0x016C, 0x0055, 0x0306}, 166{ 0x00DC, 0x0055, 0x0308}, 167{ 0x1EE6, 0x0055, 0x0309}, 168{ 0x016E, 0x0055, 0x030A}, 169{ 0x0170, 0x0055, 0x030B}, 170{ 0x01D3, 0x0055, 0x030C}, 171{ 0x0214, 0x0055, 0x030F}, 172{ 0x0216, 0x0055, 0x0311}, 173{ 0x01AF, 0x0055, 0x031B}, 174{ 0x1EE4, 0x0055, 0x0323}, 175{ 0x1E72, 0x0055, 0x0324}, 176{ 0x0172, 0x0055, 0x0328}, 177{ 0x1E76, 0x0055, 0x032D}, 178{ 0x1E74, 0x0055, 0x0330}, 179{ 0x1E7C, 0x0056, 0x0303}, 180{ 0x1E7E, 0x0056, 0x0323}, 181{ 0x1E80, 0x0057, 0x0300}, 182{ 0x1E82, 0x0057, 0x0301}, 183{ 0x0174, 0x0057, 0x0302}, 184{ 0x1E86, 0x0057, 0x0307}, 185{ 0x1E84, 0x0057, 0x0308}, 186{ 0x1E88, 0x0057, 0x0323}, 187{ 0x1E8A, 0x0058, 0x0307}, 188{ 0x1E8C, 0x0058, 0x0308}, 189{ 0x1EF2, 0x0059, 0x0300}, 190{ 0x00DD, 0x0059, 0x0301}, 191{ 0x0176, 0x0059, 0x0302}, 192{ 0x1EF8, 0x0059, 0x0303}, 193{ 0x0232, 0x0059, 0x0304}, 194{ 0x1E8E, 0x0059, 0x0307}, 195{ 0x0178, 0x0059, 0x0308}, 196{ 0x1EF6, 0x0059, 0x0309}, 197{ 0x1EF4, 0x0059, 0x0323}, 198{ 0x0179, 0x005A, 0x0301}, 199{ 0x1E90, 0x005A, 0x0302}, 200{ 0x017B, 0x005A, 0x0307}, 201{ 0x017D, 0x005A, 0x030C}, 202{ 0x1E92, 0x005A, 0x0323}, 203{ 0x1E94, 0x005A, 0x0331}, 204{ 0x00E0, 0x0061, 0x0300}, 205{ 0x00E1, 0x0061, 0x0301}, 206{ 0x00E2, 0x0061, 0x0302}, 207{ 0x00E3, 0x0061, 0x0303}, 208{ 0x0101, 0x0061, 0x0304}, 209{ 0x0103, 0x0061, 0x0306}, 210{ 0x0227, 0x0061, 0x0307}, 211{ 0x00E4, 0x0061, 0x0308}, 212{ 0x1EA3, 0x0061, 0x0309}, 213{ 0x00E5, 0x0061, 0x030A}, 214{ 0x01CE, 0x0061, 0x030C}, 215{ 0x0201, 0x0061, 0x030F}, 216{ 0x0203, 0x0061, 0x0311}, 217{ 0x1EA1, 0x0061, 0x0323}, 218{ 0x1E01, 0x0061, 0x0325}, 219{ 0x0105, 0x0061, 0x0328}, 220{ 0x1E03, 0x0062, 0x0307}, 221{ 0x1E05, 0x0062, 0x0323}, 222{ 0x1E07, 0x0062, 0x0331}, 223{ 0x0107, 0x0063, 0x0301}, 224{ 0x0109, 0x0063, 0x0302}, 225{ 0x010B, 0x0063, 0x0307}, 226{ 0x010D, 0x0063, 0x030C}, 227{ 0x00E7, 0x0063, 0x0327}, 228{ 0x1E0B, 0x0064, 0x0307}, 229{ 0x010F, 0x0064, 0x030C}, 230{ 0x1E0D, 0x0064, 0x0323}, 231{ 0x1E11, 0x0064, 0x0327}, 232{ 0x1E13, 0x0064, 0x032D}, 233{ 0x1E0F, 0x0064, 0x0331}, 234{ 0x00E8, 0x0065, 0x0300}, 235{ 0x00E9, 0x0065, 0x0301}, 236{ 0x00EA, 0x0065, 0x0302}, 237{ 0x1EBD, 0x0065, 0x0303}, 238{ 0x0113, 0x0065, 0x0304}, 239{ 0x0115, 0x0065, 0x0306}, 240{ 0x0117, 0x0065, 0x0307}, 241{ 0x00EB, 0x0065, 0x0308}, 242{ 0x1EBB, 0x0065, 0x0309}, 243{ 0x011B, 0x0065, 0x030C}, 244{ 0x0205, 0x0065, 0x030F}, 245{ 0x0207, 0x0065, 0x0311}, 246{ 0x1EB9, 0x0065, 0x0323}, 247{ 0x0229, 0x0065, 0x0327}, 248{ 0x0119, 0x0065, 0x0328}, 249{ 0x1E19, 0x0065, 0x032D}, 250{ 0x1E1B, 0x0065, 0x0330}, 251{ 0x1E1F, 0x0066, 0x0307}, 252{ 0x01F5, 0x0067, 0x0301}, 253{ 0x011D, 0x0067, 0x0302}, 254{ 0x1E21, 0x0067, 0x0304}, 255{ 0x011F, 0x0067, 0x0306}, 256{ 0x0121, 0x0067, 0x0307}, 257{ 0x01E7, 0x0067, 0x030C}, 258{ 0x0123, 0x0067, 0x0327}, 259{ 0x0125, 0x0068, 0x0302}, 260{ 0x1E23, 0x0068, 0x0307}, 261{ 0x1E27, 0x0068, 0x0308}, 262{ 0x021F, 0x0068, 0x030C}, 263{ 0x1E25, 0x0068, 0x0323}, 264{ 0x1E29, 0x0068, 0x0327}, 265{ 0x1E2B, 0x0068, 0x032E}, 266{ 0x1E96, 0x0068, 0x0331}, 267{ 0x00EC, 0x0069, 0x0300}, 268{ 0x00ED, 0x0069, 0x0301}, 269{ 0x00EE, 0x0069, 0x0302}, 270{ 0x0129, 0x0069, 0x0303}, 271{ 0x012B, 0x0069, 0x0304}, 272{ 0x012D, 0x0069, 0x0306}, 273{ 0x00EF, 0x0069, 0x0308}, 274{ 0x1EC9, 0x0069, 0x0309}, 275{ 0x01D0, 0x0069, 0x030C}, 276{ 0x0209, 0x0069, 0x030F}, 277{ 0x020B, 0x0069, 0x0311}, 278{ 0x1ECB, 0x0069, 0x0323}, 279{ 0x012F, 0x0069, 0x0328}, 280{ 0x1E2D, 0x0069, 0x0330}, 281{ 0x0135, 0x006A, 0x0302}, 282{ 0x01F0, 0x006A, 0x030C}, 283{ 0x1E31, 0x006B, 0x0301}, 284{ 0x01E9, 0x006B, 0x030C}, 285{ 0x1E33, 0x006B, 0x0323}, 286{ 0x0137, 0x006B, 0x0327}, 287{ 0x1E35, 0x006B, 0x0331}, 288{ 0x013A, 0x006C, 0x0301}, 289{ 0x013E, 0x006C, 0x030C}, 290{ 0x1E37, 0x006C, 0x0323}, 291{ 0x013C, 0x006C, 0x0327}, 292{ 0x1E3D, 0x006C, 0x032D}, 293{ 0x1E3B, 0x006C, 0x0331}, 294{ 0x1E3F, 0x006D, 0x0301}, 295{ 0x1E41, 0x006D, 0x0307}, 296{ 0x1E43, 0x006D, 0x0323}, 297{ 0x01F9, 0x006E, 0x0300}, 298{ 0x0144, 0x006E, 0x0301}, 299{ 0x00F1, 0x006E, 0x0303}, 300{ 0x1E45, 0x006E, 0x0307}, 301{ 0x0148, 0x006E, 0x030C}, 302{ 0x1E47, 0x006E, 0x0323}, 303{ 0x0146, 0x006E, 0x0327}, 304{ 0x1E4B, 0x006E, 0x032D}, 305{ 0x1E49, 0x006E, 0x0331}, 306{ 0x00F2, 0x006F, 0x0300}, 307{ 0x00F3, 0x006F, 0x0301}, 308{ 0x00F4, 0x006F, 0x0302}, 309{ 0x00F5, 0x006F, 0x0303}, 310{ 0x014D, 0x006F, 0x0304}, 311{ 0x014F, 0x006F, 0x0306}, 312{ 0x022F, 0x006F, 0x0307}, 313{ 0x00F6, 0x006F, 0x0308}, 314{ 0x1ECF, 0x006F, 0x0309}, 315{ 0x0151, 0x006F, 0x030B}, 316{ 0x01D2, 0x006F, 0x030C}, 317{ 0x020D, 0x006F, 0x030F}, 318{ 0x020F, 0x006F, 0x0311}, 319{ 0x01A1, 0x006F, 0x031B}, 320{ 0x1ECD, 0x006F, 0x0323}, 321{ 0x01EB, 0x006F, 0x0328}, 322{ 0x1E55, 0x0070, 0x0301}, 323{ 0x1E57, 0x0070, 0x0307}, 324{ 0x0155, 0x0072, 0x0301}, 325{ 0x1E59, 0x0072, 0x0307}, 326{ 0x0159, 0x0072, 0x030C}, 327{ 0x0211, 0x0072, 0x030F}, 328{ 0x0213, 0x0072, 0x0311}, 329{ 0x1E5B, 0x0072, 0x0323}, 330{ 0x0157, 0x0072, 0x0327}, 331{ 0x1E5F, 0x0072, 0x0331}, 332{ 0x015B, 0x0073, 0x0301}, 333{ 0x015D, 0x0073, 0x0302}, 334{ 0x1E61, 0x0073, 0x0307}, 335{ 0x0161, 0x0073, 0x030C}, 336{ 0x1E63, 0x0073, 0x0323}, 337{ 0x0219, 0x0073, 0x0326}, 338{ 0x015F, 0x0073, 0x0327}, 339{ 0x1E6B, 0x0074, 0x0307}, 340{ 0x1E97, 0x0074, 0x0308}, 341{ 0x0165, 0x0074, 0x030C}, 342{ 0x1E6D, 0x0074, 0x0323}, 343{ 0x021B, 0x0074, 0x0326}, 344{ 0x0163, 0x0074, 0x0327}, 345{ 0x1E71, 0x0074, 0x032D}, 346{ 0x1E6F, 0x0074, 0x0331}, 347{ 0x00F9, 0x0075, 0x0300}, 348{ 0x00FA, 0x0075, 0x0301}, 349{ 0x00FB, 0x0075, 0x0302}, 350{ 0x0169, 0x0075, 0x0303}, 351{ 0x016B, 0x0075, 0x0304}, 352{ 0x016D, 0x0075, 0x0306}, 353{ 0x00FC, 0x0075, 0x0308}, 354{ 0x1EE7, 0x0075, 0x0309}, 355{ 0x016F, 0x0075, 0x030A}, 356{ 0x0171, 0x0075, 0x030B}, 357{ 0x01D4, 0x0075, 0x030C}, 358{ 0x0215, 0x0075, 0x030F}, 359{ 0x0217, 0x0075, 0x0311}, 360{ 0x01B0, 0x0075, 0x031B}, 361{ 0x1EE5, 0x0075, 0x0323}, 362{ 0x1E73, 0x0075, 0x0324}, 363{ 0x0173, 0x0075, 0x0328}, 364{ 0x1E77, 0x0075, 0x032D}, 365{ 0x1E75, 0x0075, 0x0330}, 366{ 0x1E7D, 0x0076, 0x0303}, 367{ 0x1E7F, 0x0076, 0x0323}, 368{ 0x1E81, 0x0077, 0x0300}, 369{ 0x1E83, 0x0077, 0x0301}, 370{ 0x0175, 0x0077, 0x0302}, 371{ 0x1E87, 0x0077, 0x0307}, 372{ 0x1E85, 0x0077, 0x0308}, 373{ 0x1E98, 0x0077, 0x030A}, 374{ 0x1E89, 0x0077, 0x0323}, 375{ 0x1E8B, 0x0078, 0x0307}, 376{ 0x1E8D, 0x0078, 0x0308}, 377{ 0x1EF3, 0x0079, 0x0300}, 378{ 0x00FD, 0x0079, 0x0301}, 379{ 0x0177, 0x0079, 0x0302}, 380{ 0x1EF9, 0x0079, 0x0303}, 381{ 0x0233, 0x0079, 0x0304}, 382{ 0x1E8F, 0x0079, 0x0307}, 383{ 0x00FF, 0x0079, 0x0308}, 384{ 0x1EF7, 0x0079, 0x0309}, 385{ 0x1E99, 0x0079, 0x030A}, 386{ 0x1EF5, 0x0079, 0x0323}, 387{ 0x017A, 0x007A, 0x0301}, 388{ 0x1E91, 0x007A, 0x0302}, 389{ 0x017C, 0x007A, 0x0307}, 390{ 0x017E, 0x007A, 0x030C}, 391{ 0x1E93, 0x007A, 0x0323}, 392{ 0x1E95, 0x007A, 0x0331}, 393{ 0x1FED, 0x00A8, 0x0300}, 394{ 0x0385, 0x00A8, 0x0301}, 395{ 0x1FC1, 0x00A8, 0x0342}, 396{ 0x1EA6, 0x00C2, 0x0300}, 397{ 0x1EA4, 0x00C2, 0x0301}, 398{ 0x1EAA, 0x00C2, 0x0303}, 399{ 0x1EA8, 0x00C2, 0x0309}, 400{ 0x01DE, 0x00C4, 0x0304}, 401{ 0x01FA, 0x00C5, 0x0301}, 402{ 0x01FC, 0x00C6, 0x0301}, 403{ 0x01E2, 0x00C6, 0x0304}, 404{ 0x1E08, 0x00C7, 0x0301}, 405{ 0x1EC0, 0x00CA, 0x0300}, 406{ 0x1EBE, 0x00CA, 0x0301}, 407{ 0x1EC4, 0x00CA, 0x0303}, 408{ 0x1EC2, 0x00CA, 0x0309}, 409{ 0x1E2E, 0x00CF, 0x0301}, 410{ 0x1ED2, 0x00D4, 0x0300}, 411{ 0x1ED0, 0x00D4, 0x0301}, 412{ 0x1ED6, 0x00D4, 0x0303}, 413{ 0x1ED4, 0x00D4, 0x0309}, 414{ 0x1E4C, 0x00D5, 0x0301}, 415{ 0x022C, 0x00D5, 0x0304}, 416{ 0x1E4E, 0x00D5, 0x0308}, 417{ 0x022A, 0x00D6, 0x0304}, 418{ 0x01FE, 0x00D8, 0x0301}, 419{ 0x01DB, 0x00DC, 0x0300}, 420{ 0x01D7, 0x00DC, 0x0301}, 421{ 0x01D5, 0x00DC, 0x0304}, 422{ 0x01D9, 0x00DC, 0x030C}, 423{ 0x1EA7, 0x00E2, 0x0300}, 424{ 0x1EA5, 0x00E2, 0x0301}, 425{ 0x1EAB, 0x00E2, 0x0303}, 426{ 0x1EA9, 0x00E2, 0x0309}, 427{ 0x01DF, 0x00E4, 0x0304}, 428{ 0x01FB, 0x00E5, 0x0301}, 429{ 0x01FD, 0x00E6, 0x0301}, 430{ 0x01E3, 0x00E6, 0x0304}, 431{ 0x1E09, 0x00E7, 0x0301}, 432{ 0x1EC1, 0x00EA, 0x0300}, 433{ 0x1EBF, 0x00EA, 0x0301}, 434{ 0x1EC5, 0x00EA, 0x0303}, 435{ 0x1EC3, 0x00EA, 0x0309}, 436{ 0x1E2F, 0x00EF, 0x0301}, 437{ 0x1ED3, 0x00F4, 0x0300}, 438{ 0x1ED1, 0x00F4, 0x0301}, 439{ 0x1ED7, 0x00F4, 0x0303}, 440{ 0x1ED5, 0x00F4, 0x0309}, 441{ 0x1E4D, 0x00F5, 0x0301}, 442{ 0x022D, 0x00F5, 0x0304}, 443{ 0x1E4F, 0x00F5, 0x0308}, 444{ 0x022B, 0x00F6, 0x0304}, 445{ 0x01FF, 0x00F8, 0x0301}, 446{ 0x01DC, 0x00FC, 0x0300}, 447{ 0x01D8, 0x00FC, 0x0301}, 448{ 0x01D6, 0x00FC, 0x0304}, 449{ 0x01DA, 0x00FC, 0x030C}, 450{ 0x1EB0, 0x0102, 0x0300}, 451{ 0x1EAE, 0x0102, 0x0301}, 452{ 0x1EB4, 0x0102, 0x0303}, 453{ 0x1EB2, 0x0102, 0x0309}, 454{ 0x1EB1, 0x0103, 0x0300}, 455{ 0x1EAF, 0x0103, 0x0301}, 456{ 0x1EB5, 0x0103, 0x0303}, 457{ 0x1EB3, 0x0103, 0x0309}, 458{ 0x1E14, 0x0112, 0x0300}, 459{ 0x1E16, 0x0112, 0x0301}, 460{ 0x1E15, 0x0113, 0x0300}, 461{ 0x1E17, 0x0113, 0x0301}, 462{ 0x1E50, 0x014C, 0x0300}, 463{ 0x1E52, 0x014C, 0x0301}, 464{ 0x1E51, 0x014D, 0x0300}, 465{ 0x1E53, 0x014D, 0x0301}, 466{ 0x1E64, 0x015A, 0x0307}, 467{ 0x1E65, 0x015B, 0x0307}, 468{ 0x1E66, 0x0160, 0x0307}, 469{ 0x1E67, 0x0161, 0x0307}, 470{ 0x1E78, 0x0168, 0x0301}, 471{ 0x1E79, 0x0169, 0x0301}, 472{ 0x1E7A, 0x016A, 0x0308}, 473{ 0x1E7B, 0x016B, 0x0308}, 474{ 0x1E9B, 0x017F, 0x0307}, 475{ 0x1EDC, 0x01A0, 0x0300}, 476{ 0x1EDA, 0x01A0, 0x0301}, 477{ 0x1EE0, 0x01A0, 0x0303}, 478{ 0x1EDE, 0x01A0, 0x0309}, 479{ 0x1EE2, 0x01A0, 0x0323}, 480{ 0x1EDD, 0x01A1, 0x0300}, 481{ 0x1EDB, 0x01A1, 0x0301}, 482{ 0x1EE1, 0x01A1, 0x0303}, 483{ 0x1EDF, 0x01A1, 0x0309}, 484{ 0x1EE3, 0x01A1, 0x0323}, 485{ 0x1EEA, 0x01AF, 0x0300}, 486{ 0x1EE8, 0x01AF, 0x0301}, 487{ 0x1EEE, 0x01AF, 0x0303}, 488{ 0x1EEC, 0x01AF, 0x0309}, 489{ 0x1EF0, 0x01AF, 0x0323}, 490{ 0x1EEB, 0x01B0, 0x0300}, 491{ 0x1EE9, 0x01B0, 0x0301}, 492{ 0x1EEF, 0x01B0, 0x0303}, 493{ 0x1EED, 0x01B0, 0x0309}, 494{ 0x1EF1, 0x01B0, 0x0323}, 495{ 0x01EE, 0x01B7, 0x030C}, 496{ 0x01EC, 0x01EA, 0x0304}, 497{ 0x01ED, 0x01EB, 0x0304}, 498{ 0x01E0, 0x0226, 0x0304}, 499{ 0x01E1, 0x0227, 0x0304}, 500{ 0x1E1C, 0x0228, 0x0306}, 501{ 0x1E1D, 0x0229, 0x0306}, 502{ 0x0230, 0x022E, 0x0304}, 503{ 0x0231, 0x022F, 0x0304}, 504{ 0x01EF, 0x0292, 0x030C}, 505{ 0x0344, 0x0308, 0x0301}, 506{ 0x1FBA, 0x0391, 0x0300}, 507{ 0x0386, 0x0391, 0x0301}, 508{ 0x1FB9, 0x0391, 0x0304}, 509{ 0x1FB8, 0x0391, 0x0306}, 510{ 0x1F08, 0x0391, 0x0313}, 511{ 0x1F09, 0x0391, 0x0314}, 512{ 0x1FBC, 0x0391, 0x0345}, 513{ 0x1FC8, 0x0395, 0x0300}, 514{ 0x0388, 0x0395, 0x0301}, 515{ 0x1F18, 0x0395, 0x0313}, 516{ 0x1F19, 0x0395, 0x0314}, 517{ 0x1FCA, 0x0397, 0x0300}, 518{ 0x0389, 0x0397, 0x0301}, 519{ 0x1F28, 0x0397, 0x0313}, 520{ 0x1F29, 0x0397, 0x0314}, 521{ 0x1FCC, 0x0397, 0x0345}, 522{ 0x1FDA, 0x0399, 0x0300}, 523{ 0x038A, 0x0399, 0x0301}, 524{ 0x1FD9, 0x0399, 0x0304}, 525{ 0x1FD8, 0x0399, 0x0306}, 526{ 0x03AA, 0x0399, 0x0308}, 527{ 0x1F38, 0x0399, 0x0313}, 528{ 0x1F39, 0x0399, 0x0314}, 529{ 0x1FF8, 0x039F, 0x0300}, 530{ 0x038C, 0x039F, 0x0301}, 531{ 0x1F48, 0x039F, 0x0313}, 532{ 0x1F49, 0x039F, 0x0314}, 533{ 0x1FEC, 0x03A1, 0x0314}, 534{ 0x1FEA, 0x03A5, 0x0300}, 535{ 0x038E, 0x03A5, 0x0301}, 536{ 0x1FE9, 0x03A5, 0x0304}, 537{ 0x1FE8, 0x03A5, 0x0306}, 538{ 0x03AB, 0x03A5, 0x0308}, 539{ 0x1F59, 0x03A5, 0x0314}, 540{ 0x1FFA, 0x03A9, 0x0300}, 541{ 0x038F, 0x03A9, 0x0301}, 542{ 0x1F68, 0x03A9, 0x0313}, 543{ 0x1F69, 0x03A9, 0x0314}, 544{ 0x1FFC, 0x03A9, 0x0345}, 545{ 0x1FB4, 0x03AC, 0x0345}, 546{ 0x1FC4, 0x03AE, 0x0345}, 547{ 0x1F70, 0x03B1, 0x0300}, 548{ 0x03AC, 0x03B1, 0x0301}, 549{ 0x1FB1, 0x03B1, 0x0304}, 550{ 0x1FB0, 0x03B1, 0x0306}, 551{ 0x1F00, 0x03B1, 0x0313}, 552{ 0x1F01, 0x03B1, 0x0314}, 553{ 0x1FB6, 0x03B1, 0x0342}, 554{ 0x1FB3, 0x03B1, 0x0345}, 555{ 0x1F72, 0x03B5, 0x0300}, 556{ 0x03AD, 0x03B5, 0x0301}, 557{ 0x1F10, 0x03B5, 0x0313}, 558{ 0x1F11, 0x03B5, 0x0314}, 559{ 0x1F74, 0x03B7, 0x0300}, 560{ 0x03AE, 0x03B7, 0x0301}, 561{ 0x1F20, 0x03B7, 0x0313}, 562{ 0x1F21, 0x03B7, 0x0314}, 563{ 0x1FC6, 0x03B7, 0x0342}, 564{ 0x1FC3, 0x03B7, 0x0345}, 565{ 0x1F76, 0x03B9, 0x0300}, 566{ 0x03AF, 0x03B9, 0x0301}, 567{ 0x1FD1, 0x03B9, 0x0304}, 568{ 0x1FD0, 0x03B9, 0x0306}, 569{ 0x03CA, 0x03B9, 0x0308}, 570{ 0x1F30, 0x03B9, 0x0313}, 571{ 0x1F31, 0x03B9, 0x0314}, 572{ 0x1FD6, 0x03B9, 0x0342}, 573{ 0x1F78, 0x03BF, 0x0300}, 574{ 0x03CC, 0x03BF, 0x0301}, 575{ 0x1F40, 0x03BF, 0x0313}, 576{ 0x1F41, 0x03BF, 0x0314}, 577{ 0x1FE4, 0x03C1, 0x0313}, 578{ 0x1FE5, 0x03C1, 0x0314}, 579{ 0x1F7A, 0x03C5, 0x0300}, 580{ 0x03CD, 0x03C5, 0x0301}, 581{ 0x1FE1, 0x03C5, 0x0304}, 582{ 0x1FE0, 0x03C5, 0x0306}, 583{ 0x03CB, 0x03C5, 0x0308}, 584{ 0x1F50, 0x03C5, 0x0313}, 585{ 0x1F51, 0x03C5, 0x0314}, 586{ 0x1FE6, 0x03C5, 0x0342}, 587{ 0x1F7C, 0x03C9, 0x0300}, 588{ 0x03CE, 0x03C9, 0x0301}, 589{ 0x1F60, 0x03C9, 0x0313}, 590{ 0x1F61, 0x03C9, 0x0314}, 591{ 0x1FF6, 0x03C9, 0x0342}, 592{ 0x1FF3, 0x03C9, 0x0345}, 593{ 0x1FD2, 0x03CA, 0x0300}, 594{ 0x0390, 0x03CA, 0x0301}, 595{ 0x1FD7, 0x03CA, 0x0342}, 596{ 0x1FE2, 0x03CB, 0x0300}, 597{ 0x03B0, 0x03CB, 0x0301}, 598{ 0x1FE7, 0x03CB, 0x0342}, 599{ 0x1FF4, 0x03CE, 0x0345}, 600{ 0x03D3, 0x03D2, 0x0301}, 601{ 0x03D4, 0x03D2, 0x0308}, 602{ 0x0407, 0x0406, 0x0308}, 603{ 0x04D0, 0x0410, 0x0306}, 604{ 0x04D2, 0x0410, 0x0308}, 605{ 0x0403, 0x0413, 0x0301}, 606{ 0x0400, 0x0415, 0x0300}, 607{ 0x04D6, 0x0415, 0x0306}, 608{ 0x0401, 0x0415, 0x0308}, 609{ 0x04C1, 0x0416, 0x0306}, 610{ 0x04DC, 0x0416, 0x0308}, 611{ 0x04DE, 0x0417, 0x0308}, 612{ 0x040D, 0x0418, 0x0300}, 613{ 0x04E2, 0x0418, 0x0304}, 614{ 0x0419, 0x0418, 0x0306}, 615{ 0x04E4, 0x0418, 0x0308}, 616{ 0x040C, 0x041A, 0x0301}, 617{ 0x04E6, 0x041E, 0x0308}, 618{ 0x04EE, 0x0423, 0x0304}, 619{ 0x040E, 0x0423, 0x0306}, 620{ 0x04F0, 0x0423, 0x0308}, 621{ 0x04F2, 0x0423, 0x030B}, 622{ 0x04F4, 0x0427, 0x0308}, 623{ 0x04F8, 0x042B, 0x0308}, 624{ 0x04EC, 0x042D, 0x0308}, 625{ 0x04D1, 0x0430, 0x0306}, 626{ 0x04D3, 0x0430, 0x0308}, 627{ 0x0453, 0x0433, 0x0301}, 628{ 0x0450, 0x0435, 0x0300}, 629{ 0x04D7, 0x0435, 0x0306}, 630{ 0x0451, 0x0435, 0x0308}, 631{ 0x04C2, 0x0436, 0x0306}, 632{ 0x04DD, 0x0436, 0x0308}, 633{ 0x04DF, 0x0437, 0x0308}, 634{ 0x045D, 0x0438, 0x0300}, 635{ 0x04E3, 0x0438, 0x0304}, 636{ 0x0439, 0x0438, 0x0306}, 637{ 0x04E5, 0x0438, 0x0308}, 638{ 0x045C, 0x043A, 0x0301}, 639{ 0x04E7, 0x043E, 0x0308}, 640{ 0x04EF, 0x0443, 0x0304}, 641{ 0x045E, 0x0443, 0x0306}, 642{ 0x04F1, 0x0443, 0x0308}, 643{ 0x04F3, 0x0443, 0x030B}, 644{ 0x04F5, 0x0447, 0x0308}, 645{ 0x04F9, 0x044B, 0x0308}, 646{ 0x04ED, 0x044D, 0x0308}, 647{ 0x0457, 0x0456, 0x0308}, 648{ 0x0476, 0x0474, 0x030F}, 649{ 0x0477, 0x0475, 0x030F}, 650{ 0x04DA, 0x04D8, 0x0308}, 651{ 0x04DB, 0x04D9, 0x0308}, 652{ 0x04EA, 0x04E8, 0x0308}, 653{ 0x04EB, 0x04E9, 0x0308}, 654{ 0xFB2E, 0x05D0, 0x05B7}, 655{ 0xFB2F, 0x05D0, 0x05B8}, 656{ 0xFB30, 0x05D0, 0x05BC}, 657{ 0xFB31, 0x05D1, 0x05BC}, 658{ 0xFB4C, 0x05D1, 0x05BF}, 659{ 0xFB32, 0x05D2, 0x05BC}, 660{ 0xFB33, 0x05D3, 0x05BC}, 661{ 0xFB34, 0x05D4, 0x05BC}, 662{ 0xFB4B, 0x05D5, 0x05B9}, 663{ 0xFB35, 0x05D5, 0x05BC}, 664{ 0xFB36, 0x05D6, 0x05BC}, 665{ 0xFB38, 0x05D8, 0x05BC}, 666{ 0xFB1D, 0x05D9, 0x05B4}, 667{ 0xFB39, 0x05D9, 0x05BC}, 668{ 0xFB3A, 0x05DA, 0x05BC}, 669{ 0xFB3B, 0x05DB, 0x05BC}, 670{ 0xFB4D, 0x05DB, 0x05BF}, 671{ 0xFB3C, 0x05DC, 0x05BC}, 672{ 0xFB3E, 0x05DE, 0x05BC}, 673{ 0xFB40, 0x05E0, 0x05BC}, 674{ 0xFB41, 0x05E1, 0x05BC}, 675{ 0xFB43, 0x05E3, 0x05BC}, 676{ 0xFB44, 0x05E4, 0x05BC}, 677{ 0xFB4E, 0x05E4, 0x05BF}, 678{ 0xFB46, 0x05E6, 0x05BC}, 679{ 0xFB47, 0x05E7, 0x05BC}, 680{ 0xFB48, 0x05E8, 0x05BC}, 681{ 0xFB49, 0x05E9, 0x05BC}, 682{ 0xFB2A, 0x05E9, 0x05C1}, 683{ 0xFB2B, 0x05E9, 0x05C2}, 684{ 0xFB4A, 0x05EA, 0x05BC}, 685{ 0xFB1F, 0x05F2, 0x05B7}, 686{ 0x0622, 0x0627, 0x0653}, 687{ 0x0623, 0x0627, 0x0654}, 688{ 0x0625, 0x0627, 0x0655}, 689{ 0x0624, 0x0648, 0x0654}, 690{ 0x0626, 0x064A, 0x0654}, 691{ 0x06C2, 0x06C1, 0x0654}, 692{ 0x06D3, 0x06D2, 0x0654}, 693{ 0x06C0, 0x06D5, 0x0654}, 694{ 0x0958, 0x0915, 0x093C}, 695{ 0x0959, 0x0916, 0x093C}, 696{ 0x095A, 0x0917, 0x093C}, 697{ 0x095B, 0x091C, 0x093C}, 698{ 0x095C, 0x0921, 0x093C}, 699{ 0x095D, 0x0922, 0x093C}, 700{ 0x0929, 0x0928, 0x093C}, 701{ 0x095E, 0x092B, 0x093C}, 702{ 0x095F, 0x092F, 0x093C}, 703{ 0x0931, 0x0930, 0x093C}, 704{ 0x0934, 0x0933, 0x093C}, 705{ 0x09DC, 0x09A1, 0x09BC}, 706{ 0x09DD, 0x09A2, 0x09BC}, 707{ 0x09DF, 0x09AF, 0x09BC}, 708{ 0x09CB, 0x09C7, 0x09BE}, 709{ 0x09CC, 0x09C7, 0x09D7}, 710{ 0x0A59, 0x0A16, 0x0A3C}, 711{ 0x0A5A, 0x0A17, 0x0A3C}, 712{ 0x0A5B, 0x0A1C, 0x0A3C}, 713{ 0x0A5E, 0x0A2B, 0x0A3C}, 714{ 0x0A33, 0x0A32, 0x0A3C}, 715{ 0x0A36, 0x0A38, 0x0A3C}, 716{ 0x0B5C, 0x0B21, 0x0B3C}, 717{ 0x0B5D, 0x0B22, 0x0B3C}, 718{ 0x0B4B, 0x0B47, 0x0B3E}, 719{ 0x0B48, 0x0B47, 0x0B56}, 720{ 0x0B4C, 0x0B47, 0x0B57}, 721{ 0x0B94, 0x0B92, 0x0BD7}, 722{ 0x0BCA, 0x0BC6, 0x0BBE}, 723{ 0x0BCC, 0x0BC6, 0x0BD7}, 724{ 0x0BCB, 0x0BC7, 0x0BBE}, 725{ 0x0C48, 0x0C46, 0x0C56}, 726{ 0x0CC0, 0x0CBF, 0x0CD5}, 727{ 0x0CCA, 0x0CC6, 0x0CC2}, 728{ 0x0CC7, 0x0CC6, 0x0CD5}, 729{ 0x0CC8, 0x0CC6, 0x0CD6}, 730{ 0x0CCB, 0x0CCA, 0x0CD5}, 731{ 0x0D4A, 0x0D46, 0x0D3E}, 732{ 0x0D4C, 0x0D46, 0x0D57}, 733{ 0x0D4B, 0x0D47, 0x0D3E}, 734{ 0x0DDA, 0x0DD9, 0x0DCA}, 735{ 0x0DDC, 0x0DD9, 0x0DCF}, 736{ 0x0DDE, 0x0DD9, 0x0DDF}, 737{ 0x0DDD, 0x0DDC, 0x0DCA}, 738{ 0x0F69, 0x0F40, 0x0FB5}, 739{ 0x0F43, 0x0F42, 0x0FB7}, 740{ 0x0F4D, 0x0F4C, 0x0FB7}, 741{ 0x0F52, 0x0F51, 0x0FB7}, 742{ 0x0F57, 0x0F56, 0x0FB7}, 743{ 0x0F5C, 0x0F5B, 0x0FB7}, 744{ 0x0F73, 0x0F71, 0x0F72}, 745{ 0x0F75, 0x0F71, 0x0F74}, 746{ 0x0F81, 0x0F71, 0x0F80}, 747{ 0x0FB9, 0x0F90, 0x0FB5}, 748{ 0x0F93, 0x0F92, 0x0FB7}, 749{ 0x0F9D, 0x0F9C, 0x0FB7}, 750{ 0x0FA2, 0x0FA1, 0x0FB7}, 751{ 0x0FA7, 0x0FA6, 0x0FB7}, 752{ 0x0FAC, 0x0FAB, 0x0FB7}, 753{ 0x0F76, 0x0FB2, 0x0F80}, 754{ 0x0F78, 0x0FB3, 0x0F80}, 755{ 0x1026, 0x1025, 0x102E}, 756{ 0x1B06, 0x1B05, 0x1B35}, 757{ 0x1B08, 0x1B07, 0x1B35}, 758{ 0x1B0A, 0x1B09, 0x1B35}, 759{ 0x1B0C, 0x1B0B, 0x1B35}, 760{ 0x1B0E, 0x1B0D, 0x1B35}, 761{ 0x1B12, 0x1B11, 0x1B35}, 762{ 0x1B3B, 0x1B3A, 0x1B35}, 763{ 0x1B3D, 0x1B3C, 0x1B35}, 764{ 0x1B40, 0x1B3E, 0x1B35}, 765{ 0x1B41, 0x1B3F, 0x1B35}, 766{ 0x1B43, 0x1B42, 0x1B35}, 767{ 0x1E38, 0x1E36, 0x0304}, 768{ 0x1E39, 0x1E37, 0x0304}, 769{ 0x1E5C, 0x1E5A, 0x0304}, 770{ 0x1E5D, 0x1E5B, 0x0304}, 771{ 0x1E68, 0x1E62, 0x0307}, 772{ 0x1E69, 0x1E63, 0x0307}, 773{ 0x1EAC, 0x1EA0, 0x0302}, 774{ 0x1EB6, 0x1EA0, 0x0306}, 775{ 0x1EAD, 0x1EA1, 0x0302}, 776{ 0x1EB7, 0x1EA1, 0x0306}, 777{ 0x1EC6, 0x1EB8, 0x0302}, 778{ 0x1EC7, 0x1EB9, 0x0302}, 779{ 0x1ED8, 0x1ECC, 0x0302}, 780{ 0x1ED9, 0x1ECD, 0x0302}, 781{ 0x1F02, 0x1F00, 0x0300}, 782{ 0x1F04, 0x1F00, 0x0301}, 783{ 0x1F06, 0x1F00, 0x0342}, 784{ 0x1F80, 0x1F00, 0x0345}, 785{ 0x1F03, 0x1F01, 0x0300}, 786{ 0x1F05, 0x1F01, 0x0301}, 787{ 0x1F07, 0x1F01, 0x0342}, 788{ 0x1F81, 0x1F01, 0x0345}, 789{ 0x1F82, 0x1F02, 0x0345}, 790{ 0x1F83, 0x1F03, 0x0345}, 791{ 0x1F84, 0x1F04, 0x0345}, 792{ 0x1F85, 0x1F05, 0x0345}, 793{ 0x1F86, 0x1F06, 0x0345}, 794{ 0x1F87, 0x1F07, 0x0345}, 795{ 0x1F0A, 0x1F08, 0x0300}, 796{ 0x1F0C, 0x1F08, 0x0301}, 797{ 0x1F0E, 0x1F08, 0x0342}, 798{ 0x1F88, 0x1F08, 0x0345}, 799{ 0x1F0B, 0x1F09, 0x0300}, 800{ 0x1F0D, 0x1F09, 0x0301}, 801{ 0x1F0F, 0x1F09, 0x0342}, 802{ 0x1F89, 0x1F09, 0x0345}, 803{ 0x1F8A, 0x1F0A, 0x0345}, 804{ 0x1F8B, 0x1F0B, 0x0345}, 805{ 0x1F8C, 0x1F0C, 0x0345}, 806{ 0x1F8D, 0x1F0D, 0x0345}, 807{ 0x1F8E, 0x1F0E, 0x0345}, 808{ 0x1F8F, 0x1F0F, 0x0345}, 809{ 0x1F12, 0x1F10, 0x0300}, 810{ 0x1F14, 0x1F10, 0x0301}, 811{ 0x1F13, 0x1F11, 0x0300}, 812{ 0x1F15, 0x1F11, 0x0301}, 813{ 0x1F1A, 0x1F18, 0x0300}, 814{ 0x1F1C, 0x1F18, 0x0301}, 815{ 0x1F1B, 0x1F19, 0x0300}, 816{ 0x1F1D, 0x1F19, 0x0301}, 817{ 0x1F22, 0x1F20, 0x0300}, 818{ 0x1F24, 0x1F20, 0x0301}, 819{ 0x1F26, 0x1F20, 0x0342}, 820{ 0x1F90, 0x1F20, 0x0345}, 821{ 0x1F23, 0x1F21, 0x0300}, 822{ 0x1F25, 0x1F21, 0x0301}, 823{ 0x1F27, 0x1F21, 0x0342}, 824{ 0x1F91, 0x1F21, 0x0345}, 825{ 0x1F92, 0x1F22, 0x0345}, 826{ 0x1F93, 0x1F23, 0x0345}, 827{ 0x1F94, 0x1F24, 0x0345}, 828{ 0x1F95, 0x1F25, 0x0345}, 829{ 0x1F96, 0x1F26, 0x0345}, 830{ 0x1F97, 0x1F27, 0x0345}, 831{ 0x1F2A, 0x1F28, 0x0300}, 832{ 0x1F2C, 0x1F28, 0x0301}, 833{ 0x1F2E, 0x1F28, 0x0342}, 834{ 0x1F98, 0x1F28, 0x0345}, 835{ 0x1F2B, 0x1F29, 0x0300}, 836{ 0x1F2D, 0x1F29, 0x0301}, 837{ 0x1F2F, 0x1F29, 0x0342}, 838{ 0x1F99, 0x1F29, 0x0345}, 839{ 0x1F9A, 0x1F2A, 0x0345}, 840{ 0x1F9B, 0x1F2B, 0x0345}, 841{ 0x1F9C, 0x1F2C, 0x0345}, 842{ 0x1F9D, 0x1F2D, 0x0345}, 843{ 0x1F9E, 0x1F2E, 0x0345}, 844{ 0x1F9F, 0x1F2F, 0x0345}, 845{ 0x1F32, 0x1F30, 0x0300}, 846{ 0x1F34, 0x1F30, 0x0301}, 847{ 0x1F36, 0x1F30, 0x0342}, 848{ 0x1F33, 0x1F31, 0x0300}, 849{ 0x1F35, 0x1F31, 0x0301}, 850{ 0x1F37, 0x1F31, 0x0342}, 851{ 0x1F3A, 0x1F38, 0x0300}, 852{ 0x1F3C, 0x1F38, 0x0301}, 853{ 0x1F3E, 0x1F38, 0x0342}, 854{ 0x1F3B, 0x1F39, 0x0300}, 855{ 0x1F3D, 0x1F39, 0x0301}, 856{ 0x1F3F, 0x1F39, 0x0342}, 857{ 0x1F42, 0x1F40, 0x0300}, 858{ 0x1F44, 0x1F40, 0x0301}, 859{ 0x1F43, 0x1F41, 0x0300}, 860{ 0x1F45, 0x1F41, 0x0301}, 861{ 0x1F4A, 0x1F48, 0x0300}, 862{ 0x1F4C, 0x1F48, 0x0301}, 863{ 0x1F4B, 0x1F49, 0x0300}, 864{ 0x1F4D, 0x1F49, 0x0301}, 865{ 0x1F52, 0x1F50, 0x0300}, 866{ 0x1F54, 0x1F50, 0x0301}, 867{ 0x1F56, 0x1F50, 0x0342}, 868{ 0x1F53, 0x1F51, 0x0300}, 869{ 0x1F55, 0x1F51, 0x0301}, 870{ 0x1F57, 0x1F51, 0x0342}, 871{ 0x1F5B, 0x1F59, 0x0300}, 872{ 0x1F5D, 0x1F59, 0x0301}, 873{ 0x1F5F, 0x1F59, 0x0342}, 874{ 0x1F62, 0x1F60, 0x0300}, 875{ 0x1F64, 0x1F60, 0x0301}, 876{ 0x1F66, 0x1F60, 0x0342}, 877{ 0x1FA0, 0x1F60, 0x0345}, 878{ 0x1F63, 0x1F61, 0x0300}, 879{ 0x1F65, 0x1F61, 0x0301}, 880{ 0x1F67, 0x1F61, 0x0342}, 881{ 0x1FA1, 0x1F61, 0x0345}, 882{ 0x1FA2, 0x1F62, 0x0345}, 883{ 0x1FA3, 0x1F63, 0x0345}, 884{ 0x1FA4, 0x1F64, 0x0345}, 885{ 0x1FA5, 0x1F65, 0x0345}, 886{ 0x1FA6, 0x1F66, 0x0345}, 887{ 0x1FA7, 0x1F67, 0x0345}, 888{ 0x1F6A, 0x1F68, 0x0300}, 889{ 0x1F6C, 0x1F68, 0x0301}, 890{ 0x1F6E, 0x1F68, 0x0342}, 891{ 0x1FA8, 0x1F68, 0x0345}, 892{ 0x1F6B, 0x1F69, 0x0300}, 893{ 0x1F6D, 0x1F69, 0x0301}, 894{ 0x1F6F, 0x1F69, 0x0342}, 895{ 0x1FA9, 0x1F69, 0x0345}, 896{ 0x1FAA, 0x1F6A, 0x0345}, 897{ 0x1FAB, 0x1F6B, 0x0345}, 898{ 0x1FAC, 0x1F6C, 0x0345}, 899{ 0x1FAD, 0x1F6D, 0x0345}, 900{ 0x1FAE, 0x1F6E, 0x0345}, 901{ 0x1FAF, 0x1F6F, 0x0345}, 902{ 0x1FB2, 0x1F70, 0x0345}, 903{ 0x1FC2, 0x1F74, 0x0345}, 904{ 0x1FF2, 0x1F7C, 0x0345}, 905{ 0x1FB7, 0x1FB6, 0x0345}, 906{ 0x1FCD, 0x1FBF, 0x0300}, 907{ 0x1FCE, 0x1FBF, 0x0301}, 908{ 0x1FCF, 0x1FBF, 0x0342}, 909{ 0x1FC7, 0x1FC6, 0x0345}, 910{ 0x1FF7, 0x1FF6, 0x0345}, 911{ 0x1FDD, 0x1FFE, 0x0300}, 912{ 0x1FDE, 0x1FFE, 0x0301}, 913{ 0x1FDF, 0x1FFE, 0x0342}, 914{ 0x219A, 0x2190, 0x0338}, 915{ 0x219B, 0x2192, 0x0338}, 916{ 0x21AE, 0x2194, 0x0338}, 917{ 0x21CD, 0x21D0, 0x0338}, 918{ 0x21CF, 0x21D2, 0x0338}, 919{ 0x21CE, 0x21D4, 0x0338}, 920{ 0x2204, 0x2203, 0x0338}, 921{ 0x2209, 0x2208, 0x0338}, 922{ 0x220C, 0x220B, 0x0338}, 923{ 0x2224, 0x2223, 0x0338}, 924{ 0x2226, 0x2225, 0x0338}, 925{ 0x2241, 0x223C, 0x0338}, 926{ 0x2244, 0x2243, 0x0338}, 927{ 0x2247, 0x2245, 0x0338}, 928{ 0x2249, 0x2248, 0x0338}, 929{ 0x226D, 0x224D, 0x0338}, 930{ 0x2262, 0x2261, 0x0338}, 931{ 0x2270, 0x2264, 0x0338}, 932{ 0x2271, 0x2265, 0x0338}, 933{ 0x2274, 0x2272, 0x0338}, 934{ 0x2275, 0x2273, 0x0338}, 935{ 0x2278, 0x2276, 0x0338}, 936{ 0x2279, 0x2277, 0x0338}, 937{ 0x2280, 0x227A, 0x0338}, 938{ 0x2281, 0x227B, 0x0338}, 939{ 0x22E0, 0x227C, 0x0338}, 940{ 0x22E1, 0x227D, 0x0338}, 941{ 0x2284, 0x2282, 0x0338}, 942{ 0x2285, 0x2283, 0x0338}, 943{ 0x2288, 0x2286, 0x0338}, 944{ 0x2289, 0x2287, 0x0338}, 945{ 0x22E2, 0x2291, 0x0338}, 946{ 0x22E3, 0x2292, 0x0338}, 947{ 0x22AC, 0x22A2, 0x0338}, 948{ 0x22AD, 0x22A8, 0x0338}, 949{ 0x22AE, 0x22A9, 0x0338}, 950{ 0x22AF, 0x22AB, 0x0338}, 951{ 0x22EA, 0x22B2, 0x0338}, 952{ 0x22EB, 0x22B3, 0x0338}, 953{ 0x22EC, 0x22B4, 0x0338}, 954{ 0x22ED, 0x22B5, 0x0338}, 955{ 0x2ADC, 0x2ADD, 0x0338}, 956{ 0x3094, 0x3046, 0x3099}, 957{ 0x304C, 0x304B, 0x3099}, 958{ 0x304E, 0x304D, 0x3099}, 959{ 0x3050, 0x304F, 0x3099}, 960{ 0x3052, 0x3051, 0x3099}, 961{ 0x3054, 0x3053, 0x3099}, 962{ 0x3056, 0x3055, 0x3099}, 963{ 0x3058, 0x3057, 0x3099}, 964{ 0x305A, 0x3059, 0x3099}, 965{ 0x305C, 0x305B, 0x3099}, 966{ 0x305E, 0x305D, 0x3099}, 967{ 0x3060, 0x305F, 0x3099}, 968{ 0x3062, 0x3061, 0x3099}, 969{ 0x3065, 0x3064, 0x3099}, 970{ 0x3067, 0x3066, 0x3099}, 971{ 0x3069, 0x3068, 0x3099}, 972{ 0x3070, 0x306F, 0x3099}, 973{ 0x3071, 0x306F, 0x309A}, 974{ 0x3073, 0x3072, 0x3099}, 975{ 0x3074, 0x3072, 0x309A}, 976{ 0x3076, 0x3075, 0x3099}, 977{ 0x3077, 0x3075, 0x309A}, 978{ 0x3079, 0x3078, 0x3099}, 979{ 0x307A, 0x3078, 0x309A}, 980{ 0x307C, 0x307B, 0x3099}, 981{ 0x307D, 0x307B, 0x309A}, 982{ 0x309E, 0x309D, 0x3099}, 983{ 0x30F4, 0x30A6, 0x3099}, 984{ 0x30AC, 0x30AB, 0x3099}, 985{ 0x30AE, 0x30AD, 0x3099}, 986{ 0x30B0, 0x30AF, 0x3099}, 987{ 0x30B2, 0x30B1, 0x3099}, 988{ 0x30B4, 0x30B3, 0x3099}, 989{ 0x30B6, 0x30B5, 0x3099}, 990{ 0x30B8, 0x30B7, 0x3099}, 991{ 0x30BA, 0x30B9, 0x3099}, 992{ 0x30BC, 0x30BB, 0x3099}, 993{ 0x30BE, 0x30BD, 0x3099}, 994{ 0x30C0, 0x30BF, 0x3099}, 995{ 0x30C2, 0x30C1, 0x3099}, 996{ 0x30C5, 0x30C4, 0x3099}, 997{ 0x30C7, 0x30C6, 0x3099}, 998{ 0x30C9, 0x30C8, 0x3099}, 999{ 0x30D0, 0x30CF, 0x3099}, 1000{ 0x30D1, 0x30CF, 0x309A}, 1001{ 0x30D3, 0x30D2, 0x3099}, 1002{ 0x30D4, 0x30D2, 0x309A}, 1003{ 0x30D6, 0x30D5, 0x3099}, 1004{ 0x30D7, 0x30D5, 0x309A}, 1005{ 0x30D9, 0x30D8, 0x3099}, 1006{ 0x30DA, 0x30D8, 0x309A}, 1007{ 0x30DC, 0x30DB, 0x3099}, 1008{ 0x30DD, 0x30DB, 0x309A}, 1009{ 0x30F7, 0x30EF, 0x3099}, 1010{ 0x30F8, 0x30F0, 0x3099}, 1011{ 0x30F9, 0x30F1, 0x3099}, 1012{ 0x30FA, 0x30F2, 0x3099}, 1013{ 0x30FE, 0x30FD, 0x3099}, 1014{ 0xFB2C, 0xFB49, 0x05C1}, 1015{ 0xFB2D, 0xFB49, 0x05C2}, 1016{ 0x1109A, 0x11099, 0x110BA}, 1017{ 0x1109C, 0x1109B, 0x110BA}, 1018{ 0x110AB, 0x110A5, 0x110BA}, 1019{ 0x1112E, 0x11131, 0x11127}, 1020{ 0x1112F, 0x11132, 0x11127}, 1021{ 0x1134B, 0x11347, 0x1133E}, 1022{ 0x1134C, 0x11347, 0x11357}, 1023{ 0x114BC, 0x114B9, 0x114B0}, 1024{ 0x114BB, 0x114B9, 0x114BA}, 1025{ 0x114BE, 0x114B9, 0x114BD}, 1026{ 0x115BA, 0x115B8, 0x115AF}, 1027{ 0x115BB, 0x115B9, 0x115AF}, 1028{ 0x1D15E, 0x1D157, 0x1D165}, 1029{ 0x1D15F, 0x1D158, 0x1D165}, 1030{ 0x1D160, 0x1D15F, 0x1D16E}, 1031{ 0x1D161, 0x1D15F, 0x1D16F}, 1032{ 0x1D162, 0x1D15F, 0x1D170}, 1033{ 0x1D163, 0x1D15F, 0x1D171}, 1034{ 0x1D164, 0x1D15F, 0x1D172}, 1035{ 0x1D1BB, 0x1D1B9, 0x1D165}, 1036{ 0x1D1BC, 0x1D1BA, 0x1D165}, 1037{ 0x1D1BD, 0x1D1BB, 0x1D16E}, 1038{ 0x1D1BF, 0x1D1BB, 0x1D16F}, 1039{ 0x1D1BE, 0x1D1BC, 0x1D16E}, 1040{ 0x1D1C0, 0x1D1BC, 0x1D16F}, 1041}; 1042 1043#define UNICODE_SHIFT 21 1044 1045int do_precomposition(int base, int comb) { 1046 int min = 0; 1047 int max = sizeof(precompositions) / sizeof(precompositions[0]) - 1; 1048 unsigned long sought = ((unsigned) base << UNICODE_SHIFT) | (unsigned) comb; 1049 1050 /* binary search */ 1051 while (max >= min) { 1052 int mid = (min + max) / 2; 1053 unsigned long that = ((unsigned long) precompositions[mid].base << UNICODE_SHIFT) | ((unsigned) precompositions[mid].comb); 1054 if (that < sought) { 1055 min = mid + 1; 1056 } else if (that > sought) { 1057 max = mid - 1; 1058 } else { 1059 return precompositions[mid].replacement; 1060 } 1061 } 1062 /* no match */ 1063 return -1; 1064} 1065