sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

isalpharune.c (16879B)


      1 /* Automatically generated by mkrunetype.awk */
      2 #include <stdlib.h>
      3 
      4 #include "../utf.h"
      5 #include "runetype.h"
      6 
      7 static const Rune alpha3[][2] = {
      8 	{ 0x00D6, 0x00D8 },
      9 	{ 0x00F6, 0x00F8 },
     10 	{ 0x02EC, 0x02EE },
     11 	{ 0x0374, 0x0376 },
     12 	{ 0x037D, 0x037F },
     13 	{ 0x0386, 0x0388 },
     14 	{ 0x038A, 0x038E },
     15 	{ 0x03A1, 0x03A3 },
     16 	{ 0x03F5, 0x03F7 },
     17 	{ 0x052F, 0x0531 },
     18 	{ 0x066F, 0x0671 },
     19 	{ 0x06D3, 0x06D5 },
     20 	{ 0x0710, 0x0712 },
     21 	{ 0x0887, 0x0889 },
     22 	{ 0x09A8, 0x09AA },
     23 	{ 0x09B0, 0x09B2 },
     24 	{ 0x09DD, 0x09DF },
     25 	{ 0x0A28, 0x0A2A },
     26 	{ 0x0A30, 0x0A32 },
     27 	{ 0x0A33, 0x0A35 },
     28 	{ 0x0A36, 0x0A38 },
     29 	{ 0x0A5C, 0x0A5E },
     30 	{ 0x0A8D, 0x0A8F },
     31 	{ 0x0A91, 0x0A93 },
     32 	{ 0x0AA8, 0x0AAA },
     33 	{ 0x0AB0, 0x0AB2 },
     34 	{ 0x0AB3, 0x0AB5 },
     35 	{ 0x0B28, 0x0B2A },
     36 	{ 0x0B30, 0x0B32 },
     37 	{ 0x0B33, 0x0B35 },
     38 	{ 0x0B5D, 0x0B5F },
     39 	{ 0x0B83, 0x0B85 },
     40 	{ 0x0B90, 0x0B92 },
     41 	{ 0x0B9A, 0x0B9E },
     42 	{ 0x0C0C, 0x0C0E },
     43 	{ 0x0C10, 0x0C12 },
     44 	{ 0x0C28, 0x0C2A },
     45 	{ 0x0C8C, 0x0C8E },
     46 	{ 0x0C90, 0x0C92 },
     47 	{ 0x0CA8, 0x0CAA },
     48 	{ 0x0CB3, 0x0CB5 },
     49 	{ 0x0CDE, 0x0CE0 },
     50 	{ 0x0D0C, 0x0D0E },
     51 	{ 0x0D10, 0x0D12 },
     52 	{ 0x0DB1, 0x0DB3 },
     53 	{ 0x0DBB, 0x0DBD },
     54 	{ 0x0E30, 0x0E32 },
     55 	{ 0x0E82, 0x0E86 },
     56 	{ 0x0E8A, 0x0E8C },
     57 	{ 0x0EA3, 0x0EA7 },
     58 	{ 0x0EB0, 0x0EB2 },
     59 	{ 0x0EC4, 0x0EC6 },
     60 	{ 0x0F47, 0x0F49 },
     61 	{ 0x10C5, 0x10C7 },
     62 	{ 0x10FA, 0x10FC },
     63 	{ 0x1248, 0x124A },
     64 	{ 0x1256, 0x125A },
     65 	{ 0x1288, 0x128A },
     66 	{ 0x12B0, 0x12B2 },
     67 	{ 0x12BE, 0x12C2 },
     68 	{ 0x12D6, 0x12D8 },
     69 	{ 0x1310, 0x1312 },
     70 	{ 0x167F, 0x1681 },
     71 	{ 0x176C, 0x176E },
     72 	{ 0x18A8, 0x18AA },
     73 	{ 0x1CEC, 0x1CEE },
     74 	{ 0x1CF3, 0x1CF5 },
     75 	{ 0x1F57, 0x1F5F },
     76 	{ 0x1FB4, 0x1FB6 },
     77 	{ 0x1FBC, 0x1FBE },
     78 	{ 0x1FC4, 0x1FC6 },
     79 	{ 0x1FF4, 0x1FF6 },
     80 	{ 0x2113, 0x2115 },
     81 	{ 0x2124, 0x212A },
     82 	{ 0x212D, 0x212F },
     83 	{ 0x2D25, 0x2D27 },
     84 	{ 0x2DA6, 0x2DA8 },
     85 	{ 0x2DAE, 0x2DB0 },
     86 	{ 0x2DB6, 0x2DB8 },
     87 	{ 0x2DBE, 0x2DC0 },
     88 	{ 0x2DC6, 0x2DC8 },
     89 	{ 0x2DCE, 0x2DD0 },
     90 	{ 0x2DD6, 0x2DD8 },
     91 	{ 0x309F, 0x30A1 },
     92 	{ 0x30FA, 0x30FC },
     93 	{ 0x312F, 0x3131 },
     94 	{ 0xA7D1, 0xA7D5 },
     95 	{ 0xA801, 0xA803 },
     96 	{ 0xA805, 0xA807 },
     97 	{ 0xA80A, 0xA80C },
     98 	{ 0xA8FB, 0xA8FD },
     99 	{ 0xA9E4, 0xA9E6 },
    100 	{ 0xA9FE, 0xAA00 },
    101 	{ 0xAA42, 0xAA44 },
    102 	{ 0xAAAF, 0xAAB1 },
    103 	{ 0xAAC0, 0xAAC2 },
    104 	{ 0xAB26, 0xAB28 },
    105 	{ 0xAB2E, 0xAB30 },
    106 	{ 0xAB5A, 0xAB5C },
    107 	{ 0xFB1D, 0xFB1F },
    108 	{ 0xFB28, 0xFB2A },
    109 	{ 0xFB36, 0xFB38 },
    110 	{ 0xFB3C, 0xFB40 },
    111 	{ 0xFB41, 0xFB43 },
    112 	{ 0xFB44, 0xFB46 },
    113 	{ 0xFE74, 0xFE76 },
    114 	{ 0x1000B, 0x1000D },
    115 	{ 0x10026, 0x10028 },
    116 	{ 0x1003A, 0x1003C },
    117 	{ 0x1003D, 0x1003F },
    118 	{ 0x10340, 0x10342 },
    119 	{ 0x1057A, 0x1057C },
    120 	{ 0x1058A, 0x1058C },
    121 	{ 0x10592, 0x10594 },
    122 	{ 0x10595, 0x10597 },
    123 	{ 0x105A1, 0x105A3 },
    124 	{ 0x105B1, 0x105B3 },
    125 	{ 0x105B9, 0x105BB },
    126 	{ 0x10785, 0x10787 },
    127 	{ 0x107B0, 0x107B2 },
    128 	{ 0x10808, 0x1080A },
    129 	{ 0x10835, 0x10837 },
    130 	{ 0x108F2, 0x108F4 },
    131 	{ 0x10A13, 0x10A15 },
    132 	{ 0x10A17, 0x10A19 },
    133 	{ 0x10AC7, 0x10AC9 },
    134 	{ 0x111DA, 0x111DC },
    135 	{ 0x11211, 0x11213 },
    136 	{ 0x11286, 0x1128A },
    137 	{ 0x1128D, 0x1128F },
    138 	{ 0x1129D, 0x1129F },
    139 	{ 0x11328, 0x1132A },
    140 	{ 0x11330, 0x11332 },
    141 	{ 0x11333, 0x11335 },
    142 	{ 0x114C5, 0x114C7 },
    143 	{ 0x11913, 0x11915 },
    144 	{ 0x11916, 0x11918 },
    145 	{ 0x1193F, 0x11941 },
    146 	{ 0x119E1, 0x119E3 },
    147 	{ 0x11C08, 0x11C0A },
    148 	{ 0x11D06, 0x11D08 },
    149 	{ 0x11D09, 0x11D0B },
    150 	{ 0x11D65, 0x11D67 },
    151 	{ 0x11D68, 0x11D6A },
    152 	{ 0x11F02, 0x11F04 },
    153 	{ 0x11F10, 0x11F12 },
    154 	{ 0x16FE1, 0x16FE3 },
    155 	{ 0x1AFF3, 0x1AFF5 },
    156 	{ 0x1AFFB, 0x1AFFD },
    157 	{ 0x1AFFE, 0x1B000 },
    158 	{ 0x1D454, 0x1D456 },
    159 	{ 0x1D49C, 0x1D49E },
    160 	{ 0x1D4AC, 0x1D4AE },
    161 	{ 0x1D4B9, 0x1D4BD },
    162 	{ 0x1D4C3, 0x1D4C5 },
    163 	{ 0x1D505, 0x1D507 },
    164 	{ 0x1D514, 0x1D516 },
    165 	{ 0x1D51C, 0x1D51E },
    166 	{ 0x1D539, 0x1D53B },
    167 	{ 0x1D53E, 0x1D540 },
    168 	{ 0x1D544, 0x1D546 },
    169 	{ 0x1D550, 0x1D552 },
    170 	{ 0x1D6C0, 0x1D6C2 },
    171 	{ 0x1D6DA, 0x1D6DC },
    172 	{ 0x1D6FA, 0x1D6FC },
    173 	{ 0x1D714, 0x1D716 },
    174 	{ 0x1D734, 0x1D736 },
    175 	{ 0x1D74E, 0x1D750 },
    176 	{ 0x1D76E, 0x1D770 },
    177 	{ 0x1D788, 0x1D78A },
    178 	{ 0x1D7A8, 0x1D7AA },
    179 	{ 0x1D7C2, 0x1D7C4 },
    180 	{ 0x1E7E6, 0x1E7E8 },
    181 	{ 0x1E7EB, 0x1E7ED },
    182 	{ 0x1E7EE, 0x1E7F0 },
    183 	{ 0x1E7FE, 0x1E800 },
    184 	{ 0x1EE03, 0x1EE05 },
    185 	{ 0x1EE1F, 0x1EE21 },
    186 	{ 0x1EE22, 0x1EE24 },
    187 	{ 0x1EE27, 0x1EE29 },
    188 	{ 0x1EE32, 0x1EE34 },
    189 	{ 0x1EE37, 0x1EE3B },
    190 	{ 0x1EE47, 0x1EE4D },
    191 	{ 0x1EE4F, 0x1EE51 },
    192 	{ 0x1EE52, 0x1EE54 },
    193 	{ 0x1EE57, 0x1EE61 },
    194 	{ 0x1EE62, 0x1EE64 },
    195 	{ 0x1EE6A, 0x1EE6C },
    196 	{ 0x1EE72, 0x1EE74 },
    197 	{ 0x1EE77, 0x1EE79 },
    198 	{ 0x1EE7C, 0x1EE80 },
    199 	{ 0x1EE89, 0x1EE8B },
    200 	{ 0x1EEA3, 0x1EEA5 },
    201 	{ 0x1EEA9, 0x1EEAB },
    202 };
    203 
    204 static const Rune alpha2[][2] = {
    205 	{ 0x0041, 0x005A },
    206 	{ 0x0061, 0x007A },
    207 	{ 0x00C0, 0x00D6 },
    208 	{ 0x00D8, 0x00F6 },
    209 	{ 0x00F8, 0x02C1 },
    210 	{ 0x02C6, 0x02D1 },
    211 	{ 0x02E0, 0x02E4 },
    212 	{ 0x0370, 0x0374 },
    213 	{ 0x0376, 0x0377 },
    214 	{ 0x037A, 0x037D },
    215 	{ 0x0388, 0x038A },
    216 	{ 0x038E, 0x03A1 },
    217 	{ 0x03A3, 0x03F5 },
    218 	{ 0x03F7, 0x0481 },
    219 	{ 0x048A, 0x052F },
    220 	{ 0x0531, 0x0556 },
    221 	{ 0x0560, 0x0588 },
    222 	{ 0x05D0, 0x05EA },
    223 	{ 0x05EF, 0x05F2 },
    224 	{ 0x0620, 0x064A },
    225 	{ 0x066E, 0x066F },
    226 	{ 0x0671, 0x06D3 },
    227 	{ 0x06E5, 0x06E6 },
    228 	{ 0x06EE, 0x06EF },
    229 	{ 0x06FA, 0x06FC },
    230 	{ 0x0712, 0x072F },
    231 	{ 0x074D, 0x07A5 },
    232 	{ 0x07CA, 0x07EA },
    233 	{ 0x07F4, 0x07F5 },
    234 	{ 0x0800, 0x0815 },
    235 	{ 0x0840, 0x0858 },
    236 	{ 0x0860, 0x086A },
    237 	{ 0x0870, 0x0887 },
    238 	{ 0x0889, 0x088E },
    239 	{ 0x08A0, 0x08C9 },
    240 	{ 0x0904, 0x0939 },
    241 	{ 0x0958, 0x0961 },
    242 	{ 0x0971, 0x0980 },
    243 	{ 0x0985, 0x098C },
    244 	{ 0x098F, 0x0990 },
    245 	{ 0x0993, 0x09A8 },
    246 	{ 0x09AA, 0x09B0 },
    247 	{ 0x09B6, 0x09B9 },
    248 	{ 0x09DC, 0x09DD },
    249 	{ 0x09DF, 0x09E1 },
    250 	{ 0x09F0, 0x09F1 },
    251 	{ 0x0A05, 0x0A0A },
    252 	{ 0x0A0F, 0x0A10 },
    253 	{ 0x0A13, 0x0A28 },
    254 	{ 0x0A2A, 0x0A30 },
    255 	{ 0x0A32, 0x0A33 },
    256 	{ 0x0A35, 0x0A36 },
    257 	{ 0x0A38, 0x0A39 },
    258 	{ 0x0A59, 0x0A5C },
    259 	{ 0x0A72, 0x0A74 },
    260 	{ 0x0A85, 0x0A8D },
    261 	{ 0x0A8F, 0x0A91 },
    262 	{ 0x0A93, 0x0AA8 },
    263 	{ 0x0AAA, 0x0AB0 },
    264 	{ 0x0AB2, 0x0AB3 },
    265 	{ 0x0AB5, 0x0AB9 },
    266 	{ 0x0AE0, 0x0AE1 },
    267 	{ 0x0B05, 0x0B0C },
    268 	{ 0x0B0F, 0x0B10 },
    269 	{ 0x0B13, 0x0B28 },
    270 	{ 0x0B2A, 0x0B30 },
    271 	{ 0x0B32, 0x0B33 },
    272 	{ 0x0B35, 0x0B39 },
    273 	{ 0x0B5C, 0x0B5D },
    274 	{ 0x0B5F, 0x0B61 },
    275 	{ 0x0B85, 0x0B8A },
    276 	{ 0x0B8E, 0x0B90 },
    277 	{ 0x0B92, 0x0B95 },
    278 	{ 0x0B99, 0x0B9A },
    279 	{ 0x0B9E, 0x0B9F },
    280 	{ 0x0BA3, 0x0BA4 },
    281 	{ 0x0BA8, 0x0BAA },
    282 	{ 0x0BAE, 0x0BB9 },
    283 	{ 0x0C05, 0x0C0C },
    284 	{ 0x0C0E, 0x0C10 },
    285 	{ 0x0C12, 0x0C28 },
    286 	{ 0x0C2A, 0x0C39 },
    287 	{ 0x0C58, 0x0C5A },
    288 	{ 0x0C60, 0x0C61 },
    289 	{ 0x0C85, 0x0C8C },
    290 	{ 0x0C8E, 0x0C90 },
    291 	{ 0x0C92, 0x0CA8 },
    292 	{ 0x0CAA, 0x0CB3 },
    293 	{ 0x0CB5, 0x0CB9 },
    294 	{ 0x0CDD, 0x0CDE },
    295 	{ 0x0CE0, 0x0CE1 },
    296 	{ 0x0CF1, 0x0CF2 },
    297 	{ 0x0D04, 0x0D0C },
    298 	{ 0x0D0E, 0x0D10 },
    299 	{ 0x0D12, 0x0D3A },
    300 	{ 0x0D54, 0x0D56 },
    301 	{ 0x0D5F, 0x0D61 },
    302 	{ 0x0D7A, 0x0D7F },
    303 	{ 0x0D85, 0x0D96 },
    304 	{ 0x0D9A, 0x0DB1 },
    305 	{ 0x0DB3, 0x0DBB },
    306 	{ 0x0DC0, 0x0DC6 },
    307 	{ 0x0E01, 0x0E30 },
    308 	{ 0x0E32, 0x0E33 },
    309 	{ 0x0E40, 0x0E46 },
    310 	{ 0x0E81, 0x0E82 },
    311 	{ 0x0E86, 0x0E8A },
    312 	{ 0x0E8C, 0x0EA3 },
    313 	{ 0x0EA7, 0x0EB0 },
    314 	{ 0x0EB2, 0x0EB3 },
    315 	{ 0x0EC0, 0x0EC4 },
    316 	{ 0x0EDC, 0x0EDF },
    317 	{ 0x0F40, 0x0F47 },
    318 	{ 0x0F49, 0x0F6C },
    319 	{ 0x0F88, 0x0F8C },
    320 	{ 0x1000, 0x102A },
    321 	{ 0x1050, 0x1055 },
    322 	{ 0x105A, 0x105D },
    323 	{ 0x1065, 0x1066 },
    324 	{ 0x106E, 0x1070 },
    325 	{ 0x1075, 0x1081 },
    326 	{ 0x10A0, 0x10C5 },
    327 	{ 0x10D0, 0x10FA },
    328 	{ 0x10FC, 0x1248 },
    329 	{ 0x124A, 0x124D },
    330 	{ 0x1250, 0x1256 },
    331 	{ 0x125A, 0x125D },
    332 	{ 0x1260, 0x1288 },
    333 	{ 0x128A, 0x128D },
    334 	{ 0x1290, 0x12B0 },
    335 	{ 0x12B2, 0x12B5 },
    336 	{ 0x12B8, 0x12BE },
    337 	{ 0x12C2, 0x12C5 },
    338 	{ 0x12C8, 0x12D6 },
    339 	{ 0x12D8, 0x1310 },
    340 	{ 0x1312, 0x1315 },
    341 	{ 0x1318, 0x135A },
    342 	{ 0x1380, 0x138F },
    343 	{ 0x13A0, 0x13F5 },
    344 	{ 0x13F8, 0x13FD },
    345 	{ 0x1401, 0x166C },
    346 	{ 0x166F, 0x167F },
    347 	{ 0x1681, 0x169A },
    348 	{ 0x16A0, 0x16EA },
    349 	{ 0x16F1, 0x16F8 },
    350 	{ 0x1700, 0x1711 },
    351 	{ 0x171F, 0x1731 },
    352 	{ 0x1740, 0x1751 },
    353 	{ 0x1760, 0x176C },
    354 	{ 0x176E, 0x1770 },
    355 	{ 0x1780, 0x17B3 },
    356 	{ 0x1820, 0x1878 },
    357 	{ 0x1880, 0x1884 },
    358 	{ 0x1887, 0x18A8 },
    359 	{ 0x18B0, 0x18F5 },
    360 	{ 0x1900, 0x191E },
    361 	{ 0x1950, 0x196D },
    362 	{ 0x1970, 0x1974 },
    363 	{ 0x1980, 0x19AB },
    364 	{ 0x19B0, 0x19C9 },
    365 	{ 0x1A00, 0x1A16 },
    366 	{ 0x1A20, 0x1A54 },
    367 	{ 0x1B05, 0x1B33 },
    368 	{ 0x1B45, 0x1B4C },
    369 	{ 0x1B83, 0x1BA0 },
    370 	{ 0x1BAE, 0x1BAF },
    371 	{ 0x1BBA, 0x1BE5 },
    372 	{ 0x1C00, 0x1C23 },
    373 	{ 0x1C4D, 0x1C4F },
    374 	{ 0x1C5A, 0x1C7D },
    375 	{ 0x1C80, 0x1C88 },
    376 	{ 0x1C90, 0x1CBA },
    377 	{ 0x1CBD, 0x1CBF },
    378 	{ 0x1CE9, 0x1CEC },
    379 	{ 0x1CEE, 0x1CF3 },
    380 	{ 0x1CF5, 0x1CF6 },
    381 	{ 0x1D00, 0x1DBF },
    382 	{ 0x1E00, 0x1F15 },
    383 	{ 0x1F18, 0x1F1D },
    384 	{ 0x1F20, 0x1F45 },
    385 	{ 0x1F48, 0x1F4D },
    386 	{ 0x1F50, 0x1F57 },
    387 	{ 0x1F5F, 0x1F7D },
    388 	{ 0x1F80, 0x1FB4 },
    389 	{ 0x1FB6, 0x1FBC },
    390 	{ 0x1FC2, 0x1FC4 },
    391 	{ 0x1FC6, 0x1FCC },
    392 	{ 0x1FD0, 0x1FD3 },
    393 	{ 0x1FD6, 0x1FDB },
    394 	{ 0x1FE0, 0x1FEC },
    395 	{ 0x1FF2, 0x1FF4 },
    396 	{ 0x1FF6, 0x1FFC },
    397 	{ 0x2090, 0x209C },
    398 	{ 0x210A, 0x2113 },
    399 	{ 0x2119, 0x211D },
    400 	{ 0x212A, 0x212D },
    401 	{ 0x212F, 0x2139 },
    402 	{ 0x213C, 0x213F },
    403 	{ 0x2145, 0x2149 },
    404 	{ 0x2183, 0x2184 },
    405 	{ 0x2C00, 0x2CE4 },
    406 	{ 0x2CEB, 0x2CEE },
    407 	{ 0x2CF2, 0x2CF3 },
    408 	{ 0x2D00, 0x2D25 },
    409 	{ 0x2D30, 0x2D67 },
    410 	{ 0x2D80, 0x2D96 },
    411 	{ 0x2DA0, 0x2DA6 },
    412 	{ 0x2DA8, 0x2DAE },
    413 	{ 0x2DB0, 0x2DB6 },
    414 	{ 0x2DB8, 0x2DBE },
    415 	{ 0x2DC0, 0x2DC6 },
    416 	{ 0x2DC8, 0x2DCE },
    417 	{ 0x2DD0, 0x2DD6 },
    418 	{ 0x2DD8, 0x2DDE },
    419 	{ 0x3005, 0x3006 },
    420 	{ 0x3031, 0x3035 },
    421 	{ 0x303B, 0x303C },
    422 	{ 0x3041, 0x3096 },
    423 	{ 0x309D, 0x309F },
    424 	{ 0x30A1, 0x30FA },
    425 	{ 0x30FC, 0x30FF },
    426 	{ 0x3105, 0x312F },
    427 	{ 0x3131, 0x318E },
    428 	{ 0x31A0, 0x31BF },
    429 	{ 0x31F0, 0x31FF },
    430 	{ 0x9FFF, 0xA48C },
    431 	{ 0xA4D0, 0xA4FD },
    432 	{ 0xA500, 0xA60C },
    433 	{ 0xA610, 0xA61F },
    434 	{ 0xA62A, 0xA62B },
    435 	{ 0xA640, 0xA66E },
    436 	{ 0xA67F, 0xA69D },
    437 	{ 0xA6A0, 0xA6E5 },
    438 	{ 0xA717, 0xA71F },
    439 	{ 0xA722, 0xA788 },
    440 	{ 0xA78B, 0xA7CA },
    441 	{ 0xA7D0, 0xA7D1 },
    442 	{ 0xA7D5, 0xA7D9 },
    443 	{ 0xA7F2, 0xA801 },
    444 	{ 0xA803, 0xA805 },
    445 	{ 0xA807, 0xA80A },
    446 	{ 0xA80C, 0xA822 },
    447 	{ 0xA840, 0xA873 },
    448 	{ 0xA882, 0xA8B3 },
    449 	{ 0xA8F2, 0xA8F7 },
    450 	{ 0xA8FD, 0xA8FE },
    451 	{ 0xA90A, 0xA925 },
    452 	{ 0xA930, 0xA946 },
    453 	{ 0xA960, 0xA97C },
    454 	{ 0xA984, 0xA9B2 },
    455 	{ 0xA9E0, 0xA9E4 },
    456 	{ 0xA9E6, 0xA9EF },
    457 	{ 0xA9FA, 0xA9FE },
    458 	{ 0xAA00, 0xAA28 },
    459 	{ 0xAA40, 0xAA42 },
    460 	{ 0xAA44, 0xAA4B },
    461 	{ 0xAA60, 0xAA76 },
    462 	{ 0xAA7E, 0xAAAF },
    463 	{ 0xAAB5, 0xAAB6 },
    464 	{ 0xAAB9, 0xAABD },
    465 	{ 0xAADB, 0xAADD },
    466 	{ 0xAAE0, 0xAAEA },
    467 	{ 0xAAF2, 0xAAF4 },
    468 	{ 0xAB01, 0xAB06 },
    469 	{ 0xAB09, 0xAB0E },
    470 	{ 0xAB11, 0xAB16 },
    471 	{ 0xAB20, 0xAB26 },
    472 	{ 0xAB28, 0xAB2E },
    473 	{ 0xAB30, 0xAB5A },
    474 	{ 0xAB5C, 0xAB69 },
    475 	{ 0xAB70, 0xABE2 },
    476 	{ 0xD7B0, 0xD7C6 },
    477 	{ 0xD7CB, 0xD7FB },
    478 	{ 0xF900, 0xFA6D },
    479 	{ 0xFA70, 0xFAD9 },
    480 	{ 0xFB00, 0xFB06 },
    481 	{ 0xFB13, 0xFB17 },
    482 	{ 0xFB1F, 0xFB28 },
    483 	{ 0xFB2A, 0xFB36 },
    484 	{ 0xFB38, 0xFB3C },
    485 	{ 0xFB40, 0xFB41 },
    486 	{ 0xFB43, 0xFB44 },
    487 	{ 0xFB46, 0xFBB1 },
    488 	{ 0xFBD3, 0xFD3D },
    489 	{ 0xFD50, 0xFD8F },
    490 	{ 0xFD92, 0xFDC7 },
    491 	{ 0xFDF0, 0xFDFB },
    492 	{ 0xFE70, 0xFE74 },
    493 	{ 0xFE76, 0xFEFC },
    494 	{ 0xFF21, 0xFF3A },
    495 	{ 0xFF41, 0xFF5A },
    496 	{ 0xFF66, 0xFFBE },
    497 	{ 0xFFC2, 0xFFC7 },
    498 	{ 0xFFCA, 0xFFCF },
    499 	{ 0xFFD2, 0xFFD7 },
    500 	{ 0xFFDA, 0xFFDC },
    501 	{ 0x10000, 0x1000B },
    502 	{ 0x1000D, 0x10026 },
    503 	{ 0x10028, 0x1003A },
    504 	{ 0x1003C, 0x1003D },
    505 	{ 0x1003F, 0x1004D },
    506 	{ 0x10050, 0x1005D },
    507 	{ 0x10080, 0x100FA },
    508 	{ 0x10280, 0x1029C },
    509 	{ 0x102A0, 0x102D0 },
    510 	{ 0x10300, 0x1031F },
    511 	{ 0x1032D, 0x10340 },
    512 	{ 0x10342, 0x10349 },
    513 	{ 0x10350, 0x10375 },
    514 	{ 0x10380, 0x1039D },
    515 	{ 0x103A0, 0x103C3 },
    516 	{ 0x103C8, 0x103CF },
    517 	{ 0x10400, 0x1049D },
    518 	{ 0x104B0, 0x104D3 },
    519 	{ 0x104D8, 0x104FB },
    520 	{ 0x10500, 0x10527 },
    521 	{ 0x10530, 0x10563 },
    522 	{ 0x10570, 0x1057A },
    523 	{ 0x1057C, 0x1058A },
    524 	{ 0x1058C, 0x10592 },
    525 	{ 0x10594, 0x10595 },
    526 	{ 0x10597, 0x105A1 },
    527 	{ 0x105A3, 0x105B1 },
    528 	{ 0x105B3, 0x105B9 },
    529 	{ 0x105BB, 0x105BC },
    530 	{ 0x10600, 0x10736 },
    531 	{ 0x10740, 0x10755 },
    532 	{ 0x10760, 0x10767 },
    533 	{ 0x10780, 0x10785 },
    534 	{ 0x10787, 0x107B0 },
    535 	{ 0x107B2, 0x107BA },
    536 	{ 0x10800, 0x10805 },
    537 	{ 0x1080A, 0x10835 },
    538 	{ 0x10837, 0x10838 },
    539 	{ 0x1083F, 0x10855 },
    540 	{ 0x10860, 0x10876 },
    541 	{ 0x10880, 0x1089E },
    542 	{ 0x108E0, 0x108F2 },
    543 	{ 0x108F4, 0x108F5 },
    544 	{ 0x10900, 0x10915 },
    545 	{ 0x10920, 0x10939 },
    546 	{ 0x10980, 0x109B7 },
    547 	{ 0x109BE, 0x109BF },
    548 	{ 0x10A10, 0x10A13 },
    549 	{ 0x10A15, 0x10A17 },
    550 	{ 0x10A19, 0x10A35 },
    551 	{ 0x10A60, 0x10A7C },
    552 	{ 0x10A80, 0x10A9C },
    553 	{ 0x10AC0, 0x10AC7 },
    554 	{ 0x10AC9, 0x10AE4 },
    555 	{ 0x10B00, 0x10B35 },
    556 	{ 0x10B40, 0x10B55 },
    557 	{ 0x10B60, 0x10B72 },
    558 	{ 0x10B80, 0x10B91 },
    559 	{ 0x10C00, 0x10C48 },
    560 	{ 0x10C80, 0x10CB2 },
    561 	{ 0x10CC0, 0x10CF2 },
    562 	{ 0x10D00, 0x10D23 },
    563 	{ 0x10E80, 0x10EA9 },
    564 	{ 0x10EB0, 0x10EB1 },
    565 	{ 0x10F00, 0x10F1C },
    566 	{ 0x10F30, 0x10F45 },
    567 	{ 0x10F70, 0x10F81 },
    568 	{ 0x10FB0, 0x10FC4 },
    569 	{ 0x10FE0, 0x10FF6 },
    570 	{ 0x11003, 0x11037 },
    571 	{ 0x11071, 0x11072 },
    572 	{ 0x11083, 0x110AF },
    573 	{ 0x110D0, 0x110E8 },
    574 	{ 0x11103, 0x11126 },
    575 	{ 0x11150, 0x11172 },
    576 	{ 0x11183, 0x111B2 },
    577 	{ 0x111C1, 0x111C4 },
    578 	{ 0x11200, 0x11211 },
    579 	{ 0x11213, 0x1122B },
    580 	{ 0x1123F, 0x11240 },
    581 	{ 0x11280, 0x11286 },
    582 	{ 0x1128A, 0x1128D },
    583 	{ 0x1128F, 0x1129D },
    584 	{ 0x1129F, 0x112A8 },
    585 	{ 0x112B0, 0x112DE },
    586 	{ 0x11305, 0x1130C },
    587 	{ 0x1130F, 0x11310 },
    588 	{ 0x11313, 0x11328 },
    589 	{ 0x1132A, 0x11330 },
    590 	{ 0x11332, 0x11333 },
    591 	{ 0x11335, 0x11339 },
    592 	{ 0x1135D, 0x11361 },
    593 	{ 0x11400, 0x11434 },
    594 	{ 0x11447, 0x1144A },
    595 	{ 0x1145F, 0x11461 },
    596 	{ 0x11480, 0x114AF },
    597 	{ 0x114C4, 0x114C5 },
    598 	{ 0x11580, 0x115AE },
    599 	{ 0x115D8, 0x115DB },
    600 	{ 0x11600, 0x1162F },
    601 	{ 0x11680, 0x116AA },
    602 	{ 0x11700, 0x1171A },
    603 	{ 0x11740, 0x11746 },
    604 	{ 0x11800, 0x1182B },
    605 	{ 0x118A0, 0x118DF },
    606 	{ 0x118FF, 0x11906 },
    607 	{ 0x1190C, 0x11913 },
    608 	{ 0x11915, 0x11916 },
    609 	{ 0x11918, 0x1192F },
    610 	{ 0x119A0, 0x119A7 },
    611 	{ 0x119AA, 0x119D0 },
    612 	{ 0x11A0B, 0x11A32 },
    613 	{ 0x11A5C, 0x11A89 },
    614 	{ 0x11AB0, 0x11AF8 },
    615 	{ 0x11C00, 0x11C08 },
    616 	{ 0x11C0A, 0x11C2E },
    617 	{ 0x11C72, 0x11C8F },
    618 	{ 0x11D00, 0x11D06 },
    619 	{ 0x11D08, 0x11D09 },
    620 	{ 0x11D0B, 0x11D30 },
    621 	{ 0x11D60, 0x11D65 },
    622 	{ 0x11D67, 0x11D68 },
    623 	{ 0x11D6A, 0x11D89 },
    624 	{ 0x11EE0, 0x11EF2 },
    625 	{ 0x11F04, 0x11F10 },
    626 	{ 0x11F12, 0x11F33 },
    627 	{ 0x12000, 0x12399 },
    628 	{ 0x12480, 0x12543 },
    629 	{ 0x12F90, 0x12FF0 },
    630 	{ 0x13000, 0x1342F },
    631 	{ 0x13441, 0x13446 },
    632 	{ 0x14400, 0x14646 },
    633 	{ 0x16800, 0x16A38 },
    634 	{ 0x16A40, 0x16A5E },
    635 	{ 0x16A70, 0x16ABE },
    636 	{ 0x16AD0, 0x16AED },
    637 	{ 0x16B00, 0x16B2F },
    638 	{ 0x16B40, 0x16B43 },
    639 	{ 0x16B63, 0x16B77 },
    640 	{ 0x16B7D, 0x16B8F },
    641 	{ 0x16E40, 0x16E7F },
    642 	{ 0x16F00, 0x16F4A },
    643 	{ 0x16F93, 0x16F9F },
    644 	{ 0x16FE0, 0x16FE1 },
    645 	{ 0x18800, 0x18CD5 },
    646 	{ 0x1AFF0, 0x1AFF3 },
    647 	{ 0x1AFF5, 0x1AFFB },
    648 	{ 0x1AFFD, 0x1AFFE },
    649 	{ 0x1B000, 0x1B122 },
    650 	{ 0x1B150, 0x1B152 },
    651 	{ 0x1B164, 0x1B167 },
    652 	{ 0x1B170, 0x1B2FB },
    653 	{ 0x1BC00, 0x1BC6A },
    654 	{ 0x1BC70, 0x1BC7C },
    655 	{ 0x1BC80, 0x1BC88 },
    656 	{ 0x1BC90, 0x1BC99 },
    657 	{ 0x1D400, 0x1D454 },
    658 	{ 0x1D456, 0x1D49C },
    659 	{ 0x1D49E, 0x1D49F },
    660 	{ 0x1D4A5, 0x1D4A6 },
    661 	{ 0x1D4A9, 0x1D4AC },
    662 	{ 0x1D4AE, 0x1D4B9 },
    663 	{ 0x1D4BD, 0x1D4C3 },
    664 	{ 0x1D4C5, 0x1D505 },
    665 	{ 0x1D507, 0x1D50A },
    666 	{ 0x1D50D, 0x1D514 },
    667 	{ 0x1D516, 0x1D51C },
    668 	{ 0x1D51E, 0x1D539 },
    669 	{ 0x1D53B, 0x1D53E },
    670 	{ 0x1D540, 0x1D544 },
    671 	{ 0x1D54A, 0x1D550 },
    672 	{ 0x1D552, 0x1D6A5 },
    673 	{ 0x1D6A8, 0x1D6C0 },
    674 	{ 0x1D6C2, 0x1D6DA },
    675 	{ 0x1D6DC, 0x1D6FA },
    676 	{ 0x1D6FC, 0x1D714 },
    677 	{ 0x1D716, 0x1D734 },
    678 	{ 0x1D736, 0x1D74E },
    679 	{ 0x1D750, 0x1D76E },
    680 	{ 0x1D770, 0x1D788 },
    681 	{ 0x1D78A, 0x1D7A8 },
    682 	{ 0x1D7AA, 0x1D7C2 },
    683 	{ 0x1D7C4, 0x1D7CB },
    684 	{ 0x1DF00, 0x1DF1E },
    685 	{ 0x1DF25, 0x1DF2A },
    686 	{ 0x1E030, 0x1E06D },
    687 	{ 0x1E100, 0x1E12C },
    688 	{ 0x1E137, 0x1E13D },
    689 	{ 0x1E290, 0x1E2AD },
    690 	{ 0x1E2C0, 0x1E2EB },
    691 	{ 0x1E4D0, 0x1E4EB },
    692 	{ 0x1E7E0, 0x1E7E6 },
    693 	{ 0x1E7E8, 0x1E7EB },
    694 	{ 0x1E7ED, 0x1E7EE },
    695 	{ 0x1E7F0, 0x1E7FE },
    696 	{ 0x1E800, 0x1E8C4 },
    697 	{ 0x1E900, 0x1E943 },
    698 	{ 0x1EE00, 0x1EE03 },
    699 	{ 0x1EE05, 0x1EE1F },
    700 	{ 0x1EE21, 0x1EE22 },
    701 	{ 0x1EE29, 0x1EE32 },
    702 	{ 0x1EE34, 0x1EE37 },
    703 	{ 0x1EE4D, 0x1EE4F },
    704 	{ 0x1EE51, 0x1EE52 },
    705 	{ 0x1EE61, 0x1EE62 },
    706 	{ 0x1EE67, 0x1EE6A },
    707 	{ 0x1EE6C, 0x1EE72 },
    708 	{ 0x1EE74, 0x1EE77 },
    709 	{ 0x1EE79, 0x1EE7C },
    710 	{ 0x1EE80, 0x1EE89 },
    711 	{ 0x1EE8B, 0x1EE9B },
    712 	{ 0x1EEA1, 0x1EEA3 },
    713 	{ 0x1EEA5, 0x1EEA9 },
    714 	{ 0x1EEAB, 0x1EEBB },
    715 	{ 0x2F800, 0x2FA1D },
    716 };
    717 
    718 static const Rune alpha1[] = {
    719 	0x00AA,
    720 	0x00B5,
    721 	0x00BA,
    722 	0x0559,
    723 	0x06FF,
    724 	0x07B1,
    725 	0x07FA,
    726 	0x081A,
    727 	0x0824,
    728 	0x0828,
    729 	0x093D,
    730 	0x0950,
    731 	0x09BD,
    732 	0x09CE,
    733 	0x09FC,
    734 	0x0ABD,
    735 	0x0AD0,
    736 	0x0AF9,
    737 	0x0B3D,
    738 	0x0B71,
    739 	0x0BD0,
    740 	0x0C3D,
    741 	0x0C5D,
    742 	0x0C80,
    743 	0x0CBD,
    744 	0x0D3D,
    745 	0x0D4E,
    746 	0x0EBD,
    747 	0x0F00,
    748 	0x103F,
    749 	0x1061,
    750 	0x108E,
    751 	0x10CD,
    752 	0x17D7,
    753 	0x17DC,
    754 	0x1AA7,
    755 	0x1CFA,
    756 	0x2071,
    757 	0x207F,
    758 	0x2102,
    759 	0x2107,
    760 	0x214E,
    761 	0x2D2D,
    762 	0x2D6F,
    763 	0x2E2F,
    764 	0x3400,
    765 	0x4DBF,
    766 	0x4E00,
    767 	0xA9CF,
    768 	0xAA7A,
    769 	0xAC00,
    770 	0xD7A3,
    771 	0x1083C,
    772 	0x10A00,
    773 	0x10F27,
    774 	0x11075,
    775 	0x11144,
    776 	0x11147,
    777 	0x11176,
    778 	0x1133D,
    779 	0x11350,
    780 	0x11644,
    781 	0x116B8,
    782 	0x11909,
    783 	0x11A00,
    784 	0x11A3A,
    785 	0x11A50,
    786 	0x11A9D,
    787 	0x11C40,
    788 	0x11D46,
    789 	0x11D98,
    790 	0x11FB0,
    791 	0x16F50,
    792 	0x17000,
    793 	0x187F7,
    794 	0x18D00,
    795 	0x18D08,
    796 	0x1B132,
    797 	0x1B155,
    798 	0x1D4A2,
    799 	0x1E14E,
    800 	0x1E94B,
    801 	0x1EE42,
    802 	0x20000,
    803 	0x2A6DF,
    804 	0x2A700,
    805 	0x2B739,
    806 	0x2B740,
    807 	0x2B81D,
    808 	0x2B820,
    809 	0x2CEA1,
    810 	0x2CEB0,
    811 	0x2EBE0,
    812 	0x30000,
    813 	0x3134A,
    814 	0x31350,
    815 	0x323AF,
    816 };
    817 
    818 int
    819 isalpharune(Rune r)
    820 {
    821 	const Rune *match;
    822 
    823 	if((match = bsearch(&r, alpha3, nelem(alpha3), sizeof *alpha3, &rune2cmp)))
    824 		return !((r - match[0]) % 2);
    825 	if(bsearch(&r, alpha2, nelem(alpha2), sizeof *alpha2, &rune2cmp))
    826 		return 1;
    827 	if(bsearch(&r, alpha1, nelem(alpha1), sizeof *alpha1, &rune1cmp))
    828 		return 1;
    829 	return 0;
    830 }