aboutsummaryrefslogtreecommitdiff
path: root/lib/unicode
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-04-18 00:20:31 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-04-18 00:20:31 +0200
commit5d2bbdfe3191049bbd4bb237a31f34fdf62f347c (patch)
treef4a2278fc69729f8cb8da41647dfdeab2ba4a329 /lib/unicode
parent868a47df64f580102a985d6a69c31f680c5f8a90 (diff)
Add uprop_get_jt()
Diffstat (limited to 'lib/unicode')
-rw-r--r--lib/unicode/prop/uprop_get_jt.c560
1 files changed, 560 insertions, 0 deletions
diff --git a/lib/unicode/prop/uprop_get_jt.c b/lib/unicode/prop/uprop_get_jt.c
new file mode 100644
index 0000000..4ccb44f
--- /dev/null
+++ b/lib/unicode/prop/uprop_get_jt.c
@@ -0,0 +1,560 @@
+/* This file is autogenerated by gen/prop/jt; DO NOT EDIT. */
+
+#include "_bsearch.h"
+#include "macros.h"
+#include "rune.h"
+#include "unicode/prop.h"
+
+static constexpr enum uprop_jt lookup_lat1[] = {
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_T, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+ JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U, JT_U,
+};
+
+static const struct {
+ rune lo, hi;
+ enum uprop_jt val;
+} lookup[] = {
+ {RUNE_C(0x000300), RUNE_C(0x00036F), JT_T},
+ {RUNE_C(0x000483), RUNE_C(0x000489), JT_T},
+ {RUNE_C(0x000591), RUNE_C(0x0005BD), JT_T},
+ {RUNE_C(0x0005BF), RUNE_C(0x0005BF), JT_T},
+ {RUNE_C(0x0005C1), RUNE_C(0x0005C2), JT_T},
+ {RUNE_C(0x0005C4), RUNE_C(0x0005C5), JT_T},
+ {RUNE_C(0x0005C7), RUNE_C(0x0005C7), JT_T},
+ {RUNE_C(0x000610), RUNE_C(0x00061A), JT_T},
+ {RUNE_C(0x00061C), RUNE_C(0x00061C), JT_T},
+ {RUNE_C(0x000620), RUNE_C(0x000620), JT_D},
+ {RUNE_C(0x000622), RUNE_C(0x000625), JT_R},
+ {RUNE_C(0x000626), RUNE_C(0x000626), JT_D},
+ {RUNE_C(0x000627), RUNE_C(0x000627), JT_R},
+ {RUNE_C(0x000628), RUNE_C(0x000628), JT_D},
+ {RUNE_C(0x000629), RUNE_C(0x000629), JT_R},
+ {RUNE_C(0x00062A), RUNE_C(0x00062E), JT_D},
+ {RUNE_C(0x00062F), RUNE_C(0x000632), JT_R},
+ {RUNE_C(0x000633), RUNE_C(0x00063F), JT_D},
+ {RUNE_C(0x000640), RUNE_C(0x000640), JT_C},
+ {RUNE_C(0x000641), RUNE_C(0x000647), JT_D},
+ {RUNE_C(0x000648), RUNE_C(0x000648), JT_R},
+ {RUNE_C(0x000649), RUNE_C(0x00064A), JT_D},
+ {RUNE_C(0x00064B), RUNE_C(0x00065F), JT_T},
+ {RUNE_C(0x00066E), RUNE_C(0x00066F), JT_D},
+ {RUNE_C(0x000670), RUNE_C(0x000670), JT_T},
+ {RUNE_C(0x000671), RUNE_C(0x000673), JT_R},
+ {RUNE_C(0x000675), RUNE_C(0x000677), JT_R},
+ {RUNE_C(0x000678), RUNE_C(0x000687), JT_D},
+ {RUNE_C(0x000688), RUNE_C(0x000699), JT_R},
+ {RUNE_C(0x00069A), RUNE_C(0x0006BF), JT_D},
+ {RUNE_C(0x0006C0), RUNE_C(0x0006C0), JT_R},
+ {RUNE_C(0x0006C1), RUNE_C(0x0006C2), JT_D},
+ {RUNE_C(0x0006C3), RUNE_C(0x0006CB), JT_R},
+ {RUNE_C(0x0006CC), RUNE_C(0x0006CC), JT_D},
+ {RUNE_C(0x0006CD), RUNE_C(0x0006CD), JT_R},
+ {RUNE_C(0x0006CE), RUNE_C(0x0006CE), JT_D},
+ {RUNE_C(0x0006CF), RUNE_C(0x0006CF), JT_R},
+ {RUNE_C(0x0006D0), RUNE_C(0x0006D1), JT_D},
+ {RUNE_C(0x0006D2), RUNE_C(0x0006D3), JT_R},
+ {RUNE_C(0x0006D5), RUNE_C(0x0006D5), JT_R},
+ {RUNE_C(0x0006D6), RUNE_C(0x0006DC), JT_T},
+ {RUNE_C(0x0006DF), RUNE_C(0x0006E4), JT_T},
+ {RUNE_C(0x0006E7), RUNE_C(0x0006E8), JT_T},
+ {RUNE_C(0x0006EA), RUNE_C(0x0006ED), JT_T},
+ {RUNE_C(0x0006EE), RUNE_C(0x0006EF), JT_R},
+ {RUNE_C(0x0006FA), RUNE_C(0x0006FC), JT_D},
+ {RUNE_C(0x0006FF), RUNE_C(0x0006FF), JT_D},
+ {RUNE_C(0x00070F), RUNE_C(0x00070F), JT_T},
+ {RUNE_C(0x000710), RUNE_C(0x000710), JT_R},
+ {RUNE_C(0x000711), RUNE_C(0x000711), JT_T},
+ {RUNE_C(0x000712), RUNE_C(0x000714), JT_D},
+ {RUNE_C(0x000715), RUNE_C(0x000719), JT_R},
+ {RUNE_C(0x00071A), RUNE_C(0x00071D), JT_D},
+ {RUNE_C(0x00071E), RUNE_C(0x00071E), JT_R},
+ {RUNE_C(0x00071F), RUNE_C(0x000727), JT_D},
+ {RUNE_C(0x000728), RUNE_C(0x000728), JT_R},
+ {RUNE_C(0x000729), RUNE_C(0x000729), JT_D},
+ {RUNE_C(0x00072A), RUNE_C(0x00072A), JT_R},
+ {RUNE_C(0x00072B), RUNE_C(0x00072B), JT_D},
+ {RUNE_C(0x00072C), RUNE_C(0x00072C), JT_R},
+ {RUNE_C(0x00072D), RUNE_C(0x00072E), JT_D},
+ {RUNE_C(0x00072F), RUNE_C(0x00072F), JT_R},
+ {RUNE_C(0x000730), RUNE_C(0x00074A), JT_T},
+ {RUNE_C(0x00074D), RUNE_C(0x00074D), JT_R},
+ {RUNE_C(0x00074E), RUNE_C(0x000758), JT_D},
+ {RUNE_C(0x000759), RUNE_C(0x00075B), JT_R},
+ {RUNE_C(0x00075C), RUNE_C(0x00076A), JT_D},
+ {RUNE_C(0x00076B), RUNE_C(0x00076C), JT_R},
+ {RUNE_C(0x00076D), RUNE_C(0x000770), JT_D},
+ {RUNE_C(0x000771), RUNE_C(0x000771), JT_R},
+ {RUNE_C(0x000772), RUNE_C(0x000772), JT_D},
+ {RUNE_C(0x000773), RUNE_C(0x000774), JT_R},
+ {RUNE_C(0x000775), RUNE_C(0x000777), JT_D},
+ {RUNE_C(0x000778), RUNE_C(0x000779), JT_R},
+ {RUNE_C(0x00077A), RUNE_C(0x00077F), JT_D},
+ {RUNE_C(0x0007A6), RUNE_C(0x0007B0), JT_T},
+ {RUNE_C(0x0007CA), RUNE_C(0x0007EA), JT_D},
+ {RUNE_C(0x0007EB), RUNE_C(0x0007F3), JT_T},
+ {RUNE_C(0x0007FA), RUNE_C(0x0007FA), JT_C},
+ {RUNE_C(0x0007FD), RUNE_C(0x0007FD), JT_T},
+ {RUNE_C(0x000816), RUNE_C(0x000819), JT_T},
+ {RUNE_C(0x00081B), RUNE_C(0x000823), JT_T},
+ {RUNE_C(0x000825), RUNE_C(0x000827), JT_T},
+ {RUNE_C(0x000829), RUNE_C(0x00082D), JT_T},
+ {RUNE_C(0x000840), RUNE_C(0x000840), JT_R},
+ {RUNE_C(0x000841), RUNE_C(0x000845), JT_D},
+ {RUNE_C(0x000846), RUNE_C(0x000847), JT_R},
+ {RUNE_C(0x000848), RUNE_C(0x000848), JT_D},
+ {RUNE_C(0x000849), RUNE_C(0x000849), JT_R},
+ {RUNE_C(0x00084A), RUNE_C(0x000853), JT_D},
+ {RUNE_C(0x000854), RUNE_C(0x000854), JT_R},
+ {RUNE_C(0x000855), RUNE_C(0x000855), JT_D},
+ {RUNE_C(0x000856), RUNE_C(0x000858), JT_R},
+ {RUNE_C(0x000859), RUNE_C(0x00085B), JT_T},
+ {RUNE_C(0x000860), RUNE_C(0x000860), JT_D},
+ {RUNE_C(0x000862), RUNE_C(0x000865), JT_D},
+ {RUNE_C(0x000867), RUNE_C(0x000867), JT_R},
+ {RUNE_C(0x000868), RUNE_C(0x000868), JT_D},
+ {RUNE_C(0x000869), RUNE_C(0x00086A), JT_R},
+ {RUNE_C(0x000870), RUNE_C(0x000882), JT_R},
+ {RUNE_C(0x000883), RUNE_C(0x000885), JT_C},
+ {RUNE_C(0x000886), RUNE_C(0x000886), JT_D},
+ {RUNE_C(0x000889), RUNE_C(0x00088D), JT_D},
+ {RUNE_C(0x00088E), RUNE_C(0x00088E), JT_R},
+ {RUNE_C(0x000898), RUNE_C(0x00089F), JT_T},
+ {RUNE_C(0x0008A0), RUNE_C(0x0008A9), JT_D},
+ {RUNE_C(0x0008AA), RUNE_C(0x0008AC), JT_R},
+ {RUNE_C(0x0008AE), RUNE_C(0x0008AE), JT_R},
+ {RUNE_C(0x0008AF), RUNE_C(0x0008B0), JT_D},
+ {RUNE_C(0x0008B1), RUNE_C(0x0008B2), JT_R},
+ {RUNE_C(0x0008B3), RUNE_C(0x0008B8), JT_D},
+ {RUNE_C(0x0008B9), RUNE_C(0x0008B9), JT_R},
+ {RUNE_C(0x0008BA), RUNE_C(0x0008C8), JT_D},
+ {RUNE_C(0x0008CA), RUNE_C(0x0008E1), JT_T},
+ {RUNE_C(0x0008E3), RUNE_C(0x000902), JT_T},
+ {RUNE_C(0x00093A), RUNE_C(0x00093A), JT_T},
+ {RUNE_C(0x00093C), RUNE_C(0x00093C), JT_T},
+ {RUNE_C(0x000941), RUNE_C(0x000948), JT_T},
+ {RUNE_C(0x00094D), RUNE_C(0x00094D), JT_T},
+ {RUNE_C(0x000951), RUNE_C(0x000957), JT_T},
+ {RUNE_C(0x000962), RUNE_C(0x000963), JT_T},
+ {RUNE_C(0x000981), RUNE_C(0x000981), JT_T},
+ {RUNE_C(0x0009BC), RUNE_C(0x0009BC), JT_T},
+ {RUNE_C(0x0009C1), RUNE_C(0x0009C4), JT_T},
+ {RUNE_C(0x0009CD), RUNE_C(0x0009CD), JT_T},
+ {RUNE_C(0x0009E2), RUNE_C(0x0009E3), JT_T},
+ {RUNE_C(0x0009FE), RUNE_C(0x0009FE), JT_T},
+ {RUNE_C(0x000A01), RUNE_C(0x000A02), JT_T},
+ {RUNE_C(0x000A3C), RUNE_C(0x000A3C), JT_T},
+ {RUNE_C(0x000A41), RUNE_C(0x000A42), JT_T},
+ {RUNE_C(0x000A47), RUNE_C(0x000A48), JT_T},
+ {RUNE_C(0x000A4B), RUNE_C(0x000A4D), JT_T},
+ {RUNE_C(0x000A51), RUNE_C(0x000A51), JT_T},
+ {RUNE_C(0x000A70), RUNE_C(0x000A71), JT_T},
+ {RUNE_C(0x000A75), RUNE_C(0x000A75), JT_T},
+ {RUNE_C(0x000A81), RUNE_C(0x000A82), JT_T},
+ {RUNE_C(0x000ABC), RUNE_C(0x000ABC), JT_T},
+ {RUNE_C(0x000AC1), RUNE_C(0x000AC5), JT_T},
+ {RUNE_C(0x000AC7), RUNE_C(0x000AC8), JT_T},
+ {RUNE_C(0x000ACD), RUNE_C(0x000ACD), JT_T},
+ {RUNE_C(0x000AE2), RUNE_C(0x000AE3), JT_T},
+ {RUNE_C(0x000AFA), RUNE_C(0x000AFF), JT_T},
+ {RUNE_C(0x000B01), RUNE_C(0x000B01), JT_T},
+ {RUNE_C(0x000B3C), RUNE_C(0x000B3C), JT_T},
+ {RUNE_C(0x000B3F), RUNE_C(0x000B3F), JT_T},
+ {RUNE_C(0x000B41), RUNE_C(0x000B44), JT_T},
+ {RUNE_C(0x000B4D), RUNE_C(0x000B4D), JT_T},
+ {RUNE_C(0x000B55), RUNE_C(0x000B56), JT_T},
+ {RUNE_C(0x000B62), RUNE_C(0x000B63), JT_T},
+ {RUNE_C(0x000B82), RUNE_C(0x000B82), JT_T},
+ {RUNE_C(0x000BC0), RUNE_C(0x000BC0), JT_T},
+ {RUNE_C(0x000BCD), RUNE_C(0x000BCD), JT_T},
+ {RUNE_C(0x000C00), RUNE_C(0x000C00), JT_T},
+ {RUNE_C(0x000C04), RUNE_C(0x000C04), JT_T},
+ {RUNE_C(0x000C3C), RUNE_C(0x000C3C), JT_T},
+ {RUNE_C(0x000C3E), RUNE_C(0x000C40), JT_T},
+ {RUNE_C(0x000C46), RUNE_C(0x000C48), JT_T},
+ {RUNE_C(0x000C4A), RUNE_C(0x000C4D), JT_T},
+ {RUNE_C(0x000C55), RUNE_C(0x000C56), JT_T},
+ {RUNE_C(0x000C62), RUNE_C(0x000C63), JT_T},
+ {RUNE_C(0x000C81), RUNE_C(0x000C81), JT_T},
+ {RUNE_C(0x000CBC), RUNE_C(0x000CBC), JT_T},
+ {RUNE_C(0x000CBF), RUNE_C(0x000CBF), JT_T},
+ {RUNE_C(0x000CC6), RUNE_C(0x000CC6), JT_T},
+ {RUNE_C(0x000CCC), RUNE_C(0x000CCD), JT_T},
+ {RUNE_C(0x000CE2), RUNE_C(0x000CE3), JT_T},
+ {RUNE_C(0x000D00), RUNE_C(0x000D01), JT_T},
+ {RUNE_C(0x000D3B), RUNE_C(0x000D3C), JT_T},
+ {RUNE_C(0x000D41), RUNE_C(0x000D44), JT_T},
+ {RUNE_C(0x000D4D), RUNE_C(0x000D4D), JT_T},
+ {RUNE_C(0x000D62), RUNE_C(0x000D63), JT_T},
+ {RUNE_C(0x000D81), RUNE_C(0x000D81), JT_T},
+ {RUNE_C(0x000DCA), RUNE_C(0x000DCA), JT_T},
+ {RUNE_C(0x000DD2), RUNE_C(0x000DD4), JT_T},
+ {RUNE_C(0x000DD6), RUNE_C(0x000DD6), JT_T},
+ {RUNE_C(0x000E31), RUNE_C(0x000E31), JT_T},
+ {RUNE_C(0x000E34), RUNE_C(0x000E3A), JT_T},
+ {RUNE_C(0x000E47), RUNE_C(0x000E4E), JT_T},
+ {RUNE_C(0x000EB1), RUNE_C(0x000EB1), JT_T},
+ {RUNE_C(0x000EB4), RUNE_C(0x000EBC), JT_T},
+ {RUNE_C(0x000EC8), RUNE_C(0x000ECE), JT_T},
+ {RUNE_C(0x000F18), RUNE_C(0x000F19), JT_T},
+ {RUNE_C(0x000F35), RUNE_C(0x000F35), JT_T},
+ {RUNE_C(0x000F37), RUNE_C(0x000F37), JT_T},
+ {RUNE_C(0x000F39), RUNE_C(0x000F39), JT_T},
+ {RUNE_C(0x000F71), RUNE_C(0x000F7E), JT_T},
+ {RUNE_C(0x000F80), RUNE_C(0x000F84), JT_T},
+ {RUNE_C(0x000F86), RUNE_C(0x000F87), JT_T},
+ {RUNE_C(0x000F8D), RUNE_C(0x000F97), JT_T},
+ {RUNE_C(0x000F99), RUNE_C(0x000FBC), JT_T},
+ {RUNE_C(0x000FC6), RUNE_C(0x000FC6), JT_T},
+ {RUNE_C(0x00102D), RUNE_C(0x001030), JT_T},
+ {RUNE_C(0x001032), RUNE_C(0x001037), JT_T},
+ {RUNE_C(0x001039), RUNE_C(0x00103A), JT_T},
+ {RUNE_C(0x00103D), RUNE_C(0x00103E), JT_T},
+ {RUNE_C(0x001058), RUNE_C(0x001059), JT_T},
+ {RUNE_C(0x00105E), RUNE_C(0x001060), JT_T},
+ {RUNE_C(0x001071), RUNE_C(0x001074), JT_T},
+ {RUNE_C(0x001082), RUNE_C(0x001082), JT_T},
+ {RUNE_C(0x001085), RUNE_C(0x001086), JT_T},
+ {RUNE_C(0x00108D), RUNE_C(0x00108D), JT_T},
+ {RUNE_C(0x00109D), RUNE_C(0x00109D), JT_T},
+ {RUNE_C(0x00135D), RUNE_C(0x00135F), JT_T},
+ {RUNE_C(0x001712), RUNE_C(0x001714), JT_T},
+ {RUNE_C(0x001732), RUNE_C(0x001733), JT_T},
+ {RUNE_C(0x001752), RUNE_C(0x001753), JT_T},
+ {RUNE_C(0x001772), RUNE_C(0x001773), JT_T},
+ {RUNE_C(0x0017B4), RUNE_C(0x0017B5), JT_T},
+ {RUNE_C(0x0017B7), RUNE_C(0x0017BD), JT_T},
+ {RUNE_C(0x0017C6), RUNE_C(0x0017C6), JT_T},
+ {RUNE_C(0x0017C9), RUNE_C(0x0017D3), JT_T},
+ {RUNE_C(0x0017DD), RUNE_C(0x0017DD), JT_T},
+ {RUNE_C(0x001807), RUNE_C(0x001807), JT_D},
+ {RUNE_C(0x00180A), RUNE_C(0x00180A), JT_C},
+ {RUNE_C(0x00180B), RUNE_C(0x00180D), JT_T},
+ {RUNE_C(0x00180F), RUNE_C(0x00180F), JT_T},
+ {RUNE_C(0x001820), RUNE_C(0x001878), JT_D},
+ {RUNE_C(0x001885), RUNE_C(0x001886), JT_T},
+ {RUNE_C(0x001887), RUNE_C(0x0018A8), JT_D},
+ {RUNE_C(0x0018A9), RUNE_C(0x0018A9), JT_T},
+ {RUNE_C(0x0018AA), RUNE_C(0x0018AA), JT_D},
+ {RUNE_C(0x001920), RUNE_C(0x001922), JT_T},
+ {RUNE_C(0x001927), RUNE_C(0x001928), JT_T},
+ {RUNE_C(0x001932), RUNE_C(0x001932), JT_T},
+ {RUNE_C(0x001939), RUNE_C(0x00193B), JT_T},
+ {RUNE_C(0x001A17), RUNE_C(0x001A18), JT_T},
+ {RUNE_C(0x001A1B), RUNE_C(0x001A1B), JT_T},
+ {RUNE_C(0x001A56), RUNE_C(0x001A56), JT_T},
+ {RUNE_C(0x001A58), RUNE_C(0x001A5E), JT_T},
+ {RUNE_C(0x001A60), RUNE_C(0x001A60), JT_T},
+ {RUNE_C(0x001A62), RUNE_C(0x001A62), JT_T},
+ {RUNE_C(0x001A65), RUNE_C(0x001A6C), JT_T},
+ {RUNE_C(0x001A73), RUNE_C(0x001A7C), JT_T},
+ {RUNE_C(0x001A7F), RUNE_C(0x001A7F), JT_T},
+ {RUNE_C(0x001AB0), RUNE_C(0x001ACE), JT_T},
+ {RUNE_C(0x001B00), RUNE_C(0x001B03), JT_T},
+ {RUNE_C(0x001B34), RUNE_C(0x001B34), JT_T},
+ {RUNE_C(0x001B36), RUNE_C(0x001B3A), JT_T},
+ {RUNE_C(0x001B3C), RUNE_C(0x001B3C), JT_T},
+ {RUNE_C(0x001B42), RUNE_C(0x001B42), JT_T},
+ {RUNE_C(0x001B6B), RUNE_C(0x001B73), JT_T},
+ {RUNE_C(0x001B80), RUNE_C(0x001B81), JT_T},
+ {RUNE_C(0x001BA2), RUNE_C(0x001BA5), JT_T},
+ {RUNE_C(0x001BA8), RUNE_C(0x001BA9), JT_T},
+ {RUNE_C(0x001BAB), RUNE_C(0x001BAD), JT_T},
+ {RUNE_C(0x001BE6), RUNE_C(0x001BE6), JT_T},
+ {RUNE_C(0x001BE8), RUNE_C(0x001BE9), JT_T},
+ {RUNE_C(0x001BED), RUNE_C(0x001BED), JT_T},
+ {RUNE_C(0x001BEF), RUNE_C(0x001BF1), JT_T},
+ {RUNE_C(0x001C2C), RUNE_C(0x001C33), JT_T},
+ {RUNE_C(0x001C36), RUNE_C(0x001C37), JT_T},
+ {RUNE_C(0x001CD0), RUNE_C(0x001CD2), JT_T},
+ {RUNE_C(0x001CD4), RUNE_C(0x001CE0), JT_T},
+ {RUNE_C(0x001CE2), RUNE_C(0x001CE8), JT_T},
+ {RUNE_C(0x001CED), RUNE_C(0x001CED), JT_T},
+ {RUNE_C(0x001CF4), RUNE_C(0x001CF4), JT_T},
+ {RUNE_C(0x001CF8), RUNE_C(0x001CF9), JT_T},
+ {RUNE_C(0x001DC0), RUNE_C(0x001DFF), JT_T},
+ {RUNE_C(0x00200B), RUNE_C(0x00200B), JT_T},
+ {RUNE_C(0x00200D), RUNE_C(0x00200D), JT_C},
+ {RUNE_C(0x00200E), RUNE_C(0x00200F), JT_T},
+ {RUNE_C(0x00202A), RUNE_C(0x00202E), JT_T},
+ {RUNE_C(0x002060), RUNE_C(0x002064), JT_T},
+ {RUNE_C(0x00206A), RUNE_C(0x00206F), JT_T},
+ {RUNE_C(0x0020D0), RUNE_C(0x0020F0), JT_T},
+ {RUNE_C(0x002CEF), RUNE_C(0x002CF1), JT_T},
+ {RUNE_C(0x002D7F), RUNE_C(0x002D7F), JT_T},
+ {RUNE_C(0x002DE0), RUNE_C(0x002DFF), JT_T},
+ {RUNE_C(0x00302A), RUNE_C(0x00302D), JT_T},
+ {RUNE_C(0x003099), RUNE_C(0x00309A), JT_T},
+ {RUNE_C(0x00A66F), RUNE_C(0x00A672), JT_T},
+ {RUNE_C(0x00A674), RUNE_C(0x00A67D), JT_T},
+ {RUNE_C(0x00A69E), RUNE_C(0x00A69F), JT_T},
+ {RUNE_C(0x00A6F0), RUNE_C(0x00A6F1), JT_T},
+ {RUNE_C(0x00A802), RUNE_C(0x00A802), JT_T},
+ {RUNE_C(0x00A806), RUNE_C(0x00A806), JT_T},
+ {RUNE_C(0x00A80B), RUNE_C(0x00A80B), JT_T},
+ {RUNE_C(0x00A825), RUNE_C(0x00A826), JT_T},
+ {RUNE_C(0x00A82C), RUNE_C(0x00A82C), JT_T},
+ {RUNE_C(0x00A840), RUNE_C(0x00A871), JT_D},
+ {RUNE_C(0x00A872), RUNE_C(0x00A872), JT_L},
+ {RUNE_C(0x00A8C4), RUNE_C(0x00A8C5), JT_T},
+ {RUNE_C(0x00A8E0), RUNE_C(0x00A8F1), JT_T},
+ {RUNE_C(0x00A8FF), RUNE_C(0x00A8FF), JT_T},
+ {RUNE_C(0x00A926), RUNE_C(0x00A92D), JT_T},
+ {RUNE_C(0x00A947), RUNE_C(0x00A951), JT_T},
+ {RUNE_C(0x00A980), RUNE_C(0x00A982), JT_T},
+ {RUNE_C(0x00A9B3), RUNE_C(0x00A9B3), JT_T},
+ {RUNE_C(0x00A9B6), RUNE_C(0x00A9B9), JT_T},
+ {RUNE_C(0x00A9BC), RUNE_C(0x00A9BD), JT_T},
+ {RUNE_C(0x00A9E5), RUNE_C(0x00A9E5), JT_T},
+ {RUNE_C(0x00AA29), RUNE_C(0x00AA2E), JT_T},
+ {RUNE_C(0x00AA31), RUNE_C(0x00AA32), JT_T},
+ {RUNE_C(0x00AA35), RUNE_C(0x00AA36), JT_T},
+ {RUNE_C(0x00AA43), RUNE_C(0x00AA43), JT_T},
+ {RUNE_C(0x00AA4C), RUNE_C(0x00AA4C), JT_T},
+ {RUNE_C(0x00AA7C), RUNE_C(0x00AA7C), JT_T},
+ {RUNE_C(0x00AAB0), RUNE_C(0x00AAB0), JT_T},
+ {RUNE_C(0x00AAB2), RUNE_C(0x00AAB4), JT_T},
+ {RUNE_C(0x00AAB7), RUNE_C(0x00AAB8), JT_T},
+ {RUNE_C(0x00AABE), RUNE_C(0x00AABF), JT_T},
+ {RUNE_C(0x00AAC1), RUNE_C(0x00AAC1), JT_T},
+ {RUNE_C(0x00AAEC), RUNE_C(0x00AAED), JT_T},
+ {RUNE_C(0x00AAF6), RUNE_C(0x00AAF6), JT_T},
+ {RUNE_C(0x00ABE5), RUNE_C(0x00ABE5), JT_T},
+ {RUNE_C(0x00ABE8), RUNE_C(0x00ABE8), JT_T},
+ {RUNE_C(0x00ABED), RUNE_C(0x00ABED), JT_T},
+ {RUNE_C(0x00FB1E), RUNE_C(0x00FB1E), JT_T},
+ {RUNE_C(0x00FE00), RUNE_C(0x00FE0F), JT_T},
+ {RUNE_C(0x00FE20), RUNE_C(0x00FE2F), JT_T},
+ {RUNE_C(0x00FEFF), RUNE_C(0x00FEFF), JT_T},
+ {RUNE_C(0x00FFF9), RUNE_C(0x00FFFB), JT_T},
+ {RUNE_C(0x0101FD), RUNE_C(0x0101FD), JT_T},
+ {RUNE_C(0x0102E0), RUNE_C(0x0102E0), JT_T},
+ {RUNE_C(0x010376), RUNE_C(0x01037A), JT_T},
+ {RUNE_C(0x010A01), RUNE_C(0x010A03), JT_T},
+ {RUNE_C(0x010A05), RUNE_C(0x010A06), JT_T},
+ {RUNE_C(0x010A0C), RUNE_C(0x010A0F), JT_T},
+ {RUNE_C(0x010A38), RUNE_C(0x010A3A), JT_T},
+ {RUNE_C(0x010A3F), RUNE_C(0x010A3F), JT_T},
+ {RUNE_C(0x010AC0), RUNE_C(0x010AC4), JT_D},
+ {RUNE_C(0x010AC5), RUNE_C(0x010AC5), JT_R},
+ {RUNE_C(0x010AC7), RUNE_C(0x010AC7), JT_R},
+ {RUNE_C(0x010AC9), RUNE_C(0x010ACA), JT_R},
+ {RUNE_C(0x010ACD), RUNE_C(0x010ACD), JT_L},
+ {RUNE_C(0x010ACE), RUNE_C(0x010AD2), JT_R},
+ {RUNE_C(0x010AD3), RUNE_C(0x010AD6), JT_D},
+ {RUNE_C(0x010AD7), RUNE_C(0x010AD7), JT_L},
+ {RUNE_C(0x010AD8), RUNE_C(0x010ADC), JT_D},
+ {RUNE_C(0x010ADD), RUNE_C(0x010ADD), JT_R},
+ {RUNE_C(0x010ADE), RUNE_C(0x010AE0), JT_D},
+ {RUNE_C(0x010AE1), RUNE_C(0x010AE1), JT_R},
+ {RUNE_C(0x010AE4), RUNE_C(0x010AE4), JT_R},
+ {RUNE_C(0x010AE5), RUNE_C(0x010AE6), JT_T},
+ {RUNE_C(0x010AEB), RUNE_C(0x010AEE), JT_D},
+ {RUNE_C(0x010AEF), RUNE_C(0x010AEF), JT_R},
+ {RUNE_C(0x010B80), RUNE_C(0x010B80), JT_D},
+ {RUNE_C(0x010B81), RUNE_C(0x010B81), JT_R},
+ {RUNE_C(0x010B82), RUNE_C(0x010B82), JT_D},
+ {RUNE_C(0x010B83), RUNE_C(0x010B85), JT_R},
+ {RUNE_C(0x010B86), RUNE_C(0x010B88), JT_D},
+ {RUNE_C(0x010B89), RUNE_C(0x010B89), JT_R},
+ {RUNE_C(0x010B8A), RUNE_C(0x010B8B), JT_D},
+ {RUNE_C(0x010B8C), RUNE_C(0x010B8C), JT_R},
+ {RUNE_C(0x010B8D), RUNE_C(0x010B8D), JT_D},
+ {RUNE_C(0x010B8E), RUNE_C(0x010B8F), JT_R},
+ {RUNE_C(0x010B90), RUNE_C(0x010B90), JT_D},
+ {RUNE_C(0x010B91), RUNE_C(0x010B91), JT_R},
+ {RUNE_C(0x010BA9), RUNE_C(0x010BAC), JT_R},
+ {RUNE_C(0x010BAD), RUNE_C(0x010BAE), JT_D},
+ {RUNE_C(0x010D00), RUNE_C(0x010D00), JT_L},
+ {RUNE_C(0x010D01), RUNE_C(0x010D21), JT_D},
+ {RUNE_C(0x010D22), RUNE_C(0x010D22), JT_R},
+ {RUNE_C(0x010D23), RUNE_C(0x010D23), JT_D},
+ {RUNE_C(0x010D24), RUNE_C(0x010D27), JT_T},
+ {RUNE_C(0x010EAB), RUNE_C(0x010EAC), JT_T},
+ {RUNE_C(0x010EFD), RUNE_C(0x010EFF), JT_T},
+ {RUNE_C(0x010F30), RUNE_C(0x010F32), JT_D},
+ {RUNE_C(0x010F33), RUNE_C(0x010F33), JT_R},
+ {RUNE_C(0x010F34), RUNE_C(0x010F44), JT_D},
+ {RUNE_C(0x010F46), RUNE_C(0x010F50), JT_T},
+ {RUNE_C(0x010F51), RUNE_C(0x010F53), JT_D},
+ {RUNE_C(0x010F54), RUNE_C(0x010F54), JT_R},
+ {RUNE_C(0x010F70), RUNE_C(0x010F73), JT_D},
+ {RUNE_C(0x010F74), RUNE_C(0x010F75), JT_R},
+ {RUNE_C(0x010F76), RUNE_C(0x010F81), JT_D},
+ {RUNE_C(0x010F82), RUNE_C(0x010F85), JT_T},
+ {RUNE_C(0x010FB0), RUNE_C(0x010FB0), JT_D},
+ {RUNE_C(0x010FB2), RUNE_C(0x010FB3), JT_D},
+ {RUNE_C(0x010FB4), RUNE_C(0x010FB6), JT_R},
+ {RUNE_C(0x010FB8), RUNE_C(0x010FB8), JT_D},
+ {RUNE_C(0x010FB9), RUNE_C(0x010FBA), JT_R},
+ {RUNE_C(0x010FBB), RUNE_C(0x010FBC), JT_D},
+ {RUNE_C(0x010FBD), RUNE_C(0x010FBD), JT_R},
+ {RUNE_C(0x010FBE), RUNE_C(0x010FBF), JT_D},
+ {RUNE_C(0x010FC1), RUNE_C(0x010FC1), JT_D},
+ {RUNE_C(0x010FC2), RUNE_C(0x010FC3), JT_R},
+ {RUNE_C(0x010FC4), RUNE_C(0x010FC4), JT_D},
+ {RUNE_C(0x010FC9), RUNE_C(0x010FC9), JT_R},
+ {RUNE_C(0x010FCA), RUNE_C(0x010FCA), JT_D},
+ {RUNE_C(0x010FCB), RUNE_C(0x010FCB), JT_L},
+ {RUNE_C(0x011001), RUNE_C(0x011001), JT_T},
+ {RUNE_C(0x011038), RUNE_C(0x011046), JT_T},
+ {RUNE_C(0x011070), RUNE_C(0x011070), JT_T},
+ {RUNE_C(0x011073), RUNE_C(0x011074), JT_T},
+ {RUNE_C(0x01107F), RUNE_C(0x011081), JT_T},
+ {RUNE_C(0x0110B3), RUNE_C(0x0110B6), JT_T},
+ {RUNE_C(0x0110B9), RUNE_C(0x0110BA), JT_T},
+ {RUNE_C(0x0110C2), RUNE_C(0x0110C2), JT_T},
+ {RUNE_C(0x011100), RUNE_C(0x011102), JT_T},
+ {RUNE_C(0x011127), RUNE_C(0x01112B), JT_T},
+ {RUNE_C(0x01112D), RUNE_C(0x011134), JT_T},
+ {RUNE_C(0x011173), RUNE_C(0x011173), JT_T},
+ {RUNE_C(0x011180), RUNE_C(0x011181), JT_T},
+ {RUNE_C(0x0111B6), RUNE_C(0x0111BE), JT_T},
+ {RUNE_C(0x0111C9), RUNE_C(0x0111CC), JT_T},
+ {RUNE_C(0x0111CF), RUNE_C(0x0111CF), JT_T},
+ {RUNE_C(0x01122F), RUNE_C(0x011231), JT_T},
+ {RUNE_C(0x011234), RUNE_C(0x011234), JT_T},
+ {RUNE_C(0x011236), RUNE_C(0x011237), JT_T},
+ {RUNE_C(0x01123E), RUNE_C(0x01123E), JT_T},
+ {RUNE_C(0x011241), RUNE_C(0x011241), JT_T},
+ {RUNE_C(0x0112DF), RUNE_C(0x0112DF), JT_T},
+ {RUNE_C(0x0112E3), RUNE_C(0x0112EA), JT_T},
+ {RUNE_C(0x011300), RUNE_C(0x011301), JT_T},
+ {RUNE_C(0x01133B), RUNE_C(0x01133C), JT_T},
+ {RUNE_C(0x011340), RUNE_C(0x011340), JT_T},
+ {RUNE_C(0x011366), RUNE_C(0x01136C), JT_T},
+ {RUNE_C(0x011370), RUNE_C(0x011374), JT_T},
+ {RUNE_C(0x011438), RUNE_C(0x01143F), JT_T},
+ {RUNE_C(0x011442), RUNE_C(0x011444), JT_T},
+ {RUNE_C(0x011446), RUNE_C(0x011446), JT_T},
+ {RUNE_C(0x01145E), RUNE_C(0x01145E), JT_T},
+ {RUNE_C(0x0114B3), RUNE_C(0x0114B8), JT_T},
+ {RUNE_C(0x0114BA), RUNE_C(0x0114BA), JT_T},
+ {RUNE_C(0x0114BF), RUNE_C(0x0114C0), JT_T},
+ {RUNE_C(0x0114C2), RUNE_C(0x0114C3), JT_T},
+ {RUNE_C(0x0115B2), RUNE_C(0x0115B5), JT_T},
+ {RUNE_C(0x0115BC), RUNE_C(0x0115BD), JT_T},
+ {RUNE_C(0x0115BF), RUNE_C(0x0115C0), JT_T},
+ {RUNE_C(0x0115DC), RUNE_C(0x0115DD), JT_T},
+ {RUNE_C(0x011633), RUNE_C(0x01163A), JT_T},
+ {RUNE_C(0x01163D), RUNE_C(0x01163D), JT_T},
+ {RUNE_C(0x01163F), RUNE_C(0x011640), JT_T},
+ {RUNE_C(0x0116AB), RUNE_C(0x0116AB), JT_T},
+ {RUNE_C(0x0116AD), RUNE_C(0x0116AD), JT_T},
+ {RUNE_C(0x0116B0), RUNE_C(0x0116B5), JT_T},
+ {RUNE_C(0x0116B7), RUNE_C(0x0116B7), JT_T},
+ {RUNE_C(0x01171D), RUNE_C(0x01171F), JT_T},
+ {RUNE_C(0x011722), RUNE_C(0x011725), JT_T},
+ {RUNE_C(0x011727), RUNE_C(0x01172B), JT_T},
+ {RUNE_C(0x01182F), RUNE_C(0x011837), JT_T},
+ {RUNE_C(0x011839), RUNE_C(0x01183A), JT_T},
+ {RUNE_C(0x01193B), RUNE_C(0x01193C), JT_T},
+ {RUNE_C(0x01193E), RUNE_C(0x01193E), JT_T},
+ {RUNE_C(0x011943), RUNE_C(0x011943), JT_T},
+ {RUNE_C(0x0119D4), RUNE_C(0x0119D7), JT_T},
+ {RUNE_C(0x0119DA), RUNE_C(0x0119DB), JT_T},
+ {RUNE_C(0x0119E0), RUNE_C(0x0119E0), JT_T},
+ {RUNE_C(0x011A01), RUNE_C(0x011A0A), JT_T},
+ {RUNE_C(0x011A33), RUNE_C(0x011A38), JT_T},
+ {RUNE_C(0x011A3B), RUNE_C(0x011A3E), JT_T},
+ {RUNE_C(0x011A47), RUNE_C(0x011A47), JT_T},
+ {RUNE_C(0x011A51), RUNE_C(0x011A56), JT_T},
+ {RUNE_C(0x011A59), RUNE_C(0x011A5B), JT_T},
+ {RUNE_C(0x011A8A), RUNE_C(0x011A96), JT_T},
+ {RUNE_C(0x011A98), RUNE_C(0x011A99), JT_T},
+ {RUNE_C(0x011C30), RUNE_C(0x011C36), JT_T},
+ {RUNE_C(0x011C38), RUNE_C(0x011C3D), JT_T},
+ {RUNE_C(0x011C3F), RUNE_C(0x011C3F), JT_T},
+ {RUNE_C(0x011C92), RUNE_C(0x011CA7), JT_T},
+ {RUNE_C(0x011CAA), RUNE_C(0x011CB0), JT_T},
+ {RUNE_C(0x011CB2), RUNE_C(0x011CB3), JT_T},
+ {RUNE_C(0x011CB5), RUNE_C(0x011CB6), JT_T},
+ {RUNE_C(0x011D31), RUNE_C(0x011D36), JT_T},
+ {RUNE_C(0x011D3A), RUNE_C(0x011D3A), JT_T},
+ {RUNE_C(0x011D3C), RUNE_C(0x011D3D), JT_T},
+ {RUNE_C(0x011D3F), RUNE_C(0x011D45), JT_T},
+ {RUNE_C(0x011D47), RUNE_C(0x011D47), JT_T},
+ {RUNE_C(0x011D90), RUNE_C(0x011D91), JT_T},
+ {RUNE_C(0x011D95), RUNE_C(0x011D95), JT_T},
+ {RUNE_C(0x011D97), RUNE_C(0x011D97), JT_T},
+ {RUNE_C(0x011EF3), RUNE_C(0x011EF4), JT_T},
+ {RUNE_C(0x011F00), RUNE_C(0x011F01), JT_T},
+ {RUNE_C(0x011F36), RUNE_C(0x011F3A), JT_T},
+ {RUNE_C(0x011F40), RUNE_C(0x011F40), JT_T},
+ {RUNE_C(0x011F42), RUNE_C(0x011F42), JT_T},
+ {RUNE_C(0x013430), RUNE_C(0x013440), JT_T},
+ {RUNE_C(0x013447), RUNE_C(0x013455), JT_T},
+ {RUNE_C(0x016AF0), RUNE_C(0x016AF4), JT_T},
+ {RUNE_C(0x016B30), RUNE_C(0x016B36), JT_T},
+ {RUNE_C(0x016F4F), RUNE_C(0x016F4F), JT_T},
+ {RUNE_C(0x016F8F), RUNE_C(0x016F92), JT_T},
+ {RUNE_C(0x016FE4), RUNE_C(0x016FE4), JT_T},
+ {RUNE_C(0x01BC9D), RUNE_C(0x01BC9E), JT_T},
+ {RUNE_C(0x01BCA0), RUNE_C(0x01BCA3), JT_T},
+ {RUNE_C(0x01CF00), RUNE_C(0x01CF2D), JT_T},
+ {RUNE_C(0x01CF30), RUNE_C(0x01CF46), JT_T},
+ {RUNE_C(0x01D167), RUNE_C(0x01D169), JT_T},
+ {RUNE_C(0x01D173), RUNE_C(0x01D182), JT_T},
+ {RUNE_C(0x01D185), RUNE_C(0x01D18B), JT_T},
+ {RUNE_C(0x01D1AA), RUNE_C(0x01D1AD), JT_T},
+ {RUNE_C(0x01D242), RUNE_C(0x01D244), JT_T},
+ {RUNE_C(0x01DA00), RUNE_C(0x01DA36), JT_T},
+ {RUNE_C(0x01DA3B), RUNE_C(0x01DA6C), JT_T},
+ {RUNE_C(0x01DA75), RUNE_C(0x01DA75), JT_T},
+ {RUNE_C(0x01DA84), RUNE_C(0x01DA84), JT_T},
+ {RUNE_C(0x01DA9B), RUNE_C(0x01DA9F), JT_T},
+ {RUNE_C(0x01DAA1), RUNE_C(0x01DAAF), JT_T},
+ {RUNE_C(0x01E000), RUNE_C(0x01E006), JT_T},
+ {RUNE_C(0x01E008), RUNE_C(0x01E018), JT_T},
+ {RUNE_C(0x01E01B), RUNE_C(0x01E021), JT_T},
+ {RUNE_C(0x01E023), RUNE_C(0x01E024), JT_T},
+ {RUNE_C(0x01E026), RUNE_C(0x01E02A), JT_T},
+ {RUNE_C(0x01E08F), RUNE_C(0x01E08F), JT_T},
+ {RUNE_C(0x01E130), RUNE_C(0x01E136), JT_T},
+ {RUNE_C(0x01E2AE), RUNE_C(0x01E2AE), JT_T},
+ {RUNE_C(0x01E2EC), RUNE_C(0x01E2EF), JT_T},
+ {RUNE_C(0x01E4EC), RUNE_C(0x01E4EF), JT_T},
+ {RUNE_C(0x01E8D0), RUNE_C(0x01E8D6), JT_T},
+ {RUNE_C(0x01E900), RUNE_C(0x01E943), JT_D},
+ {RUNE_C(0x01E944), RUNE_C(0x01E94B), JT_T},
+ {RUNE_C(0x0E0001), RUNE_C(0x0E0001), JT_T},
+ {RUNE_C(0x0E0020), RUNE_C(0x0E007F), JT_T},
+ {RUNE_C(0x0E0100), RUNE_C(0x0E01EF), JT_T},
+};
+
+_MLIB_DEFINE_BSEARCH(enum uprop_jt, lookup, JT_U)
+
+enum uprop_jt
+uprop_get_jt(rune ch)
+{
+ return ch < lengthof(lookup_lat1) ? lookup_lat1[ch] : mlib_lookup(ch);
+}