diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-04-21 19:46:29 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-04-21 19:46:29 +0200 |
commit | a04d1334a968649b1da36eb640d5d9d35eb3f29d (patch) | |
tree | 46f2d89c3d40953942eaf70c75a44fe6a69c9e71 /lib | |
parent | 5b14562e05457d96a6524b5aa2e533e69cf30fb2 (diff) |
Add uprop_get_wb()
Diffstat (limited to 'lib')
-rw-r--r-- | lib/unicode/prop/uprop_get_wb.c | 1117 |
1 files changed, 1117 insertions, 0 deletions
diff --git a/lib/unicode/prop/uprop_get_wb.c b/lib/unicode/prop/uprop_get_wb.c new file mode 100644 index 0000000..545552d --- /dev/null +++ b/lib/unicode/prop/uprop_get_wb.c @@ -0,0 +1,1117 @@ +/* This file is autogenerated by gen/prop/wb; DO NOT EDIT. */ + +#include "_bsearch.h" +#include "macros.h" +#include "rune.h" +#include "unicode/prop.h" + +static constexpr enum uprop_wb lookup_lat1[] = { + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_LF, WB_NL, + WB_NL, WB_CR, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_WSEGSPACE, WB_XX, WB_DQ, WB_XX, + WB_XX, WB_XX, WB_XX, WB_SQ, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_MN, WB_XX, WB_MB, WB_XX, + WB_NU, WB_NU, WB_NU, WB_NU, + WB_NU, WB_NU, WB_NU, WB_NU, + WB_NU, WB_NU, WB_ML, WB_MN, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_XX, + WB_XX, WB_XX, WB_XX, WB_EX, + WB_XX, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_NL, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_XX, WB_LE, WB_XX, + WB_XX, WB_FO, WB_XX, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_XX, WB_LE, WB_XX, WB_ML, + WB_XX, WB_XX, WB_LE, WB_XX, + WB_XX, WB_XX, WB_XX, WB_XX, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_XX, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_XX, + WB_LE, WB_LE, WB_LE, WB_LE, + WB_LE, WB_LE, WB_LE, WB_LE, +}; + +static const struct { + rune lo, hi; + enum uprop_wb val; +} lookup[] = { + {RUNE_C(0x000100), RUNE_C(0x0002D7), WB_LE}, + {RUNE_C(0x0002DE), RUNE_C(0x0002FF), WB_LE}, + {RUNE_C(0x000300), RUNE_C(0x00036F), WB_EXTEND}, + {RUNE_C(0x000370), RUNE_C(0x000374), WB_LE}, + {RUNE_C(0x000376), RUNE_C(0x000377), WB_LE}, + {RUNE_C(0x00037A), RUNE_C(0x00037D), WB_LE}, + {RUNE_C(0x00037E), RUNE_C(0x00037E), WB_MN}, + {RUNE_C(0x00037F), RUNE_C(0x00037F), WB_LE}, + {RUNE_C(0x000386), RUNE_C(0x000386), WB_LE}, + {RUNE_C(0x000387), RUNE_C(0x000387), WB_ML}, + {RUNE_C(0x000388), RUNE_C(0x00038A), WB_LE}, + {RUNE_C(0x00038C), RUNE_C(0x00038C), WB_LE}, + {RUNE_C(0x00038E), RUNE_C(0x0003A1), WB_LE}, + {RUNE_C(0x0003A3), RUNE_C(0x0003F5), WB_LE}, + {RUNE_C(0x0003F7), RUNE_C(0x000481), WB_LE}, + {RUNE_C(0x000483), RUNE_C(0x000489), WB_EXTEND}, + {RUNE_C(0x00048A), RUNE_C(0x00052F), WB_LE}, + {RUNE_C(0x000531), RUNE_C(0x000556), WB_LE}, + {RUNE_C(0x000559), RUNE_C(0x00055C), WB_LE}, + {RUNE_C(0x00055E), RUNE_C(0x00055E), WB_LE}, + {RUNE_C(0x00055F), RUNE_C(0x00055F), WB_ML}, + {RUNE_C(0x000560), RUNE_C(0x000588), WB_LE}, + {RUNE_C(0x000589), RUNE_C(0x000589), WB_MN}, + {RUNE_C(0x00058A), RUNE_C(0x00058A), WB_LE}, + {RUNE_C(0x000591), RUNE_C(0x0005BD), WB_EXTEND}, + {RUNE_C(0x0005BF), RUNE_C(0x0005BF), WB_EXTEND}, + {RUNE_C(0x0005C1), RUNE_C(0x0005C2), WB_EXTEND}, + {RUNE_C(0x0005C4), RUNE_C(0x0005C5), WB_EXTEND}, + {RUNE_C(0x0005C7), RUNE_C(0x0005C7), WB_EXTEND}, + {RUNE_C(0x0005D0), RUNE_C(0x0005EA), WB_HL}, + {RUNE_C(0x0005EF), RUNE_C(0x0005F2), WB_HL}, + {RUNE_C(0x0005F3), RUNE_C(0x0005F3), WB_LE}, + {RUNE_C(0x0005F4), RUNE_C(0x0005F4), WB_ML}, + {RUNE_C(0x000600), RUNE_C(0x000605), WB_NU}, + {RUNE_C(0x00060C), RUNE_C(0x00060D), WB_MN}, + {RUNE_C(0x000610), RUNE_C(0x00061A), WB_EXTEND}, + {RUNE_C(0x00061C), RUNE_C(0x00061C), WB_FO}, + {RUNE_C(0x000620), RUNE_C(0x00064A), WB_LE}, + {RUNE_C(0x00064B), RUNE_C(0x00065F), WB_EXTEND}, + {RUNE_C(0x000660), RUNE_C(0x000669), WB_NU}, + {RUNE_C(0x00066B), RUNE_C(0x00066B), WB_NU}, + {RUNE_C(0x00066C), RUNE_C(0x00066C), WB_MN}, + {RUNE_C(0x00066E), RUNE_C(0x00066F), WB_LE}, + {RUNE_C(0x000670), RUNE_C(0x000670), WB_EXTEND}, + {RUNE_C(0x000671), RUNE_C(0x0006D3), WB_LE}, + {RUNE_C(0x0006D5), RUNE_C(0x0006D5), WB_LE}, + {RUNE_C(0x0006D6), RUNE_C(0x0006DC), WB_EXTEND}, + {RUNE_C(0x0006DD), RUNE_C(0x0006DD), WB_NU}, + {RUNE_C(0x0006DF), RUNE_C(0x0006E4), WB_EXTEND}, + {RUNE_C(0x0006E5), RUNE_C(0x0006E6), WB_LE}, + {RUNE_C(0x0006E7), RUNE_C(0x0006E8), WB_EXTEND}, + {RUNE_C(0x0006EA), RUNE_C(0x0006ED), WB_EXTEND}, + {RUNE_C(0x0006EE), RUNE_C(0x0006EF), WB_LE}, + {RUNE_C(0x0006F0), RUNE_C(0x0006F9), WB_NU}, + {RUNE_C(0x0006FA), RUNE_C(0x0006FC), WB_LE}, + {RUNE_C(0x0006FF), RUNE_C(0x0006FF), WB_LE}, + {RUNE_C(0x00070F), RUNE_C(0x000710), WB_LE}, + {RUNE_C(0x000711), RUNE_C(0x000711), WB_EXTEND}, + {RUNE_C(0x000712), RUNE_C(0x00072F), WB_LE}, + {RUNE_C(0x000730), RUNE_C(0x00074A), WB_EXTEND}, + {RUNE_C(0x00074D), RUNE_C(0x0007A5), WB_LE}, + {RUNE_C(0x0007A6), RUNE_C(0x0007B0), WB_EXTEND}, + {RUNE_C(0x0007B1), RUNE_C(0x0007B1), WB_LE}, + {RUNE_C(0x0007C0), RUNE_C(0x0007C9), WB_NU}, + {RUNE_C(0x0007CA), RUNE_C(0x0007EA), WB_LE}, + {RUNE_C(0x0007EB), RUNE_C(0x0007F3), WB_EXTEND}, + {RUNE_C(0x0007F4), RUNE_C(0x0007F5), WB_LE}, + {RUNE_C(0x0007F8), RUNE_C(0x0007F8), WB_MN}, + {RUNE_C(0x0007FA), RUNE_C(0x0007FA), WB_LE}, + {RUNE_C(0x0007FD), RUNE_C(0x0007FD), WB_EXTEND}, + {RUNE_C(0x000800), RUNE_C(0x000815), WB_LE}, + {RUNE_C(0x000816), RUNE_C(0x000819), WB_EXTEND}, + {RUNE_C(0x00081A), RUNE_C(0x00081A), WB_LE}, + {RUNE_C(0x00081B), RUNE_C(0x000823), WB_EXTEND}, + {RUNE_C(0x000824), RUNE_C(0x000824), WB_LE}, + {RUNE_C(0x000825), RUNE_C(0x000827), WB_EXTEND}, + {RUNE_C(0x000828), RUNE_C(0x000828), WB_LE}, + {RUNE_C(0x000829), RUNE_C(0x00082D), WB_EXTEND}, + {RUNE_C(0x000840), RUNE_C(0x000858), WB_LE}, + {RUNE_C(0x000859), RUNE_C(0x00085B), WB_EXTEND}, + {RUNE_C(0x000860), RUNE_C(0x00086A), WB_LE}, + {RUNE_C(0x000870), RUNE_C(0x000887), WB_LE}, + {RUNE_C(0x000889), RUNE_C(0x00088E), WB_LE}, + {RUNE_C(0x000890), RUNE_C(0x000891), WB_NU}, + {RUNE_C(0x000898), RUNE_C(0x00089F), WB_EXTEND}, + {RUNE_C(0x0008A0), RUNE_C(0x0008C9), WB_LE}, + {RUNE_C(0x0008CA), RUNE_C(0x0008E1), WB_EXTEND}, + {RUNE_C(0x0008E2), RUNE_C(0x0008E2), WB_NU}, + {RUNE_C(0x0008E3), RUNE_C(0x000903), WB_EXTEND}, + {RUNE_C(0x000904), RUNE_C(0x000939), WB_LE}, + {RUNE_C(0x00093A), RUNE_C(0x00093C), WB_EXTEND}, + {RUNE_C(0x00093D), RUNE_C(0x00093D), WB_LE}, + {RUNE_C(0x00093E), RUNE_C(0x00094F), WB_EXTEND}, + {RUNE_C(0x000950), RUNE_C(0x000950), WB_LE}, + {RUNE_C(0x000951), RUNE_C(0x000957), WB_EXTEND}, + {RUNE_C(0x000958), RUNE_C(0x000961), WB_LE}, + {RUNE_C(0x000962), RUNE_C(0x000963), WB_EXTEND}, + {RUNE_C(0x000966), RUNE_C(0x00096F), WB_NU}, + {RUNE_C(0x000971), RUNE_C(0x000980), WB_LE}, + {RUNE_C(0x000981), RUNE_C(0x000983), WB_EXTEND}, + {RUNE_C(0x000985), RUNE_C(0x00098C), WB_LE}, + {RUNE_C(0x00098F), RUNE_C(0x000990), WB_LE}, + {RUNE_C(0x000993), RUNE_C(0x0009A8), WB_LE}, + {RUNE_C(0x0009AA), RUNE_C(0x0009B0), WB_LE}, + {RUNE_C(0x0009B2), RUNE_C(0x0009B2), WB_LE}, + {RUNE_C(0x0009B6), RUNE_C(0x0009B9), WB_LE}, + {RUNE_C(0x0009BC), RUNE_C(0x0009BC), WB_EXTEND}, + {RUNE_C(0x0009BD), RUNE_C(0x0009BD), WB_LE}, + {RUNE_C(0x0009BE), RUNE_C(0x0009C4), WB_EXTEND}, + {RUNE_C(0x0009C7), RUNE_C(0x0009C8), WB_EXTEND}, + {RUNE_C(0x0009CB), RUNE_C(0x0009CD), WB_EXTEND}, + {RUNE_C(0x0009CE), RUNE_C(0x0009CE), WB_LE}, + {RUNE_C(0x0009D7), RUNE_C(0x0009D7), WB_EXTEND}, + {RUNE_C(0x0009DC), RUNE_C(0x0009DD), WB_LE}, + {RUNE_C(0x0009DF), RUNE_C(0x0009E1), WB_LE}, + {RUNE_C(0x0009E2), RUNE_C(0x0009E3), WB_EXTEND}, + {RUNE_C(0x0009E6), RUNE_C(0x0009EF), WB_NU}, + {RUNE_C(0x0009F0), RUNE_C(0x0009F1), WB_LE}, + {RUNE_C(0x0009FC), RUNE_C(0x0009FC), WB_LE}, + {RUNE_C(0x0009FE), RUNE_C(0x0009FE), WB_EXTEND}, + {RUNE_C(0x000A01), RUNE_C(0x000A03), WB_EXTEND}, + {RUNE_C(0x000A05), RUNE_C(0x000A0A), WB_LE}, + {RUNE_C(0x000A0F), RUNE_C(0x000A10), WB_LE}, + {RUNE_C(0x000A13), RUNE_C(0x000A28), WB_LE}, + {RUNE_C(0x000A2A), RUNE_C(0x000A30), WB_LE}, + {RUNE_C(0x000A32), RUNE_C(0x000A33), WB_LE}, + {RUNE_C(0x000A35), RUNE_C(0x000A36), WB_LE}, + {RUNE_C(0x000A38), RUNE_C(0x000A39), WB_LE}, + {RUNE_C(0x000A3C), RUNE_C(0x000A3C), WB_EXTEND}, + {RUNE_C(0x000A3E), RUNE_C(0x000A42), WB_EXTEND}, + {RUNE_C(0x000A47), RUNE_C(0x000A48), WB_EXTEND}, + {RUNE_C(0x000A4B), RUNE_C(0x000A4D), WB_EXTEND}, + {RUNE_C(0x000A51), RUNE_C(0x000A51), WB_EXTEND}, + {RUNE_C(0x000A59), RUNE_C(0x000A5C), WB_LE}, + {RUNE_C(0x000A5E), RUNE_C(0x000A5E), WB_LE}, + {RUNE_C(0x000A66), RUNE_C(0x000A6F), WB_NU}, + {RUNE_C(0x000A70), RUNE_C(0x000A71), WB_EXTEND}, + {RUNE_C(0x000A72), RUNE_C(0x000A74), WB_LE}, + {RUNE_C(0x000A75), RUNE_C(0x000A75), WB_EXTEND}, + {RUNE_C(0x000A81), RUNE_C(0x000A83), WB_EXTEND}, + {RUNE_C(0x000A85), RUNE_C(0x000A8D), WB_LE}, + {RUNE_C(0x000A8F), RUNE_C(0x000A91), WB_LE}, + {RUNE_C(0x000A93), RUNE_C(0x000AA8), WB_LE}, + {RUNE_C(0x000AAA), RUNE_C(0x000AB0), WB_LE}, + {RUNE_C(0x000AB2), RUNE_C(0x000AB3), WB_LE}, + {RUNE_C(0x000AB5), RUNE_C(0x000AB9), WB_LE}, + {RUNE_C(0x000ABC), RUNE_C(0x000ABC), WB_EXTEND}, + {RUNE_C(0x000ABD), RUNE_C(0x000ABD), WB_LE}, + {RUNE_C(0x000ABE), RUNE_C(0x000AC5), WB_EXTEND}, + {RUNE_C(0x000AC7), RUNE_C(0x000AC9), WB_EXTEND}, + {RUNE_C(0x000ACB), RUNE_C(0x000ACD), WB_EXTEND}, + {RUNE_C(0x000AD0), RUNE_C(0x000AD0), WB_LE}, + {RUNE_C(0x000AE0), RUNE_C(0x000AE1), WB_LE}, + {RUNE_C(0x000AE2), RUNE_C(0x000AE3), WB_EXTEND}, + {RUNE_C(0x000AE6), RUNE_C(0x000AEF), WB_NU}, + {RUNE_C(0x000AF9), RUNE_C(0x000AF9), WB_LE}, + {RUNE_C(0x000AFA), RUNE_C(0x000AFF), WB_EXTEND}, + {RUNE_C(0x000B01), RUNE_C(0x000B03), WB_EXTEND}, + {RUNE_C(0x000B05), RUNE_C(0x000B0C), WB_LE}, + {RUNE_C(0x000B0F), RUNE_C(0x000B10), WB_LE}, + {RUNE_C(0x000B13), RUNE_C(0x000B28), WB_LE}, + {RUNE_C(0x000B2A), RUNE_C(0x000B30), WB_LE}, + {RUNE_C(0x000B32), RUNE_C(0x000B33), WB_LE}, + {RUNE_C(0x000B35), RUNE_C(0x000B39), WB_LE}, + {RUNE_C(0x000B3C), RUNE_C(0x000B3C), WB_EXTEND}, + {RUNE_C(0x000B3D), RUNE_C(0x000B3D), WB_LE}, + {RUNE_C(0x000B3E), RUNE_C(0x000B44), WB_EXTEND}, + {RUNE_C(0x000B47), RUNE_C(0x000B48), WB_EXTEND}, + {RUNE_C(0x000B4B), RUNE_C(0x000B4D), WB_EXTEND}, + {RUNE_C(0x000B55), RUNE_C(0x000B57), WB_EXTEND}, + {RUNE_C(0x000B5C), RUNE_C(0x000B5D), WB_LE}, + {RUNE_C(0x000B5F), RUNE_C(0x000B61), WB_LE}, + {RUNE_C(0x000B62), RUNE_C(0x000B63), WB_EXTEND}, + {RUNE_C(0x000B66), RUNE_C(0x000B6F), WB_NU}, + {RUNE_C(0x000B71), RUNE_C(0x000B71), WB_LE}, + {RUNE_C(0x000B82), RUNE_C(0x000B82), WB_EXTEND}, + {RUNE_C(0x000B83), RUNE_C(0x000B83), WB_LE}, + {RUNE_C(0x000B85), RUNE_C(0x000B8A), WB_LE}, + {RUNE_C(0x000B8E), RUNE_C(0x000B90), WB_LE}, + {RUNE_C(0x000B92), RUNE_C(0x000B95), WB_LE}, + {RUNE_C(0x000B99), RUNE_C(0x000B9A), WB_LE}, + {RUNE_C(0x000B9C), RUNE_C(0x000B9C), WB_LE}, + {RUNE_C(0x000B9E), RUNE_C(0x000B9F), WB_LE}, + {RUNE_C(0x000BA3), RUNE_C(0x000BA4), WB_LE}, + {RUNE_C(0x000BA8), RUNE_C(0x000BAA), WB_LE}, + {RUNE_C(0x000BAE), RUNE_C(0x000BB9), WB_LE}, + {RUNE_C(0x000BBE), RUNE_C(0x000BC2), WB_EXTEND}, + {RUNE_C(0x000BC6), RUNE_C(0x000BC8), WB_EXTEND}, + {RUNE_C(0x000BCA), RUNE_C(0x000BCD), WB_EXTEND}, + {RUNE_C(0x000BD0), RUNE_C(0x000BD0), WB_LE}, + {RUNE_C(0x000BD7), RUNE_C(0x000BD7), WB_EXTEND}, + {RUNE_C(0x000BE6), RUNE_C(0x000BEF), WB_NU}, + {RUNE_C(0x000C00), RUNE_C(0x000C04), WB_EXTEND}, + {RUNE_C(0x000C05), RUNE_C(0x000C0C), WB_LE}, + {RUNE_C(0x000C0E), RUNE_C(0x000C10), WB_LE}, + {RUNE_C(0x000C12), RUNE_C(0x000C28), WB_LE}, + {RUNE_C(0x000C2A), RUNE_C(0x000C39), WB_LE}, + {RUNE_C(0x000C3C), RUNE_C(0x000C3C), WB_EXTEND}, + {RUNE_C(0x000C3D), RUNE_C(0x000C3D), WB_LE}, + {RUNE_C(0x000C3E), RUNE_C(0x000C44), WB_EXTEND}, + {RUNE_C(0x000C46), RUNE_C(0x000C48), WB_EXTEND}, + {RUNE_C(0x000C4A), RUNE_C(0x000C4D), WB_EXTEND}, + {RUNE_C(0x000C55), RUNE_C(0x000C56), WB_EXTEND}, + {RUNE_C(0x000C58), RUNE_C(0x000C5A), WB_LE}, + {RUNE_C(0x000C5D), RUNE_C(0x000C5D), WB_LE}, + {RUNE_C(0x000C60), RUNE_C(0x000C61), WB_LE}, + {RUNE_C(0x000C62), RUNE_C(0x000C63), WB_EXTEND}, + {RUNE_C(0x000C66), RUNE_C(0x000C6F), WB_NU}, + {RUNE_C(0x000C80), RUNE_C(0x000C80), WB_LE}, + {RUNE_C(0x000C81), RUNE_C(0x000C83), WB_EXTEND}, + {RUNE_C(0x000C85), RUNE_C(0x000C8C), WB_LE}, + {RUNE_C(0x000C8E), RUNE_C(0x000C90), WB_LE}, + {RUNE_C(0x000C92), RUNE_C(0x000CA8), WB_LE}, + {RUNE_C(0x000CAA), RUNE_C(0x000CB3), WB_LE}, + {RUNE_C(0x000CB5), RUNE_C(0x000CB9), WB_LE}, + {RUNE_C(0x000CBC), RUNE_C(0x000CBC), WB_EXTEND}, + {RUNE_C(0x000CBD), RUNE_C(0x000CBD), WB_LE}, + {RUNE_C(0x000CBE), RUNE_C(0x000CC4), WB_EXTEND}, + {RUNE_C(0x000CC6), RUNE_C(0x000CC8), WB_EXTEND}, + {RUNE_C(0x000CCA), RUNE_C(0x000CCD), WB_EXTEND}, + {RUNE_C(0x000CD5), RUNE_C(0x000CD6), WB_EXTEND}, + {RUNE_C(0x000CDD), RUNE_C(0x000CDE), WB_LE}, + {RUNE_C(0x000CE0), RUNE_C(0x000CE1), WB_LE}, + {RUNE_C(0x000CE2), RUNE_C(0x000CE3), WB_EXTEND}, + {RUNE_C(0x000CE6), RUNE_C(0x000CEF), WB_NU}, + {RUNE_C(0x000CF1), RUNE_C(0x000CF2), WB_LE}, + {RUNE_C(0x000CF3), RUNE_C(0x000CF3), WB_EXTEND}, + {RUNE_C(0x000D00), RUNE_C(0x000D03), WB_EXTEND}, + {RUNE_C(0x000D04), RUNE_C(0x000D0C), WB_LE}, + {RUNE_C(0x000D0E), RUNE_C(0x000D10), WB_LE}, + {RUNE_C(0x000D12), RUNE_C(0x000D3A), WB_LE}, + {RUNE_C(0x000D3B), RUNE_C(0x000D3C), WB_EXTEND}, + {RUNE_C(0x000D3D), RUNE_C(0x000D3D), WB_LE}, + {RUNE_C(0x000D3E), RUNE_C(0x000D44), WB_EXTEND}, + {RUNE_C(0x000D46), RUNE_C(0x000D48), WB_EXTEND}, + {RUNE_C(0x000D4A), RUNE_C(0x000D4D), WB_EXTEND}, + {RUNE_C(0x000D4E), RUNE_C(0x000D4E), WB_LE}, + {RUNE_C(0x000D54), RUNE_C(0x000D56), WB_LE}, + {RUNE_C(0x000D57), RUNE_C(0x000D57), WB_EXTEND}, + {RUNE_C(0x000D5F), RUNE_C(0x000D61), WB_LE}, + {RUNE_C(0x000D62), RUNE_C(0x000D63), WB_EXTEND}, + {RUNE_C(0x000D66), RUNE_C(0x000D6F), WB_NU}, + {RUNE_C(0x000D7A), RUNE_C(0x000D7F), WB_LE}, + {RUNE_C(0x000D81), RUNE_C(0x000D83), WB_EXTEND}, + {RUNE_C(0x000D85), RUNE_C(0x000D96), WB_LE}, + {RUNE_C(0x000D9A), RUNE_C(0x000DB1), WB_LE}, + {RUNE_C(0x000DB3), RUNE_C(0x000DBB), WB_LE}, + {RUNE_C(0x000DBD), RUNE_C(0x000DBD), WB_LE}, + {RUNE_C(0x000DC0), RUNE_C(0x000DC6), WB_LE}, + {RUNE_C(0x000DCA), RUNE_C(0x000DCA), WB_EXTEND}, + {RUNE_C(0x000DCF), RUNE_C(0x000DD4), WB_EXTEND}, + {RUNE_C(0x000DD6), RUNE_C(0x000DD6), WB_EXTEND}, + {RUNE_C(0x000DD8), RUNE_C(0x000DDF), WB_EXTEND}, + {RUNE_C(0x000DE6), RUNE_C(0x000DEF), WB_NU}, + {RUNE_C(0x000DF2), RUNE_C(0x000DF3), WB_EXTEND}, + {RUNE_C(0x000E31), RUNE_C(0x000E31), WB_EXTEND}, + {RUNE_C(0x000E34), RUNE_C(0x000E3A), WB_EXTEND}, + {RUNE_C(0x000E47), RUNE_C(0x000E4E), WB_EXTEND}, + {RUNE_C(0x000E50), RUNE_C(0x000E59), WB_NU}, + {RUNE_C(0x000EB1), RUNE_C(0x000EB1), WB_EXTEND}, + {RUNE_C(0x000EB4), RUNE_C(0x000EBC), WB_EXTEND}, + {RUNE_C(0x000EC8), RUNE_C(0x000ECE), WB_EXTEND}, + {RUNE_C(0x000ED0), RUNE_C(0x000ED9), WB_NU}, + {RUNE_C(0x000F00), RUNE_C(0x000F00), WB_LE}, + {RUNE_C(0x000F18), RUNE_C(0x000F19), WB_EXTEND}, + {RUNE_C(0x000F20), RUNE_C(0x000F29), WB_NU}, + {RUNE_C(0x000F35), RUNE_C(0x000F35), WB_EXTEND}, + {RUNE_C(0x000F37), RUNE_C(0x000F37), WB_EXTEND}, + {RUNE_C(0x000F39), RUNE_C(0x000F39), WB_EXTEND}, + {RUNE_C(0x000F3E), RUNE_C(0x000F3F), WB_EXTEND}, + {RUNE_C(0x000F40), RUNE_C(0x000F47), WB_LE}, + {RUNE_C(0x000F49), RUNE_C(0x000F6C), WB_LE}, + {RUNE_C(0x000F71), RUNE_C(0x000F84), WB_EXTEND}, + {RUNE_C(0x000F86), RUNE_C(0x000F87), WB_EXTEND}, + {RUNE_C(0x000F88), RUNE_C(0x000F8C), WB_LE}, + {RUNE_C(0x000F8D), RUNE_C(0x000F97), WB_EXTEND}, + {RUNE_C(0x000F99), RUNE_C(0x000FBC), WB_EXTEND}, + {RUNE_C(0x000FC6), RUNE_C(0x000FC6), WB_EXTEND}, + {RUNE_C(0x00102B), RUNE_C(0x00103E), WB_EXTEND}, + {RUNE_C(0x001040), RUNE_C(0x001049), WB_NU}, + {RUNE_C(0x001056), RUNE_C(0x001059), WB_EXTEND}, + {RUNE_C(0x00105E), RUNE_C(0x001060), WB_EXTEND}, + {RUNE_C(0x001062), RUNE_C(0x001064), WB_EXTEND}, + {RUNE_C(0x001067), RUNE_C(0x00106D), WB_EXTEND}, + {RUNE_C(0x001071), RUNE_C(0x001074), WB_EXTEND}, + {RUNE_C(0x001082), RUNE_C(0x00108D), WB_EXTEND}, + {RUNE_C(0x00108F), RUNE_C(0x00108F), WB_EXTEND}, + {RUNE_C(0x001090), RUNE_C(0x001099), WB_NU}, + {RUNE_C(0x00109A), RUNE_C(0x00109D), WB_EXTEND}, + {RUNE_C(0x0010A0), RUNE_C(0x0010C5), WB_LE}, + {RUNE_C(0x0010C7), RUNE_C(0x0010C7), WB_LE}, + {RUNE_C(0x0010CD), RUNE_C(0x0010CD), WB_LE}, + {RUNE_C(0x0010D0), RUNE_C(0x0010FA), WB_LE}, + {RUNE_C(0x0010FC), RUNE_C(0x001248), WB_LE}, + {RUNE_C(0x00124A), RUNE_C(0x00124D), WB_LE}, + {RUNE_C(0x001250), RUNE_C(0x001256), WB_LE}, + {RUNE_C(0x001258), RUNE_C(0x001258), WB_LE}, + {RUNE_C(0x00125A), RUNE_C(0x00125D), WB_LE}, + {RUNE_C(0x001260), RUNE_C(0x001288), WB_LE}, + {RUNE_C(0x00128A), RUNE_C(0x00128D), WB_LE}, + {RUNE_C(0x001290), RUNE_C(0x0012B0), WB_LE}, + {RUNE_C(0x0012B2), RUNE_C(0x0012B5), WB_LE}, + {RUNE_C(0x0012B8), RUNE_C(0x0012BE), WB_LE}, + {RUNE_C(0x0012C0), RUNE_C(0x0012C0), WB_LE}, + {RUNE_C(0x0012C2), RUNE_C(0x0012C5), WB_LE}, + {RUNE_C(0x0012C8), RUNE_C(0x0012D6), WB_LE}, + {RUNE_C(0x0012D8), RUNE_C(0x001310), WB_LE}, + {RUNE_C(0x001312), RUNE_C(0x001315), WB_LE}, + {RUNE_C(0x001318), RUNE_C(0x00135A), WB_LE}, + {RUNE_C(0x00135D), RUNE_C(0x00135F), WB_EXTEND}, + {RUNE_C(0x001380), RUNE_C(0x00138F), WB_LE}, + {RUNE_C(0x0013A0), RUNE_C(0x0013F5), WB_LE}, + {RUNE_C(0x0013F8), RUNE_C(0x0013FD), WB_LE}, + {RUNE_C(0x001401), RUNE_C(0x00166C), WB_LE}, + {RUNE_C(0x00166F), RUNE_C(0x00167F), WB_LE}, + {RUNE_C(0x001680), RUNE_C(0x001680), WB_WSEGSPACE}, + {RUNE_C(0x001681), RUNE_C(0x00169A), WB_LE}, + {RUNE_C(0x0016A0), RUNE_C(0x0016EA), WB_LE}, + {RUNE_C(0x0016EE), RUNE_C(0x0016F8), WB_LE}, + {RUNE_C(0x001700), RUNE_C(0x001711), WB_LE}, + {RUNE_C(0x001712), RUNE_C(0x001715), WB_EXTEND}, + {RUNE_C(0x00171F), RUNE_C(0x001731), WB_LE}, + {RUNE_C(0x001732), RUNE_C(0x001734), WB_EXTEND}, + {RUNE_C(0x001740), RUNE_C(0x001751), WB_LE}, + {RUNE_C(0x001752), RUNE_C(0x001753), WB_EXTEND}, + {RUNE_C(0x001760), RUNE_C(0x00176C), WB_LE}, + {RUNE_C(0x00176E), RUNE_C(0x001770), WB_LE}, + {RUNE_C(0x001772), RUNE_C(0x001773), WB_EXTEND}, + {RUNE_C(0x0017B4), RUNE_C(0x0017D3), WB_EXTEND}, + {RUNE_C(0x0017DD), RUNE_C(0x0017DD), WB_EXTEND}, + {RUNE_C(0x0017E0), RUNE_C(0x0017E9), WB_NU}, + {RUNE_C(0x00180B), RUNE_C(0x00180D), WB_EXTEND}, + {RUNE_C(0x00180E), RUNE_C(0x00180E), WB_FO}, + {RUNE_C(0x00180F), RUNE_C(0x00180F), WB_EXTEND}, + {RUNE_C(0x001810), RUNE_C(0x001819), WB_NU}, + {RUNE_C(0x001820), RUNE_C(0x001878), WB_LE}, + {RUNE_C(0x001880), RUNE_C(0x001884), WB_LE}, + {RUNE_C(0x001885), RUNE_C(0x001886), WB_EXTEND}, + {RUNE_C(0x001887), RUNE_C(0x0018A8), WB_LE}, + {RUNE_C(0x0018A9), RUNE_C(0x0018A9), WB_EXTEND}, + {RUNE_C(0x0018AA), RUNE_C(0x0018AA), WB_LE}, + {RUNE_C(0x0018B0), RUNE_C(0x0018F5), WB_LE}, + {RUNE_C(0x001900), RUNE_C(0x00191E), WB_LE}, + {RUNE_C(0x001920), RUNE_C(0x00192B), WB_EXTEND}, + {RUNE_C(0x001930), RUNE_C(0x00193B), WB_EXTEND}, + {RUNE_C(0x001946), RUNE_C(0x00194F), WB_NU}, + {RUNE_C(0x0019D0), RUNE_C(0x0019D9), WB_NU}, + {RUNE_C(0x001A00), RUNE_C(0x001A16), WB_LE}, + {RUNE_C(0x001A17), RUNE_C(0x001A1B), WB_EXTEND}, + {RUNE_C(0x001A55), RUNE_C(0x001A5E), WB_EXTEND}, + {RUNE_C(0x001A60), RUNE_C(0x001A7C), WB_EXTEND}, + {RUNE_C(0x001A7F), RUNE_C(0x001A7F), WB_EXTEND}, + {RUNE_C(0x001A80), RUNE_C(0x001A89), WB_NU}, + {RUNE_C(0x001A90), RUNE_C(0x001A99), WB_NU}, + {RUNE_C(0x001AB0), RUNE_C(0x001ACE), WB_EXTEND}, + {RUNE_C(0x001B00), RUNE_C(0x001B04), WB_EXTEND}, + {RUNE_C(0x001B05), RUNE_C(0x001B33), WB_LE}, + {RUNE_C(0x001B34), RUNE_C(0x001B44), WB_EXTEND}, + {RUNE_C(0x001B45), RUNE_C(0x001B4C), WB_LE}, + {RUNE_C(0x001B50), RUNE_C(0x001B59), WB_NU}, + {RUNE_C(0x001B6B), RUNE_C(0x001B73), WB_EXTEND}, + {RUNE_C(0x001B80), RUNE_C(0x001B82), WB_EXTEND}, + {RUNE_C(0x001B83), RUNE_C(0x001BA0), WB_LE}, + {RUNE_C(0x001BA1), RUNE_C(0x001BAD), WB_EXTEND}, + {RUNE_C(0x001BAE), RUNE_C(0x001BAF), WB_LE}, + {RUNE_C(0x001BB0), RUNE_C(0x001BB9), WB_NU}, + {RUNE_C(0x001BBA), RUNE_C(0x001BE5), WB_LE}, + {RUNE_C(0x001BE6), RUNE_C(0x001BF3), WB_EXTEND}, + {RUNE_C(0x001C00), RUNE_C(0x001C23), WB_LE}, + {RUNE_C(0x001C24), RUNE_C(0x001C37), WB_EXTEND}, + {RUNE_C(0x001C40), RUNE_C(0x001C49), WB_NU}, + {RUNE_C(0x001C4D), RUNE_C(0x001C4F), WB_LE}, + {RUNE_C(0x001C50), RUNE_C(0x001C59), WB_NU}, + {RUNE_C(0x001C5A), RUNE_C(0x001C7D), WB_LE}, + {RUNE_C(0x001C80), RUNE_C(0x001C88), WB_LE}, + {RUNE_C(0x001C90), RUNE_C(0x001CBA), WB_LE}, + {RUNE_C(0x001CBD), RUNE_C(0x001CBF), WB_LE}, + {RUNE_C(0x001CD0), RUNE_C(0x001CD2), WB_EXTEND}, + {RUNE_C(0x001CD4), RUNE_C(0x001CE8), WB_EXTEND}, + {RUNE_C(0x001CE9), RUNE_C(0x001CEC), WB_LE}, + {RUNE_C(0x001CED), RUNE_C(0x001CED), WB_EXTEND}, + {RUNE_C(0x001CEE), RUNE_C(0x001CF3), WB_LE}, + {RUNE_C(0x001CF4), RUNE_C(0x001CF4), WB_EXTEND}, + {RUNE_C(0x001CF5), RUNE_C(0x001CF6), WB_LE}, + {RUNE_C(0x001CF7), RUNE_C(0x001CF9), WB_EXTEND}, + {RUNE_C(0x001CFA), RUNE_C(0x001CFA), WB_LE}, + {RUNE_C(0x001D00), RUNE_C(0x001DBF), WB_LE}, + {RUNE_C(0x001DC0), RUNE_C(0x001DFF), WB_EXTEND}, + {RUNE_C(0x001E00), RUNE_C(0x001F15), WB_LE}, + {RUNE_C(0x001F18), RUNE_C(0x001F1D), WB_LE}, + {RUNE_C(0x001F20), RUNE_C(0x001F45), WB_LE}, + {RUNE_C(0x001F48), RUNE_C(0x001F4D), WB_LE}, + {RUNE_C(0x001F50), RUNE_C(0x001F57), WB_LE}, + {RUNE_C(0x001F59), RUNE_C(0x001F59), WB_LE}, + {RUNE_C(0x001F5B), RUNE_C(0x001F5B), WB_LE}, + {RUNE_C(0x001F5D), RUNE_C(0x001F5D), WB_LE}, + {RUNE_C(0x001F5F), RUNE_C(0x001F7D), WB_LE}, + {RUNE_C(0x001F80), RUNE_C(0x001FB4), WB_LE}, + {RUNE_C(0x001FB6), RUNE_C(0x001FBC), WB_LE}, + {RUNE_C(0x001FBE), RUNE_C(0x001FBE), WB_LE}, + {RUNE_C(0x001FC2), RUNE_C(0x001FC4), WB_LE}, + {RUNE_C(0x001FC6), RUNE_C(0x001FCC), WB_LE}, + {RUNE_C(0x001FD0), RUNE_C(0x001FD3), WB_LE}, + {RUNE_C(0x001FD6), RUNE_C(0x001FDB), WB_LE}, + {RUNE_C(0x001FE0), RUNE_C(0x001FEC), WB_LE}, + {RUNE_C(0x001FF2), RUNE_C(0x001FF4), WB_LE}, + {RUNE_C(0x001FF6), RUNE_C(0x001FFC), WB_LE}, + {RUNE_C(0x002000), RUNE_C(0x002006), WB_WSEGSPACE}, + {RUNE_C(0x002008), RUNE_C(0x00200A), WB_WSEGSPACE}, + {RUNE_C(0x00200C), RUNE_C(0x00200C), WB_EXTEND}, + {RUNE_C(0x00200D), RUNE_C(0x00200D), WB_ZWJ}, + {RUNE_C(0x00200E), RUNE_C(0x00200F), WB_FO}, + {RUNE_C(0x002018), RUNE_C(0x002019), WB_MB}, + {RUNE_C(0x002024), RUNE_C(0x002024), WB_MB}, + {RUNE_C(0x002027), RUNE_C(0x002027), WB_ML}, + {RUNE_C(0x002028), RUNE_C(0x002029), WB_NL}, + {RUNE_C(0x00202A), RUNE_C(0x00202E), WB_FO}, + {RUNE_C(0x00202F), RUNE_C(0x00202F), WB_EX}, + {RUNE_C(0x00203F), RUNE_C(0x002040), WB_EX}, + {RUNE_C(0x002044), RUNE_C(0x002044), WB_MN}, + {RUNE_C(0x002054), RUNE_C(0x002054), WB_EX}, + {RUNE_C(0x00205F), RUNE_C(0x00205F), WB_WSEGSPACE}, + {RUNE_C(0x002060), RUNE_C(0x002064), WB_FO}, + {RUNE_C(0x002066), RUNE_C(0x00206F), WB_FO}, + {RUNE_C(0x002071), RUNE_C(0x002071), WB_LE}, + {RUNE_C(0x00207F), RUNE_C(0x00207F), WB_LE}, + {RUNE_C(0x002090), RUNE_C(0x00209C), WB_LE}, + {RUNE_C(0x0020D0), RUNE_C(0x0020F0), WB_EXTEND}, + {RUNE_C(0x002102), RUNE_C(0x002102), WB_LE}, + {RUNE_C(0x002107), RUNE_C(0x002107), WB_LE}, + {RUNE_C(0x00210A), RUNE_C(0x002113), WB_LE}, + {RUNE_C(0x002115), RUNE_C(0x002115), WB_LE}, + {RUNE_C(0x002119), RUNE_C(0x00211D), WB_LE}, + {RUNE_C(0x002124), RUNE_C(0x002124), WB_LE}, + {RUNE_C(0x002126), RUNE_C(0x002126), WB_LE}, + {RUNE_C(0x002128), RUNE_C(0x002128), WB_LE}, + {RUNE_C(0x00212A), RUNE_C(0x00212D), WB_LE}, + {RUNE_C(0x00212F), RUNE_C(0x002139), WB_LE}, + {RUNE_C(0x00213C), RUNE_C(0x00213F), WB_LE}, + {RUNE_C(0x002145), RUNE_C(0x002149), WB_LE}, + {RUNE_C(0x00214E), RUNE_C(0x00214E), WB_LE}, + {RUNE_C(0x002160), RUNE_C(0x002188), WB_LE}, + {RUNE_C(0x0024B6), RUNE_C(0x0024E9), WB_LE}, + {RUNE_C(0x002C00), RUNE_C(0x002CE4), WB_LE}, + {RUNE_C(0x002CEB), RUNE_C(0x002CEE), WB_LE}, + {RUNE_C(0x002CEF), RUNE_C(0x002CF1), WB_EXTEND}, + {RUNE_C(0x002CF2), RUNE_C(0x002CF3), WB_LE}, + {RUNE_C(0x002D00), RUNE_C(0x002D25), WB_LE}, + {RUNE_C(0x002D27), RUNE_C(0x002D27), WB_LE}, + {RUNE_C(0x002D2D), RUNE_C(0x002D2D), WB_LE}, + {RUNE_C(0x002D30), RUNE_C(0x002D67), WB_LE}, + {RUNE_C(0x002D6F), RUNE_C(0x002D6F), WB_LE}, + {RUNE_C(0x002D7F), RUNE_C(0x002D7F), WB_EXTEND}, + {RUNE_C(0x002D80), RUNE_C(0x002D96), WB_LE}, + {RUNE_C(0x002DA0), RUNE_C(0x002DA6), WB_LE}, + {RUNE_C(0x002DA8), RUNE_C(0x002DAE), WB_LE}, + {RUNE_C(0x002DB0), RUNE_C(0x002DB6), WB_LE}, + {RUNE_C(0x002DB8), RUNE_C(0x002DBE), WB_LE}, + {RUNE_C(0x002DC0), RUNE_C(0x002DC6), WB_LE}, + {RUNE_C(0x002DC8), RUNE_C(0x002DCE), WB_LE}, + {RUNE_C(0x002DD0), RUNE_C(0x002DD6), WB_LE}, + {RUNE_C(0x002DD8), RUNE_C(0x002DDE), WB_LE}, + {RUNE_C(0x002DE0), RUNE_C(0x002DFF), WB_EXTEND}, + {RUNE_C(0x002E2F), RUNE_C(0x002E2F), WB_LE}, + {RUNE_C(0x003000), RUNE_C(0x003000), WB_WSEGSPACE}, + {RUNE_C(0x003005), RUNE_C(0x003005), WB_LE}, + {RUNE_C(0x00302A), RUNE_C(0x00302F), WB_EXTEND}, + {RUNE_C(0x003031), RUNE_C(0x003035), WB_KA}, + {RUNE_C(0x00303B), RUNE_C(0x00303C), WB_LE}, + {RUNE_C(0x003099), RUNE_C(0x00309A), WB_EXTEND}, + {RUNE_C(0x00309B), RUNE_C(0x00309C), WB_KA}, + {RUNE_C(0x0030A0), RUNE_C(0x0030FA), WB_KA}, + {RUNE_C(0x0030FC), RUNE_C(0x0030FF), WB_KA}, + {RUNE_C(0x003105), RUNE_C(0x00312F), WB_LE}, + {RUNE_C(0x003131), RUNE_C(0x00318E), WB_LE}, + {RUNE_C(0x0031A0), RUNE_C(0x0031BF), WB_LE}, + {RUNE_C(0x0031F0), RUNE_C(0x0031FF), WB_KA}, + {RUNE_C(0x0032D0), RUNE_C(0x0032FE), WB_KA}, + {RUNE_C(0x003300), RUNE_C(0x003357), WB_KA}, + {RUNE_C(0x00A000), RUNE_C(0x00A48C), WB_LE}, + {RUNE_C(0x00A4D0), RUNE_C(0x00A4FD), WB_LE}, + {RUNE_C(0x00A500), RUNE_C(0x00A60C), WB_LE}, + {RUNE_C(0x00A610), RUNE_C(0x00A61F), WB_LE}, + {RUNE_C(0x00A620), RUNE_C(0x00A629), WB_NU}, + {RUNE_C(0x00A62A), RUNE_C(0x00A62B), WB_LE}, + {RUNE_C(0x00A640), RUNE_C(0x00A66E), WB_LE}, + {RUNE_C(0x00A66F), RUNE_C(0x00A672), WB_EXTEND}, + {RUNE_C(0x00A674), RUNE_C(0x00A67D), WB_EXTEND}, + {RUNE_C(0x00A67F), RUNE_C(0x00A69D), WB_LE}, + {RUNE_C(0x00A69E), RUNE_C(0x00A69F), WB_EXTEND}, + {RUNE_C(0x00A6A0), RUNE_C(0x00A6EF), WB_LE}, + {RUNE_C(0x00A6F0), RUNE_C(0x00A6F1), WB_EXTEND}, + {RUNE_C(0x00A708), RUNE_C(0x00A7CA), WB_LE}, + {RUNE_C(0x00A7D0), RUNE_C(0x00A7D1), WB_LE}, + {RUNE_C(0x00A7D3), RUNE_C(0x00A7D3), WB_LE}, + {RUNE_C(0x00A7D5), RUNE_C(0x00A7D9), WB_LE}, + {RUNE_C(0x00A7F2), RUNE_C(0x00A801), WB_LE}, + {RUNE_C(0x00A802), RUNE_C(0x00A802), WB_EXTEND}, + {RUNE_C(0x00A803), RUNE_C(0x00A805), WB_LE}, + {RUNE_C(0x00A806), RUNE_C(0x00A806), WB_EXTEND}, + {RUNE_C(0x00A807), RUNE_C(0x00A80A), WB_LE}, + {RUNE_C(0x00A80B), RUNE_C(0x00A80B), WB_EXTEND}, + {RUNE_C(0x00A80C), RUNE_C(0x00A822), WB_LE}, + {RUNE_C(0x00A823), RUNE_C(0x00A827), WB_EXTEND}, + {RUNE_C(0x00A82C), RUNE_C(0x00A82C), WB_EXTEND}, + {RUNE_C(0x00A840), RUNE_C(0x00A873), WB_LE}, + {RUNE_C(0x00A880), RUNE_C(0x00A881), WB_EXTEND}, + {RUNE_C(0x00A882), RUNE_C(0x00A8B3), WB_LE}, + {RUNE_C(0x00A8B4), RUNE_C(0x00A8C5), WB_EXTEND}, + {RUNE_C(0x00A8D0), RUNE_C(0x00A8D9), WB_NU}, + {RUNE_C(0x00A8E0), RUNE_C(0x00A8F1), WB_EXTEND}, + {RUNE_C(0x00A8F2), RUNE_C(0x00A8F7), WB_LE}, + {RUNE_C(0x00A8FB), RUNE_C(0x00A8FB), WB_LE}, + {RUNE_C(0x00A8FD), RUNE_C(0x00A8FE), WB_LE}, + {RUNE_C(0x00A8FF), RUNE_C(0x00A8FF), WB_EXTEND}, + {RUNE_C(0x00A900), RUNE_C(0x00A909), WB_NU}, + {RUNE_C(0x00A90A), RUNE_C(0x00A925), WB_LE}, + {RUNE_C(0x00A926), RUNE_C(0x00A92D), WB_EXTEND}, + {RUNE_C(0x00A930), RUNE_C(0x00A946), WB_LE}, + {RUNE_C(0x00A947), RUNE_C(0x00A953), WB_EXTEND}, + {RUNE_C(0x00A960), RUNE_C(0x00A97C), WB_LE}, + {RUNE_C(0x00A980), RUNE_C(0x00A983), WB_EXTEND}, + {RUNE_C(0x00A984), RUNE_C(0x00A9B2), WB_LE}, + {RUNE_C(0x00A9B3), RUNE_C(0x00A9C0), WB_EXTEND}, + {RUNE_C(0x00A9CF), RUNE_C(0x00A9CF), WB_LE}, + {RUNE_C(0x00A9D0), RUNE_C(0x00A9D9), WB_NU}, + {RUNE_C(0x00A9E5), RUNE_C(0x00A9E5), WB_EXTEND}, + {RUNE_C(0x00A9F0), RUNE_C(0x00A9F9), WB_NU}, + {RUNE_C(0x00AA00), RUNE_C(0x00AA28), WB_LE}, + {RUNE_C(0x00AA29), RUNE_C(0x00AA36), WB_EXTEND}, + {RUNE_C(0x00AA40), RUNE_C(0x00AA42), WB_LE}, + {RUNE_C(0x00AA43), RUNE_C(0x00AA43), WB_EXTEND}, + {RUNE_C(0x00AA44), RUNE_C(0x00AA4B), WB_LE}, + {RUNE_C(0x00AA4C), RUNE_C(0x00AA4D), WB_EXTEND}, + {RUNE_C(0x00AA50), RUNE_C(0x00AA59), WB_NU}, + {RUNE_C(0x00AA7B), RUNE_C(0x00AA7D), WB_EXTEND}, + {RUNE_C(0x00AAB0), RUNE_C(0x00AAB0), WB_EXTEND}, + {RUNE_C(0x00AAB2), RUNE_C(0x00AAB4), WB_EXTEND}, + {RUNE_C(0x00AAB7), RUNE_C(0x00AAB8), WB_EXTEND}, + {RUNE_C(0x00AABE), RUNE_C(0x00AABF), WB_EXTEND}, + {RUNE_C(0x00AAC1), RUNE_C(0x00AAC1), WB_EXTEND}, + {RUNE_C(0x00AAE0), RUNE_C(0x00AAEA), WB_LE}, + {RUNE_C(0x00AAEB), RUNE_C(0x00AAEF), WB_EXTEND}, + {RUNE_C(0x00AAF2), RUNE_C(0x00AAF4), WB_LE}, + {RUNE_C(0x00AAF5), RUNE_C(0x00AAF6), WB_EXTEND}, + {RUNE_C(0x00AB01), RUNE_C(0x00AB06), WB_LE}, + {RUNE_C(0x00AB09), RUNE_C(0x00AB0E), WB_LE}, + {RUNE_C(0x00AB11), RUNE_C(0x00AB16), WB_LE}, + {RUNE_C(0x00AB20), RUNE_C(0x00AB26), WB_LE}, + {RUNE_C(0x00AB28), RUNE_C(0x00AB2E), WB_LE}, + {RUNE_C(0x00AB30), RUNE_C(0x00AB69), WB_LE}, + {RUNE_C(0x00AB70), RUNE_C(0x00ABE2), WB_LE}, + {RUNE_C(0x00ABE3), RUNE_C(0x00ABEA), WB_EXTEND}, + {RUNE_C(0x00ABEC), RUNE_C(0x00ABED), WB_EXTEND}, + {RUNE_C(0x00ABF0), RUNE_C(0x00ABF9), WB_NU}, + {RUNE_C(0x00AC00), RUNE_C(0x00D7A3), WB_LE}, + {RUNE_C(0x00D7B0), RUNE_C(0x00D7C6), WB_LE}, + {RUNE_C(0x00D7CB), RUNE_C(0x00D7FB), WB_LE}, + {RUNE_C(0x00FB00), RUNE_C(0x00FB06), WB_LE}, + {RUNE_C(0x00FB13), RUNE_C(0x00FB17), WB_LE}, + {RUNE_C(0x00FB1D), RUNE_C(0x00FB1D), WB_HL}, + {RUNE_C(0x00FB1E), RUNE_C(0x00FB1E), WB_EXTEND}, + {RUNE_C(0x00FB1F), RUNE_C(0x00FB28), WB_HL}, + {RUNE_C(0x00FB2A), RUNE_C(0x00FB36), WB_HL}, + {RUNE_C(0x00FB38), RUNE_C(0x00FB3C), WB_HL}, + {RUNE_C(0x00FB3E), RUNE_C(0x00FB3E), WB_HL}, + {RUNE_C(0x00FB40), RUNE_C(0x00FB41), WB_HL}, + {RUNE_C(0x00FB43), RUNE_C(0x00FB44), WB_HL}, + {RUNE_C(0x00FB46), RUNE_C(0x00FB4F), WB_HL}, + {RUNE_C(0x00FB50), RUNE_C(0x00FBB1), WB_LE}, + {RUNE_C(0x00FBD3), RUNE_C(0x00FD3D), WB_LE}, + {RUNE_C(0x00FD50), RUNE_C(0x00FD8F), WB_LE}, + {RUNE_C(0x00FD92), RUNE_C(0x00FDC7), WB_LE}, + {RUNE_C(0x00FDF0), RUNE_C(0x00FDFB), WB_LE}, + {RUNE_C(0x00FE00), RUNE_C(0x00FE0F), WB_EXTEND}, + {RUNE_C(0x00FE10), RUNE_C(0x00FE10), WB_MN}, + {RUNE_C(0x00FE13), RUNE_C(0x00FE13), WB_ML}, + {RUNE_C(0x00FE14), RUNE_C(0x00FE14), WB_MN}, + {RUNE_C(0x00FE20), RUNE_C(0x00FE2F), WB_EXTEND}, + {RUNE_C(0x00FE33), RUNE_C(0x00FE34), WB_EX}, + {RUNE_C(0x00FE4D), RUNE_C(0x00FE4F), WB_EX}, + {RUNE_C(0x00FE50), RUNE_C(0x00FE50), WB_MN}, + {RUNE_C(0x00FE52), RUNE_C(0x00FE52), WB_MB}, + {RUNE_C(0x00FE54), RUNE_C(0x00FE54), WB_MN}, + {RUNE_C(0x00FE55), RUNE_C(0x00FE55), WB_ML}, + {RUNE_C(0x00FE70), RUNE_C(0x00FE74), WB_LE}, + {RUNE_C(0x00FE76), RUNE_C(0x00FEFC), WB_LE}, + {RUNE_C(0x00FEFF), RUNE_C(0x00FEFF), WB_FO}, + {RUNE_C(0x00FF07), RUNE_C(0x00FF07), WB_MB}, + {RUNE_C(0x00FF0C), RUNE_C(0x00FF0C), WB_MN}, + {RUNE_C(0x00FF0E), RUNE_C(0x00FF0E), WB_MB}, + {RUNE_C(0x00FF10), RUNE_C(0x00FF19), WB_NU}, + {RUNE_C(0x00FF1A), RUNE_C(0x00FF1A), WB_ML}, + {RUNE_C(0x00FF1B), RUNE_C(0x00FF1B), WB_MN}, + {RUNE_C(0x00FF21), RUNE_C(0x00FF3A), WB_LE}, + {RUNE_C(0x00FF3F), RUNE_C(0x00FF3F), WB_EX}, + {RUNE_C(0x00FF41), RUNE_C(0x00FF5A), WB_LE}, + {RUNE_C(0x00FF66), RUNE_C(0x00FF9D), WB_KA}, + {RUNE_C(0x00FF9E), RUNE_C(0x00FF9F), WB_EXTEND}, + {RUNE_C(0x00FFA0), RUNE_C(0x00FFBE), WB_LE}, + {RUNE_C(0x00FFC2), RUNE_C(0x00FFC7), WB_LE}, + {RUNE_C(0x00FFCA), RUNE_C(0x00FFCF), WB_LE}, + {RUNE_C(0x00FFD2), RUNE_C(0x00FFD7), WB_LE}, + {RUNE_C(0x00FFDA), RUNE_C(0x00FFDC), WB_LE}, + {RUNE_C(0x00FFF9), RUNE_C(0x00FFFB), WB_FO}, + {RUNE_C(0x010000), RUNE_C(0x01000B), WB_LE}, + {RUNE_C(0x01000D), RUNE_C(0x010026), WB_LE}, + {RUNE_C(0x010028), RUNE_C(0x01003A), WB_LE}, + {RUNE_C(0x01003C), RUNE_C(0x01003D), WB_LE}, + {RUNE_C(0x01003F), RUNE_C(0x01004D), WB_LE}, + {RUNE_C(0x010050), RUNE_C(0x01005D), WB_LE}, + {RUNE_C(0x010080), RUNE_C(0x0100FA), WB_LE}, + {RUNE_C(0x010140), RUNE_C(0x010174), WB_LE}, + {RUNE_C(0x0101FD), RUNE_C(0x0101FD), WB_EXTEND}, + {RUNE_C(0x010280), RUNE_C(0x01029C), WB_LE}, + {RUNE_C(0x0102A0), RUNE_C(0x0102D0), WB_LE}, + {RUNE_C(0x0102E0), RUNE_C(0x0102E0), WB_EXTEND}, + {RUNE_C(0x010300), RUNE_C(0x01031F), WB_LE}, + {RUNE_C(0x01032D), RUNE_C(0x01034A), WB_LE}, + {RUNE_C(0x010350), RUNE_C(0x010375), WB_LE}, + {RUNE_C(0x010376), RUNE_C(0x01037A), WB_EXTEND}, + {RUNE_C(0x010380), RUNE_C(0x01039D), WB_LE}, + {RUNE_C(0x0103A0), RUNE_C(0x0103C3), WB_LE}, + {RUNE_C(0x0103C8), RUNE_C(0x0103CF), WB_LE}, + {RUNE_C(0x0103D1), RUNE_C(0x0103D5), WB_LE}, + {RUNE_C(0x010400), RUNE_C(0x01049D), WB_LE}, + {RUNE_C(0x0104A0), RUNE_C(0x0104A9), WB_NU}, + {RUNE_C(0x0104B0), RUNE_C(0x0104D3), WB_LE}, + {RUNE_C(0x0104D8), RUNE_C(0x0104FB), WB_LE}, + {RUNE_C(0x010500), RUNE_C(0x010527), WB_LE}, + {RUNE_C(0x010530), RUNE_C(0x010563), WB_LE}, + {RUNE_C(0x010570), RUNE_C(0x01057A), WB_LE}, + {RUNE_C(0x01057C), RUNE_C(0x01058A), WB_LE}, + {RUNE_C(0x01058C), RUNE_C(0x010592), WB_LE}, + {RUNE_C(0x010594), RUNE_C(0x010595), WB_LE}, + {RUNE_C(0x010597), RUNE_C(0x0105A1), WB_LE}, + {RUNE_C(0x0105A3), RUNE_C(0x0105B1), WB_LE}, + {RUNE_C(0x0105B3), RUNE_C(0x0105B9), WB_LE}, + {RUNE_C(0x0105BB), RUNE_C(0x0105BC), WB_LE}, + {RUNE_C(0x010600), RUNE_C(0x010736), WB_LE}, + {RUNE_C(0x010740), RUNE_C(0x010755), WB_LE}, + {RUNE_C(0x010760), RUNE_C(0x010767), WB_LE}, + {RUNE_C(0x010780), RUNE_C(0x010785), WB_LE}, + {RUNE_C(0x010787), RUNE_C(0x0107B0), WB_LE}, + {RUNE_C(0x0107B2), RUNE_C(0x0107BA), WB_LE}, + {RUNE_C(0x010800), RUNE_C(0x010805), WB_LE}, + {RUNE_C(0x010808), RUNE_C(0x010808), WB_LE}, + {RUNE_C(0x01080A), RUNE_C(0x010835), WB_LE}, + {RUNE_C(0x010837), RUNE_C(0x010838), WB_LE}, + {RUNE_C(0x01083C), RUNE_C(0x01083C), WB_LE}, + {RUNE_C(0x01083F), RUNE_C(0x010855), WB_LE}, + {RUNE_C(0x010860), RUNE_C(0x010876), WB_LE}, + {RUNE_C(0x010880), RUNE_C(0x01089E), WB_LE}, + {RUNE_C(0x0108E0), RUNE_C(0x0108F2), WB_LE}, + {RUNE_C(0x0108F4), RUNE_C(0x0108F5), WB_LE}, + {RUNE_C(0x010900), RUNE_C(0x010915), WB_LE}, + {RUNE_C(0x010920), RUNE_C(0x010939), WB_LE}, + {RUNE_C(0x010980), RUNE_C(0x0109B7), WB_LE}, + {RUNE_C(0x0109BE), RUNE_C(0x0109BF), WB_LE}, + {RUNE_C(0x010A00), RUNE_C(0x010A00), WB_LE}, + {RUNE_C(0x010A01), RUNE_C(0x010A03), WB_EXTEND}, + {RUNE_C(0x010A05), RUNE_C(0x010A06), WB_EXTEND}, + {RUNE_C(0x010A0C), RUNE_C(0x010A0F), WB_EXTEND}, + {RUNE_C(0x010A10), RUNE_C(0x010A13), WB_LE}, + {RUNE_C(0x010A15), RUNE_C(0x010A17), WB_LE}, + {RUNE_C(0x010A19), RUNE_C(0x010A35), WB_LE}, + {RUNE_C(0x010A38), RUNE_C(0x010A3A), WB_EXTEND}, + {RUNE_C(0x010A3F), RUNE_C(0x010A3F), WB_EXTEND}, + {RUNE_C(0x010A60), RUNE_C(0x010A7C), WB_LE}, + {RUNE_C(0x010A80), RUNE_C(0x010A9C), WB_LE}, + {RUNE_C(0x010AC0), RUNE_C(0x010AC7), WB_LE}, + {RUNE_C(0x010AC9), RUNE_C(0x010AE4), WB_LE}, + {RUNE_C(0x010AE5), RUNE_C(0x010AE6), WB_EXTEND}, + {RUNE_C(0x010B00), RUNE_C(0x010B35), WB_LE}, + {RUNE_C(0x010B40), RUNE_C(0x010B55), WB_LE}, + {RUNE_C(0x010B60), RUNE_C(0x010B72), WB_LE}, + {RUNE_C(0x010B80), RUNE_C(0x010B91), WB_LE}, + {RUNE_C(0x010C00), RUNE_C(0x010C48), WB_LE}, + {RUNE_C(0x010C80), RUNE_C(0x010CB2), WB_LE}, + {RUNE_C(0x010CC0), RUNE_C(0x010CF2), WB_LE}, + {RUNE_C(0x010D00), RUNE_C(0x010D23), WB_LE}, + {RUNE_C(0x010D24), RUNE_C(0x010D27), WB_EXTEND}, + {RUNE_C(0x010D30), RUNE_C(0x010D39), WB_NU}, + {RUNE_C(0x010E80), RUNE_C(0x010EA9), WB_LE}, + {RUNE_C(0x010EAB), RUNE_C(0x010EAC), WB_EXTEND}, + {RUNE_C(0x010EB0), RUNE_C(0x010EB1), WB_LE}, + {RUNE_C(0x010EFD), RUNE_C(0x010EFF), WB_EXTEND}, + {RUNE_C(0x010F00), RUNE_C(0x010F1C), WB_LE}, + {RUNE_C(0x010F27), RUNE_C(0x010F27), WB_LE}, + {RUNE_C(0x010F30), RUNE_C(0x010F45), WB_LE}, + {RUNE_C(0x010F46), RUNE_C(0x010F50), WB_EXTEND}, + {RUNE_C(0x010F70), RUNE_C(0x010F81), WB_LE}, + {RUNE_C(0x010F82), RUNE_C(0x010F85), WB_EXTEND}, + {RUNE_C(0x010FB0), RUNE_C(0x010FC4), WB_LE}, + {RUNE_C(0x010FE0), RUNE_C(0x010FF6), WB_LE}, + {RUNE_C(0x011000), RUNE_C(0x011002), WB_EXTEND}, + {RUNE_C(0x011003), RUNE_C(0x011037), WB_LE}, + {RUNE_C(0x011038), RUNE_C(0x011046), WB_EXTEND}, + {RUNE_C(0x011066), RUNE_C(0x01106F), WB_NU}, + {RUNE_C(0x011070), RUNE_C(0x011070), WB_EXTEND}, + {RUNE_C(0x011071), RUNE_C(0x011072), WB_LE}, + {RUNE_C(0x011073), RUNE_C(0x011074), WB_EXTEND}, + {RUNE_C(0x011075), RUNE_C(0x011075), WB_LE}, + {RUNE_C(0x01107F), RUNE_C(0x011082), WB_EXTEND}, + {RUNE_C(0x011083), RUNE_C(0x0110AF), WB_LE}, + {RUNE_C(0x0110B0), RUNE_C(0x0110BA), WB_EXTEND}, + {RUNE_C(0x0110BD), RUNE_C(0x0110BD), WB_NU}, + {RUNE_C(0x0110C2), RUNE_C(0x0110C2), WB_EXTEND}, + {RUNE_C(0x0110CD), RUNE_C(0x0110CD), WB_NU}, + {RUNE_C(0x0110D0), RUNE_C(0x0110E8), WB_LE}, + {RUNE_C(0x0110F0), RUNE_C(0x0110F9), WB_NU}, + {RUNE_C(0x011100), RUNE_C(0x011102), WB_EXTEND}, + {RUNE_C(0x011103), RUNE_C(0x011126), WB_LE}, + {RUNE_C(0x011127), RUNE_C(0x011134), WB_EXTEND}, + {RUNE_C(0x011136), RUNE_C(0x01113F), WB_NU}, + {RUNE_C(0x011144), RUNE_C(0x011144), WB_LE}, + {RUNE_C(0x011145), RUNE_C(0x011146), WB_EXTEND}, + {RUNE_C(0x011147), RUNE_C(0x011147), WB_LE}, + {RUNE_C(0x011150), RUNE_C(0x011172), WB_LE}, + {RUNE_C(0x011173), RUNE_C(0x011173), WB_EXTEND}, + {RUNE_C(0x011176), RUNE_C(0x011176), WB_LE}, + {RUNE_C(0x011180), RUNE_C(0x011182), WB_EXTEND}, + {RUNE_C(0x011183), RUNE_C(0x0111B2), WB_LE}, + {RUNE_C(0x0111B3), RUNE_C(0x0111C0), WB_EXTEND}, + {RUNE_C(0x0111C1), RUNE_C(0x0111C4), WB_LE}, + {RUNE_C(0x0111C9), RUNE_C(0x0111CC), WB_EXTEND}, + {RUNE_C(0x0111CE), RUNE_C(0x0111CF), WB_EXTEND}, + {RUNE_C(0x0111D0), RUNE_C(0x0111D9), WB_NU}, + {RUNE_C(0x0111DA), RUNE_C(0x0111DA), WB_LE}, + {RUNE_C(0x0111DC), RUNE_C(0x0111DC), WB_LE}, + {RUNE_C(0x011200), RUNE_C(0x011211), WB_LE}, + {RUNE_C(0x011213), RUNE_C(0x01122B), WB_LE}, + {RUNE_C(0x01122C), RUNE_C(0x011237), WB_EXTEND}, + {RUNE_C(0x01123E), RUNE_C(0x01123E), WB_EXTEND}, + {RUNE_C(0x01123F), RUNE_C(0x011240), WB_LE}, + {RUNE_C(0x011241), RUNE_C(0x011241), WB_EXTEND}, + {RUNE_C(0x011280), RUNE_C(0x011286), WB_LE}, + {RUNE_C(0x011288), RUNE_C(0x011288), WB_LE}, + {RUNE_C(0x01128A), RUNE_C(0x01128D), WB_LE}, + {RUNE_C(0x01128F), RUNE_C(0x01129D), WB_LE}, + {RUNE_C(0x01129F), RUNE_C(0x0112A8), WB_LE}, + {RUNE_C(0x0112B0), RUNE_C(0x0112DE), WB_LE}, + {RUNE_C(0x0112DF), RUNE_C(0x0112EA), WB_EXTEND}, + {RUNE_C(0x0112F0), RUNE_C(0x0112F9), WB_NU}, + {RUNE_C(0x011300), RUNE_C(0x011303), WB_EXTEND}, + {RUNE_C(0x011305), RUNE_C(0x01130C), WB_LE}, + {RUNE_C(0x01130F), RUNE_C(0x011310), WB_LE}, + {RUNE_C(0x011313), RUNE_C(0x011328), WB_LE}, + {RUNE_C(0x01132A), RUNE_C(0x011330), WB_LE}, + {RUNE_C(0x011332), RUNE_C(0x011333), WB_LE}, + {RUNE_C(0x011335), RUNE_C(0x011339), WB_LE}, + {RUNE_C(0x01133B), RUNE_C(0x01133C), WB_EXTEND}, + {RUNE_C(0x01133D), RUNE_C(0x01133D), WB_LE}, + {RUNE_C(0x01133E), RUNE_C(0x011344), WB_EXTEND}, + {RUNE_C(0x011347), RUNE_C(0x011348), WB_EXTEND}, + {RUNE_C(0x01134B), RUNE_C(0x01134D), WB_EXTEND}, + {RUNE_C(0x011350), RUNE_C(0x011350), WB_LE}, + {RUNE_C(0x011357), RUNE_C(0x011357), WB_EXTEND}, + {RUNE_C(0x01135D), RUNE_C(0x011361), WB_LE}, + {RUNE_C(0x011362), RUNE_C(0x011363), WB_EXTEND}, + {RUNE_C(0x011366), RUNE_C(0x01136C), WB_EXTEND}, + {RUNE_C(0x011370), RUNE_C(0x011374), WB_EXTEND}, + {RUNE_C(0x011400), RUNE_C(0x011434), WB_LE}, + {RUNE_C(0x011435), RUNE_C(0x011446), WB_EXTEND}, + {RUNE_C(0x011447), RUNE_C(0x01144A), WB_LE}, + {RUNE_C(0x011450), RUNE_C(0x011459), WB_NU}, + {RUNE_C(0x01145E), RUNE_C(0x01145E), WB_EXTEND}, + {RUNE_C(0x01145F), RUNE_C(0x011461), WB_LE}, + {RUNE_C(0x011480), RUNE_C(0x0114AF), WB_LE}, + {RUNE_C(0x0114B0), RUNE_C(0x0114C3), WB_EXTEND}, + {RUNE_C(0x0114C4), RUNE_C(0x0114C5), WB_LE}, + {RUNE_C(0x0114C7), RUNE_C(0x0114C7), WB_LE}, + {RUNE_C(0x0114D0), RUNE_C(0x0114D9), WB_NU}, + {RUNE_C(0x011580), RUNE_C(0x0115AE), WB_LE}, + {RUNE_C(0x0115AF), RUNE_C(0x0115B5), WB_EXTEND}, + {RUNE_C(0x0115B8), RUNE_C(0x0115C0), WB_EXTEND}, + {RUNE_C(0x0115D8), RUNE_C(0x0115DB), WB_LE}, + {RUNE_C(0x0115DC), RUNE_C(0x0115DD), WB_EXTEND}, + {RUNE_C(0x011600), RUNE_C(0x01162F), WB_LE}, + {RUNE_C(0x011630), RUNE_C(0x011640), WB_EXTEND}, + {RUNE_C(0x011644), RUNE_C(0x011644), WB_LE}, + {RUNE_C(0x011650), RUNE_C(0x011659), WB_NU}, + {RUNE_C(0x011680), RUNE_C(0x0116AA), WB_LE}, + {RUNE_C(0x0116AB), RUNE_C(0x0116B7), WB_EXTEND}, + {RUNE_C(0x0116B8), RUNE_C(0x0116B8), WB_LE}, + {RUNE_C(0x0116C0), RUNE_C(0x0116C9), WB_NU}, + {RUNE_C(0x01171D), RUNE_C(0x01172B), WB_EXTEND}, + {RUNE_C(0x011730), RUNE_C(0x011739), WB_NU}, + {RUNE_C(0x011800), RUNE_C(0x01182B), WB_LE}, + {RUNE_C(0x01182C), RUNE_C(0x01183A), WB_EXTEND}, + {RUNE_C(0x0118A0), RUNE_C(0x0118DF), WB_LE}, + {RUNE_C(0x0118E0), RUNE_C(0x0118E9), WB_NU}, + {RUNE_C(0x0118FF), RUNE_C(0x011906), WB_LE}, + {RUNE_C(0x011909), RUNE_C(0x011909), WB_LE}, + {RUNE_C(0x01190C), RUNE_C(0x011913), WB_LE}, + {RUNE_C(0x011915), RUNE_C(0x011916), WB_LE}, + {RUNE_C(0x011918), RUNE_C(0x01192F), WB_LE}, + {RUNE_C(0x011930), RUNE_C(0x011935), WB_EXTEND}, + {RUNE_C(0x011937), RUNE_C(0x011938), WB_EXTEND}, + {RUNE_C(0x01193B), RUNE_C(0x01193E), WB_EXTEND}, + {RUNE_C(0x01193F), RUNE_C(0x01193F), WB_LE}, + {RUNE_C(0x011940), RUNE_C(0x011940), WB_EXTEND}, + {RUNE_C(0x011941), RUNE_C(0x011941), WB_LE}, + {RUNE_C(0x011942), RUNE_C(0x011943), WB_EXTEND}, + {RUNE_C(0x011950), RUNE_C(0x011959), WB_NU}, + {RUNE_C(0x0119A0), RUNE_C(0x0119A7), WB_LE}, + {RUNE_C(0x0119AA), RUNE_C(0x0119D0), WB_LE}, + {RUNE_C(0x0119D1), RUNE_C(0x0119D7), WB_EXTEND}, + {RUNE_C(0x0119DA), RUNE_C(0x0119E0), WB_EXTEND}, + {RUNE_C(0x0119E1), RUNE_C(0x0119E1), WB_LE}, + {RUNE_C(0x0119E3), RUNE_C(0x0119E3), WB_LE}, + {RUNE_C(0x0119E4), RUNE_C(0x0119E4), WB_EXTEND}, + {RUNE_C(0x011A00), RUNE_C(0x011A00), WB_LE}, + {RUNE_C(0x011A01), RUNE_C(0x011A0A), WB_EXTEND}, + {RUNE_C(0x011A0B), RUNE_C(0x011A32), WB_LE}, + {RUNE_C(0x011A33), RUNE_C(0x011A39), WB_EXTEND}, + {RUNE_C(0x011A3A), RUNE_C(0x011A3A), WB_LE}, + {RUNE_C(0x011A3B), RUNE_C(0x011A3E), WB_EXTEND}, + {RUNE_C(0x011A47), RUNE_C(0x011A47), WB_EXTEND}, + {RUNE_C(0x011A50), RUNE_C(0x011A50), WB_LE}, + {RUNE_C(0x011A51), RUNE_C(0x011A5B), WB_EXTEND}, + {RUNE_C(0x011A5C), RUNE_C(0x011A89), WB_LE}, + {RUNE_C(0x011A8A), RUNE_C(0x011A99), WB_EXTEND}, + {RUNE_C(0x011A9D), RUNE_C(0x011A9D), WB_LE}, + {RUNE_C(0x011AB0), RUNE_C(0x011AF8), WB_LE}, + {RUNE_C(0x011C00), RUNE_C(0x011C08), WB_LE}, + {RUNE_C(0x011C0A), RUNE_C(0x011C2E), WB_LE}, + {RUNE_C(0x011C2F), RUNE_C(0x011C36), WB_EXTEND}, + {RUNE_C(0x011C38), RUNE_C(0x011C3F), WB_EXTEND}, + {RUNE_C(0x011C40), RUNE_C(0x011C40), WB_LE}, + {RUNE_C(0x011C50), RUNE_C(0x011C59), WB_NU}, + {RUNE_C(0x011C72), RUNE_C(0x011C8F), WB_LE}, + {RUNE_C(0x011C92), RUNE_C(0x011CA7), WB_EXTEND}, + {RUNE_C(0x011CA9), RUNE_C(0x011CB6), WB_EXTEND}, + {RUNE_C(0x011D00), RUNE_C(0x011D06), WB_LE}, + {RUNE_C(0x011D08), RUNE_C(0x011D09), WB_LE}, + {RUNE_C(0x011D0B), RUNE_C(0x011D30), WB_LE}, + {RUNE_C(0x011D31), RUNE_C(0x011D36), WB_EXTEND}, + {RUNE_C(0x011D3A), RUNE_C(0x011D3A), WB_EXTEND}, + {RUNE_C(0x011D3C), RUNE_C(0x011D3D), WB_EXTEND}, + {RUNE_C(0x011D3F), RUNE_C(0x011D45), WB_EXTEND}, + {RUNE_C(0x011D46), RUNE_C(0x011D46), WB_LE}, + {RUNE_C(0x011D47), RUNE_C(0x011D47), WB_EXTEND}, + {RUNE_C(0x011D50), RUNE_C(0x011D59), WB_NU}, + {RUNE_C(0x011D60), RUNE_C(0x011D65), WB_LE}, + {RUNE_C(0x011D67), RUNE_C(0x011D68), WB_LE}, + {RUNE_C(0x011D6A), RUNE_C(0x011D89), WB_LE}, + {RUNE_C(0x011D8A), RUNE_C(0x011D8E), WB_EXTEND}, + {RUNE_C(0x011D90), RUNE_C(0x011D91), WB_EXTEND}, + {RUNE_C(0x011D93), RUNE_C(0x011D97), WB_EXTEND}, + {RUNE_C(0x011D98), RUNE_C(0x011D98), WB_LE}, + {RUNE_C(0x011DA0), RUNE_C(0x011DA9), WB_NU}, + {RUNE_C(0x011EE0), RUNE_C(0x011EF2), WB_LE}, + {RUNE_C(0x011EF3), RUNE_C(0x011EF6), WB_EXTEND}, + {RUNE_C(0x011F00), RUNE_C(0x011F01), WB_EXTEND}, + {RUNE_C(0x011F02), RUNE_C(0x011F02), WB_LE}, + {RUNE_C(0x011F03), RUNE_C(0x011F03), WB_EXTEND}, + {RUNE_C(0x011F04), RUNE_C(0x011F10), WB_LE}, + {RUNE_C(0x011F12), RUNE_C(0x011F33), WB_LE}, + {RUNE_C(0x011F34), RUNE_C(0x011F3A), WB_EXTEND}, + {RUNE_C(0x011F3E), RUNE_C(0x011F42), WB_EXTEND}, + {RUNE_C(0x011F50), RUNE_C(0x011F59), WB_NU}, + {RUNE_C(0x011FB0), RUNE_C(0x011FB0), WB_LE}, + {RUNE_C(0x012000), RUNE_C(0x012399), WB_LE}, + {RUNE_C(0x012400), RUNE_C(0x01246E), WB_LE}, + {RUNE_C(0x012480), RUNE_C(0x012543), WB_LE}, + {RUNE_C(0x012F90), RUNE_C(0x012FF0), WB_LE}, + {RUNE_C(0x013000), RUNE_C(0x01342F), WB_LE}, + {RUNE_C(0x013430), RUNE_C(0x01343F), WB_FO}, + {RUNE_C(0x013440), RUNE_C(0x013440), WB_EXTEND}, + {RUNE_C(0x013441), RUNE_C(0x013446), WB_LE}, + {RUNE_C(0x013447), RUNE_C(0x013455), WB_EXTEND}, + {RUNE_C(0x014400), RUNE_C(0x014646), WB_LE}, + {RUNE_C(0x016800), RUNE_C(0x016A38), WB_LE}, + {RUNE_C(0x016A40), RUNE_C(0x016A5E), WB_LE}, + {RUNE_C(0x016A60), RUNE_C(0x016A69), WB_NU}, + {RUNE_C(0x016A70), RUNE_C(0x016ABE), WB_LE}, + {RUNE_C(0x016AC0), RUNE_C(0x016AC9), WB_NU}, + {RUNE_C(0x016AD0), RUNE_C(0x016AED), WB_LE}, + {RUNE_C(0x016AF0), RUNE_C(0x016AF4), WB_EXTEND}, + {RUNE_C(0x016B00), RUNE_C(0x016B2F), WB_LE}, + {RUNE_C(0x016B30), RUNE_C(0x016B36), WB_EXTEND}, + {RUNE_C(0x016B40), RUNE_C(0x016B43), WB_LE}, + {RUNE_C(0x016B50), RUNE_C(0x016B59), WB_NU}, + {RUNE_C(0x016B63), RUNE_C(0x016B77), WB_LE}, + {RUNE_C(0x016B7D), RUNE_C(0x016B8F), WB_LE}, + {RUNE_C(0x016E40), RUNE_C(0x016E7F), WB_LE}, + {RUNE_C(0x016F00), RUNE_C(0x016F4A), WB_LE}, + {RUNE_C(0x016F4F), RUNE_C(0x016F4F), WB_EXTEND}, + {RUNE_C(0x016F50), RUNE_C(0x016F50), WB_LE}, + {RUNE_C(0x016F51), RUNE_C(0x016F87), WB_EXTEND}, + {RUNE_C(0x016F8F), RUNE_C(0x016F92), WB_EXTEND}, + {RUNE_C(0x016F93), RUNE_C(0x016F9F), WB_LE}, + {RUNE_C(0x016FE0), RUNE_C(0x016FE1), WB_LE}, + {RUNE_C(0x016FE3), RUNE_C(0x016FE3), WB_LE}, + {RUNE_C(0x016FE4), RUNE_C(0x016FE4), WB_EXTEND}, + {RUNE_C(0x016FF0), RUNE_C(0x016FF1), WB_EXTEND}, + {RUNE_C(0x01AFF0), RUNE_C(0x01AFF3), WB_KA}, + {RUNE_C(0x01AFF5), RUNE_C(0x01AFFB), WB_KA}, + {RUNE_C(0x01AFFD), RUNE_C(0x01AFFE), WB_KA}, + {RUNE_C(0x01B000), RUNE_C(0x01B000), WB_KA}, + {RUNE_C(0x01B120), RUNE_C(0x01B122), WB_KA}, + {RUNE_C(0x01B155), RUNE_C(0x01B155), WB_KA}, + {RUNE_C(0x01B164), RUNE_C(0x01B167), WB_KA}, + {RUNE_C(0x01BC00), RUNE_C(0x01BC6A), WB_LE}, + {RUNE_C(0x01BC70), RUNE_C(0x01BC7C), WB_LE}, + {RUNE_C(0x01BC80), RUNE_C(0x01BC88), WB_LE}, + {RUNE_C(0x01BC90), RUNE_C(0x01BC99), WB_LE}, + {RUNE_C(0x01BC9D), RUNE_C(0x01BC9E), WB_EXTEND}, + {RUNE_C(0x01BCA0), RUNE_C(0x01BCA3), WB_FO}, + {RUNE_C(0x01CF00), RUNE_C(0x01CF2D), WB_EXTEND}, + {RUNE_C(0x01CF30), RUNE_C(0x01CF46), WB_EXTEND}, + {RUNE_C(0x01D165), RUNE_C(0x01D169), WB_EXTEND}, + {RUNE_C(0x01D16D), RUNE_C(0x01D172), WB_EXTEND}, + {RUNE_C(0x01D173), RUNE_C(0x01D17A), WB_FO}, + {RUNE_C(0x01D17B), RUNE_C(0x01D182), WB_EXTEND}, + {RUNE_C(0x01D185), RUNE_C(0x01D18B), WB_EXTEND}, + {RUNE_C(0x01D1AA), RUNE_C(0x01D1AD), WB_EXTEND}, + {RUNE_C(0x01D242), RUNE_C(0x01D244), WB_EXTEND}, + {RUNE_C(0x01D400), RUNE_C(0x01D454), WB_LE}, + {RUNE_C(0x01D456), RUNE_C(0x01D49C), WB_LE}, + {RUNE_C(0x01D49E), RUNE_C(0x01D49F), WB_LE}, + {RUNE_C(0x01D4A2), RUNE_C(0x01D4A2), WB_LE}, + {RUNE_C(0x01D4A5), RUNE_C(0x01D4A6), WB_LE}, + {RUNE_C(0x01D4A9), RUNE_C(0x01D4AC), WB_LE}, + {RUNE_C(0x01D4AE), RUNE_C(0x01D4B9), WB_LE}, + {RUNE_C(0x01D4BB), RUNE_C(0x01D4BB), WB_LE}, + {RUNE_C(0x01D4BD), RUNE_C(0x01D4C3), WB_LE}, + {RUNE_C(0x01D4C5), RUNE_C(0x01D505), WB_LE}, + {RUNE_C(0x01D507), RUNE_C(0x01D50A), WB_LE}, + {RUNE_C(0x01D50D), RUNE_C(0x01D514), WB_LE}, + {RUNE_C(0x01D516), RUNE_C(0x01D51C), WB_LE}, + {RUNE_C(0x01D51E), RUNE_C(0x01D539), WB_LE}, + {RUNE_C(0x01D53B), RUNE_C(0x01D53E), WB_LE}, + {RUNE_C(0x01D540), RUNE_C(0x01D544), WB_LE}, + {RUNE_C(0x01D546), RUNE_C(0x01D546), WB_LE}, + {RUNE_C(0x01D54A), RUNE_C(0x01D550), WB_LE}, + {RUNE_C(0x01D552), RUNE_C(0x01D6A5), WB_LE}, + {RUNE_C(0x01D6A8), RUNE_C(0x01D6C0), WB_LE}, + {RUNE_C(0x01D6C2), RUNE_C(0x01D6DA), WB_LE}, + {RUNE_C(0x01D6DC), RUNE_C(0x01D6FA), WB_LE}, + {RUNE_C(0x01D6FC), RUNE_C(0x01D714), WB_LE}, + {RUNE_C(0x01D716), RUNE_C(0x01D734), WB_LE}, + {RUNE_C(0x01D736), RUNE_C(0x01D74E), WB_LE}, + {RUNE_C(0x01D750), RUNE_C(0x01D76E), WB_LE}, + {RUNE_C(0x01D770), RUNE_C(0x01D788), WB_LE}, + {RUNE_C(0x01D78A), RUNE_C(0x01D7A8), WB_LE}, + {RUNE_C(0x01D7AA), RUNE_C(0x01D7C2), WB_LE}, + {RUNE_C(0x01D7C4), RUNE_C(0x01D7CB), WB_LE}, + {RUNE_C(0x01D7CE), RUNE_C(0x01D7FF), WB_NU}, + {RUNE_C(0x01DA00), RUNE_C(0x01DA36), WB_EXTEND}, + {RUNE_C(0x01DA3B), RUNE_C(0x01DA6C), WB_EXTEND}, + {RUNE_C(0x01DA75), RUNE_C(0x01DA75), WB_EXTEND}, + {RUNE_C(0x01DA84), RUNE_C(0x01DA84), WB_EXTEND}, + {RUNE_C(0x01DA9B), RUNE_C(0x01DA9F), WB_EXTEND}, + {RUNE_C(0x01DAA1), RUNE_C(0x01DAAF), WB_EXTEND}, + {RUNE_C(0x01DF00), RUNE_C(0x01DF1E), WB_LE}, + {RUNE_C(0x01DF25), RUNE_C(0x01DF2A), WB_LE}, + {RUNE_C(0x01E000), RUNE_C(0x01E006), WB_EXTEND}, + {RUNE_C(0x01E008), RUNE_C(0x01E018), WB_EXTEND}, + {RUNE_C(0x01E01B), RUNE_C(0x01E021), WB_EXTEND}, + {RUNE_C(0x01E023), RUNE_C(0x01E024), WB_EXTEND}, + {RUNE_C(0x01E026), RUNE_C(0x01E02A), WB_EXTEND}, + {RUNE_C(0x01E030), RUNE_C(0x01E06D), WB_LE}, + {RUNE_C(0x01E08F), RUNE_C(0x01E08F), WB_EXTEND}, + {RUNE_C(0x01E100), RUNE_C(0x01E12C), WB_LE}, + {RUNE_C(0x01E130), RUNE_C(0x01E136), WB_EXTEND}, + {RUNE_C(0x01E137), RUNE_C(0x01E13D), WB_LE}, + {RUNE_C(0x01E140), RUNE_C(0x01E149), WB_NU}, + {RUNE_C(0x01E14E), RUNE_C(0x01E14E), WB_LE}, + {RUNE_C(0x01E290), RUNE_C(0x01E2AD), WB_LE}, + {RUNE_C(0x01E2AE), RUNE_C(0x01E2AE), WB_EXTEND}, + {RUNE_C(0x01E2C0), RUNE_C(0x01E2EB), WB_LE}, + {RUNE_C(0x01E2EC), RUNE_C(0x01E2EF), WB_EXTEND}, + {RUNE_C(0x01E2F0), RUNE_C(0x01E2F9), WB_NU}, + {RUNE_C(0x01E4D0), RUNE_C(0x01E4EB), WB_LE}, + {RUNE_C(0x01E4EC), RUNE_C(0x01E4EF), WB_EXTEND}, + {RUNE_C(0x01E4F0), RUNE_C(0x01E4F9), WB_NU}, + {RUNE_C(0x01E7E0), RUNE_C(0x01E7E6), WB_LE}, + {RUNE_C(0x01E7E8), RUNE_C(0x01E7EB), WB_LE}, + {RUNE_C(0x01E7ED), RUNE_C(0x01E7EE), WB_LE}, + {RUNE_C(0x01E7F0), RUNE_C(0x01E7FE), WB_LE}, + {RUNE_C(0x01E800), RUNE_C(0x01E8C4), WB_LE}, + {RUNE_C(0x01E8D0), RUNE_C(0x01E8D6), WB_EXTEND}, + {RUNE_C(0x01E900), RUNE_C(0x01E943), WB_LE}, + {RUNE_C(0x01E944), RUNE_C(0x01E94A), WB_EXTEND}, + {RUNE_C(0x01E94B), RUNE_C(0x01E94B), WB_LE}, + {RUNE_C(0x01E950), RUNE_C(0x01E959), WB_NU}, + {RUNE_C(0x01EE00), RUNE_C(0x01EE03), WB_LE}, + {RUNE_C(0x01EE05), RUNE_C(0x01EE1F), WB_LE}, + {RUNE_C(0x01EE21), RUNE_C(0x01EE22), WB_LE}, + {RUNE_C(0x01EE24), RUNE_C(0x01EE24), WB_LE}, + {RUNE_C(0x01EE27), RUNE_C(0x01EE27), WB_LE}, + {RUNE_C(0x01EE29), RUNE_C(0x01EE32), WB_LE}, + {RUNE_C(0x01EE34), RUNE_C(0x01EE37), WB_LE}, + {RUNE_C(0x01EE39), RUNE_C(0x01EE39), WB_LE}, + {RUNE_C(0x01EE3B), RUNE_C(0x01EE3B), WB_LE}, + {RUNE_C(0x01EE42), RUNE_C(0x01EE42), WB_LE}, + {RUNE_C(0x01EE47), RUNE_C(0x01EE47), WB_LE}, + {RUNE_C(0x01EE49), RUNE_C(0x01EE49), WB_LE}, + {RUNE_C(0x01EE4B), RUNE_C(0x01EE4B), WB_LE}, + {RUNE_C(0x01EE4D), RUNE_C(0x01EE4F), WB_LE}, + {RUNE_C(0x01EE51), RUNE_C(0x01EE52), WB_LE}, + {RUNE_C(0x01EE54), RUNE_C(0x01EE54), WB_LE}, + {RUNE_C(0x01EE57), RUNE_C(0x01EE57), WB_LE}, + {RUNE_C(0x01EE59), RUNE_C(0x01EE59), WB_LE}, + {RUNE_C(0x01EE5B), RUNE_C(0x01EE5B), WB_LE}, + {RUNE_C(0x01EE5D), RUNE_C(0x01EE5D), WB_LE}, + {RUNE_C(0x01EE5F), RUNE_C(0x01EE5F), WB_LE}, + {RUNE_C(0x01EE61), RUNE_C(0x01EE62), WB_LE}, + {RUNE_C(0x01EE64), RUNE_C(0x01EE64), WB_LE}, + {RUNE_C(0x01EE67), RUNE_C(0x01EE6A), WB_LE}, + {RUNE_C(0x01EE6C), RUNE_C(0x01EE72), WB_LE}, + {RUNE_C(0x01EE74), RUNE_C(0x01EE77), WB_LE}, + {RUNE_C(0x01EE79), RUNE_C(0x01EE7C), WB_LE}, + {RUNE_C(0x01EE7E), RUNE_C(0x01EE7E), WB_LE}, + {RUNE_C(0x01EE80), RUNE_C(0x01EE89), WB_LE}, + {RUNE_C(0x01EE8B), RUNE_C(0x01EE9B), WB_LE}, + {RUNE_C(0x01EEA1), RUNE_C(0x01EEA3), WB_LE}, + {RUNE_C(0x01EEA5), RUNE_C(0x01EEA9), WB_LE}, + {RUNE_C(0x01EEAB), RUNE_C(0x01EEBB), WB_LE}, + {RUNE_C(0x01F130), RUNE_C(0x01F149), WB_LE}, + {RUNE_C(0x01F150), RUNE_C(0x01F169), WB_LE}, + {RUNE_C(0x01F170), RUNE_C(0x01F189), WB_LE}, + {RUNE_C(0x01F1E6), RUNE_C(0x01F1FF), WB_RI}, + {RUNE_C(0x01F3FB), RUNE_C(0x01F3FF), WB_EXTEND}, + {RUNE_C(0x01FBF0), RUNE_C(0x01FBF9), WB_NU}, + {RUNE_C(0x0E0001), RUNE_C(0x0E0001), WB_FO}, + {RUNE_C(0x0E0020), RUNE_C(0x0E007F), WB_EXTEND}, + {RUNE_C(0x0E0100), RUNE_C(0x0E01EF), WB_EXTEND}, +}; + +_MLIB_DEFINE_BSEARCH(enum uprop_wb, lookup, WB_XX) + +enum uprop_wb +uprop_get_wb(rune ch) +{ + return ch < lengthof(lookup_lat1) ? lookup_lat1[ch] : mlib_lookup(ch); +} |