aboutsummaryrefslogtreecommitdiff
path: root/lib/unicode
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-04-18 11:44:31 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-04-18 11:44:31 +0200
commit1616feb4901579da80452c95c6e0f732b945c7d5 (patch)
treea351d926c12adccb32e2913ea4a3a44422d6eea5 /lib/unicode
parent5d2bbdfe3191049bbd4bb237a31f34fdf62f347c (diff)
Add uprop_get_jg()
Diffstat (limited to 'lib/unicode')
-rw-r--r--lib/unicode/prop/uprop_get_jg.c230
1 files changed, 230 insertions, 0 deletions
diff --git a/lib/unicode/prop/uprop_get_jg.c b/lib/unicode/prop/uprop_get_jg.c
new file mode 100644
index 0000000..9c38700
--- /dev/null
+++ b/lib/unicode/prop/uprop_get_jg.c
@@ -0,0 +1,230 @@
+/* This file is autogenerated by gen/prop/jg; DO NOT EDIT. */
+
+#include "_bsearch.h"
+#include "rune.h"
+#include "unicode/prop.h"
+
+static const struct {
+ rune lo, hi;
+ enum uprop_jg val;
+} lookup[] = {
+ {RUNE_C(0x000620), RUNE_C(0x000620), JG_YEH},
+ {RUNE_C(0x000622), RUNE_C(0x000623), JG_ALEF},
+ {RUNE_C(0x000624), RUNE_C(0x000624), JG_WAW},
+ {RUNE_C(0x000625), RUNE_C(0x000625), JG_ALEF},
+ {RUNE_C(0x000626), RUNE_C(0x000626), JG_YEH},
+ {RUNE_C(0x000627), RUNE_C(0x000627), JG_ALEF},
+ {RUNE_C(0x000628), RUNE_C(0x000628), JG_BEH},
+ {RUNE_C(0x000629), RUNE_C(0x000629), JG_TEH_MARBUTA},
+ {RUNE_C(0x00062A), RUNE_C(0x00062B), JG_BEH},
+ {RUNE_C(0x00062C), RUNE_C(0x00062E), JG_HAH},
+ {RUNE_C(0x00062F), RUNE_C(0x000630), JG_DAL},
+ {RUNE_C(0x000631), RUNE_C(0x000632), JG_REH},
+ {RUNE_C(0x000633), RUNE_C(0x000634), JG_SEEN},
+ {RUNE_C(0x000635), RUNE_C(0x000636), JG_SAD},
+ {RUNE_C(0x000637), RUNE_C(0x000638), JG_TAH},
+ {RUNE_C(0x000639), RUNE_C(0x00063A), JG_AIN},
+ {RUNE_C(0x00063B), RUNE_C(0x00063C), JG_GAF},
+ {RUNE_C(0x00063D), RUNE_C(0x00063F), JG_FARSI_YEH},
+ {RUNE_C(0x000641), RUNE_C(0x000641), JG_FEH},
+ {RUNE_C(0x000642), RUNE_C(0x000642), JG_QAF},
+ {RUNE_C(0x000643), RUNE_C(0x000643), JG_KAF},
+ {RUNE_C(0x000644), RUNE_C(0x000644), JG_LAM},
+ {RUNE_C(0x000645), RUNE_C(0x000645), JG_MEEM},
+ {RUNE_C(0x000646), RUNE_C(0x000646), JG_NOON},
+ {RUNE_C(0x000647), RUNE_C(0x000647), JG_HEH},
+ {RUNE_C(0x000648), RUNE_C(0x000648), JG_WAW},
+ {RUNE_C(0x000649), RUNE_C(0x00064A), JG_YEH},
+ {RUNE_C(0x00066E), RUNE_C(0x00066E), JG_BEH},
+ {RUNE_C(0x00066F), RUNE_C(0x00066F), JG_QAF},
+ {RUNE_C(0x000671), RUNE_C(0x000673), JG_ALEF},
+ {RUNE_C(0x000675), RUNE_C(0x000675), JG_ALEF},
+ {RUNE_C(0x000676), RUNE_C(0x000677), JG_WAW},
+ {RUNE_C(0x000678), RUNE_C(0x000678), JG_YEH},
+ {RUNE_C(0x000679), RUNE_C(0x000680), JG_BEH},
+ {RUNE_C(0x000681), RUNE_C(0x000687), JG_HAH},
+ {RUNE_C(0x000688), RUNE_C(0x000690), JG_DAL},
+ {RUNE_C(0x000691), RUNE_C(0x000699), JG_REH},
+ {RUNE_C(0x00069A), RUNE_C(0x00069C), JG_SEEN},
+ {RUNE_C(0x00069D), RUNE_C(0x00069E), JG_SAD},
+ {RUNE_C(0x00069F), RUNE_C(0x00069F), JG_TAH},
+ {RUNE_C(0x0006A0), RUNE_C(0x0006A0), JG_AIN},
+ {RUNE_C(0x0006A1), RUNE_C(0x0006A6), JG_FEH},
+ {RUNE_C(0x0006A7), RUNE_C(0x0006A8), JG_QAF},
+ {RUNE_C(0x0006A9), RUNE_C(0x0006A9), JG_GAF},
+ {RUNE_C(0x0006AA), RUNE_C(0x0006AA), JG_SWASH_KAF},
+ {RUNE_C(0x0006AB), RUNE_C(0x0006AB), JG_GAF},
+ {RUNE_C(0x0006AC), RUNE_C(0x0006AE), JG_KAF},
+ {RUNE_C(0x0006AF), RUNE_C(0x0006B4), JG_GAF},
+ {RUNE_C(0x0006B5), RUNE_C(0x0006B8), JG_LAM},
+ {RUNE_C(0x0006B9), RUNE_C(0x0006BC), JG_NOON},
+ {RUNE_C(0x0006BD), RUNE_C(0x0006BD), JG_NYA},
+ {RUNE_C(0x0006BE), RUNE_C(0x0006BE), JG_KNOTTED_HEH},
+ {RUNE_C(0x0006BF), RUNE_C(0x0006BF), JG_HAH},
+ {RUNE_C(0x0006C0), RUNE_C(0x0006C0), JG_TEH_MARBUTA},
+ {RUNE_C(0x0006C1), RUNE_C(0x0006C2), JG_HEH_GOAL},
+ {RUNE_C(0x0006C3), RUNE_C(0x0006C3), JG_TEH_MARBUTA_GOAL},
+ {RUNE_C(0x0006C4), RUNE_C(0x0006CB), JG_WAW},
+ {RUNE_C(0x0006CC), RUNE_C(0x0006CC), JG_FARSI_YEH},
+ {RUNE_C(0x0006CD), RUNE_C(0x0006CD), JG_YEH_WITH_TAIL},
+ {RUNE_C(0x0006CE), RUNE_C(0x0006CE), JG_FARSI_YEH},
+ {RUNE_C(0x0006CF), RUNE_C(0x0006CF), JG_WAW},
+ {RUNE_C(0x0006D0), RUNE_C(0x0006D1), JG_YEH},
+ {RUNE_C(0x0006D2), RUNE_C(0x0006D3), JG_YEH_BARREE},
+ {RUNE_C(0x0006D5), RUNE_C(0x0006D5), JG_TEH_MARBUTA},
+ {RUNE_C(0x0006EE), RUNE_C(0x0006EE), JG_DAL},
+ {RUNE_C(0x0006EF), RUNE_C(0x0006EF), JG_REH},
+ {RUNE_C(0x0006FA), RUNE_C(0x0006FA), JG_SEEN},
+ {RUNE_C(0x0006FB), RUNE_C(0x0006FB), JG_SAD},
+ {RUNE_C(0x0006FC), RUNE_C(0x0006FC), JG_AIN},
+ {RUNE_C(0x0006FF), RUNE_C(0x0006FF), JG_KNOTTED_HEH},
+ {RUNE_C(0x000710), RUNE_C(0x000710), JG_ALAPH},
+ {RUNE_C(0x000712), RUNE_C(0x000712), JG_BETH},
+ {RUNE_C(0x000713), RUNE_C(0x000714), JG_GAMAL},
+ {RUNE_C(0x000715), RUNE_C(0x000716), JG_DALATH_RISH},
+ {RUNE_C(0x000717), RUNE_C(0x000717), JG_HE},
+ {RUNE_C(0x000718), RUNE_C(0x000718), JG_SYRIAC_WAW},
+ {RUNE_C(0x000719), RUNE_C(0x000719), JG_ZAIN},
+ {RUNE_C(0x00071A), RUNE_C(0x00071A), JG_HETH},
+ {RUNE_C(0x00071B), RUNE_C(0x00071C), JG_TETH},
+ {RUNE_C(0x00071D), RUNE_C(0x00071D), JG_YUDH},
+ {RUNE_C(0x00071E), RUNE_C(0x00071E), JG_YUDH_HE},
+ {RUNE_C(0x00071F), RUNE_C(0x00071F), JG_KAPH},
+ {RUNE_C(0x000720), RUNE_C(0x000720), JG_LAMADH},
+ {RUNE_C(0x000721), RUNE_C(0x000721), JG_MIM},
+ {RUNE_C(0x000722), RUNE_C(0x000722), JG_NUN},
+ {RUNE_C(0x000723), RUNE_C(0x000723), JG_SEMKATH},
+ {RUNE_C(0x000724), RUNE_C(0x000724), JG_FINAL_SEMKATH},
+ {RUNE_C(0x000725), RUNE_C(0x000725), JG_E},
+ {RUNE_C(0x000726), RUNE_C(0x000726), JG_PE},
+ {RUNE_C(0x000727), RUNE_C(0x000727), JG_REVERSED_PE},
+ {RUNE_C(0x000728), RUNE_C(0x000728), JG_SADHE},
+ {RUNE_C(0x000729), RUNE_C(0x000729), JG_QAPH},
+ {RUNE_C(0x00072A), RUNE_C(0x00072A), JG_DALATH_RISH},
+ {RUNE_C(0x00072B), RUNE_C(0x00072B), JG_SHIN},
+ {RUNE_C(0x00072C), RUNE_C(0x00072C), JG_TAW},
+ {RUNE_C(0x00072D), RUNE_C(0x00072D), JG_BETH},
+ {RUNE_C(0x00072E), RUNE_C(0x00072E), JG_GAMAL},
+ {RUNE_C(0x00072F), RUNE_C(0x00072F), JG_DALATH_RISH},
+ {RUNE_C(0x00074D), RUNE_C(0x00074D), JG_ZHAIN},
+ {RUNE_C(0x00074E), RUNE_C(0x00074E), JG_KHAPH},
+ {RUNE_C(0x00074F), RUNE_C(0x00074F), JG_FE},
+ {RUNE_C(0x000750), RUNE_C(0x000756), JG_BEH},
+ {RUNE_C(0x000757), RUNE_C(0x000758), JG_HAH},
+ {RUNE_C(0x000759), RUNE_C(0x00075A), JG_DAL},
+ {RUNE_C(0x00075B), RUNE_C(0x00075B), JG_REH},
+ {RUNE_C(0x00075C), RUNE_C(0x00075C), JG_SEEN},
+ {RUNE_C(0x00075D), RUNE_C(0x00075F), JG_AIN},
+ {RUNE_C(0x000760), RUNE_C(0x000761), JG_FEH},
+ {RUNE_C(0x000762), RUNE_C(0x000764), JG_GAF},
+ {RUNE_C(0x000765), RUNE_C(0x000766), JG_MEEM},
+ {RUNE_C(0x000767), RUNE_C(0x000769), JG_NOON},
+ {RUNE_C(0x00076A), RUNE_C(0x00076A), JG_LAM},
+ {RUNE_C(0x00076B), RUNE_C(0x00076C), JG_REH},
+ {RUNE_C(0x00076D), RUNE_C(0x00076D), JG_SEEN},
+ {RUNE_C(0x00076E), RUNE_C(0x00076F), JG_HAH},
+ {RUNE_C(0x000770), RUNE_C(0x000770), JG_SEEN},
+ {RUNE_C(0x000771), RUNE_C(0x000771), JG_REH},
+ {RUNE_C(0x000772), RUNE_C(0x000772), JG_HAH},
+ {RUNE_C(0x000773), RUNE_C(0x000774), JG_ALEF},
+ {RUNE_C(0x000775), RUNE_C(0x000776), JG_FARSI_YEH},
+ {RUNE_C(0x000777), RUNE_C(0x000777), JG_YEH},
+ {RUNE_C(0x000778), RUNE_C(0x000779), JG_WAW},
+ {RUNE_C(0x00077A), RUNE_C(0x00077B), JG_BURUSHASKI_YEH_BARREE},
+ {RUNE_C(0x00077C), RUNE_C(0x00077C), JG_HAH},
+ {RUNE_C(0x00077D), RUNE_C(0x00077E), JG_SEEN},
+ {RUNE_C(0x00077F), RUNE_C(0x00077F), JG_KAF},
+ {RUNE_C(0x000860), RUNE_C(0x000860), JG_MALAYALAM_NGA},
+ {RUNE_C(0x000861), RUNE_C(0x000861), JG_MALAYALAM_JA},
+ {RUNE_C(0x000862), RUNE_C(0x000862), JG_MALAYALAM_NYA},
+ {RUNE_C(0x000863), RUNE_C(0x000863), JG_MALAYALAM_TTA},
+ {RUNE_C(0x000864), RUNE_C(0x000864), JG_MALAYALAM_NNA},
+ {RUNE_C(0x000865), RUNE_C(0x000865), JG_MALAYALAM_NNNA},
+ {RUNE_C(0x000866), RUNE_C(0x000866), JG_MALAYALAM_BHA},
+ {RUNE_C(0x000867), RUNE_C(0x000867), JG_MALAYALAM_RA},
+ {RUNE_C(0x000868), RUNE_C(0x000868), JG_MALAYALAM_LLA},
+ {RUNE_C(0x000869), RUNE_C(0x000869), JG_MALAYALAM_LLLA},
+ {RUNE_C(0x00086A), RUNE_C(0x00086A), JG_MALAYALAM_SSA},
+ {RUNE_C(0x000870), RUNE_C(0x000882), JG_ALEF},
+ {RUNE_C(0x000886), RUNE_C(0x000886), JG_THIN_YEH},
+ {RUNE_C(0x000889), RUNE_C(0x000889), JG_NOON},
+ {RUNE_C(0x00088A), RUNE_C(0x00088A), JG_HAH},
+ {RUNE_C(0x00088B), RUNE_C(0x00088C), JG_TAH},
+ {RUNE_C(0x00088D), RUNE_C(0x00088D), JG_GAF},
+ {RUNE_C(0x00088E), RUNE_C(0x00088E), JG_VERTICAL_TAIL},
+ {RUNE_C(0x0008A0), RUNE_C(0x0008A1), JG_BEH},
+ {RUNE_C(0x0008A2), RUNE_C(0x0008A2), JG_HAH},
+ {RUNE_C(0x0008A3), RUNE_C(0x0008A3), JG_TAH},
+ {RUNE_C(0x0008A4), RUNE_C(0x0008A4), JG_FEH},
+ {RUNE_C(0x0008A5), RUNE_C(0x0008A5), JG_QAF},
+ {RUNE_C(0x0008A6), RUNE_C(0x0008A6), JG_LAM},
+ {RUNE_C(0x0008A7), RUNE_C(0x0008A7), JG_MEEM},
+ {RUNE_C(0x0008A8), RUNE_C(0x0008A9), JG_YEH},
+ {RUNE_C(0x0008AA), RUNE_C(0x0008AA), JG_REH},
+ {RUNE_C(0x0008AB), RUNE_C(0x0008AB), JG_WAW},
+ {RUNE_C(0x0008AC), RUNE_C(0x0008AC), JG_ROHINGYA_YEH},
+ {RUNE_C(0x0008AE), RUNE_C(0x0008AE), JG_DAL},
+ {RUNE_C(0x0008AF), RUNE_C(0x0008AF), JG_SAD},
+ {RUNE_C(0x0008B0), RUNE_C(0x0008B0), JG_GAF},
+ {RUNE_C(0x0008B1), RUNE_C(0x0008B1), JG_STRAIGHT_WAW},
+ {RUNE_C(0x0008B2), RUNE_C(0x0008B2), JG_REH},
+ {RUNE_C(0x0008B3), RUNE_C(0x0008B3), JG_AIN},
+ {RUNE_C(0x0008B4), RUNE_C(0x0008B4), JG_KAF},
+ {RUNE_C(0x0008B5), RUNE_C(0x0008B5), JG_QAF},
+ {RUNE_C(0x0008B6), RUNE_C(0x0008B8), JG_BEH},
+ {RUNE_C(0x0008B9), RUNE_C(0x0008B9), JG_REH},
+ {RUNE_C(0x0008BA), RUNE_C(0x0008BA), JG_YEH},
+ {RUNE_C(0x0008BB), RUNE_C(0x0008BB), JG_AFRICAN_FEH},
+ {RUNE_C(0x0008BC), RUNE_C(0x0008BC), JG_AFRICAN_QAF},
+ {RUNE_C(0x0008BD), RUNE_C(0x0008BD), JG_AFRICAN_NOON},
+ {RUNE_C(0x0008BE), RUNE_C(0x0008C0), JG_BEH},
+ {RUNE_C(0x0008C1), RUNE_C(0x0008C1), JG_HAH},
+ {RUNE_C(0x0008C2), RUNE_C(0x0008C2), JG_GAF},
+ {RUNE_C(0x0008C3), RUNE_C(0x0008C3), JG_AIN},
+ {RUNE_C(0x0008C4), RUNE_C(0x0008C4), JG_AFRICAN_QAF},
+ {RUNE_C(0x0008C5), RUNE_C(0x0008C6), JG_HAH},
+ {RUNE_C(0x0008C7), RUNE_C(0x0008C7), JG_LAM},
+ {RUNE_C(0x0008C8), RUNE_C(0x0008C8), JG_GAF},
+ {RUNE_C(0x010AC0), RUNE_C(0x010AC0), JG_MANICHAEAN_ALEPH},
+ {RUNE_C(0x010AC1), RUNE_C(0x010AC2), JG_MANICHAEAN_BETH},
+ {RUNE_C(0x010AC3), RUNE_C(0x010AC4), JG_MANICHAEAN_GIMEL},
+ {RUNE_C(0x010AC5), RUNE_C(0x010AC5), JG_MANICHAEAN_DALETH},
+ {RUNE_C(0x010AC7), RUNE_C(0x010AC7), JG_MANICHAEAN_WAW},
+ {RUNE_C(0x010AC9), RUNE_C(0x010ACA), JG_MANICHAEAN_ZAYIN},
+ {RUNE_C(0x010ACD), RUNE_C(0x010ACD), JG_MANICHAEAN_HETH},
+ {RUNE_C(0x010ACE), RUNE_C(0x010ACE), JG_MANICHAEAN_TETH},
+ {RUNE_C(0x010ACF), RUNE_C(0x010ACF), JG_MANICHAEAN_YODH},
+ {RUNE_C(0x010AD0), RUNE_C(0x010AD2), JG_MANICHAEAN_KAPH},
+ {RUNE_C(0x010AD3), RUNE_C(0x010AD3), JG_MANICHAEAN_LAMEDH},
+ {RUNE_C(0x010AD4), RUNE_C(0x010AD4), JG_MANICHAEAN_DHAMEDH},
+ {RUNE_C(0x010AD5), RUNE_C(0x010AD5), JG_MANICHAEAN_THAMEDH},
+ {RUNE_C(0x010AD6), RUNE_C(0x010AD6), JG_MANICHAEAN_MEM},
+ {RUNE_C(0x010AD7), RUNE_C(0x010AD7), JG_MANICHAEAN_NUN},
+ {RUNE_C(0x010AD8), RUNE_C(0x010AD8), JG_MANICHAEAN_SAMEKH},
+ {RUNE_C(0x010AD9), RUNE_C(0x010ADA), JG_MANICHAEAN_AYIN},
+ {RUNE_C(0x010ADB), RUNE_C(0x010ADC), JG_MANICHAEAN_PE},
+ {RUNE_C(0x010ADD), RUNE_C(0x010ADD), JG_MANICHAEAN_SADHE},
+ {RUNE_C(0x010ADE), RUNE_C(0x010AE0), JG_MANICHAEAN_QOPH},
+ {RUNE_C(0x010AE1), RUNE_C(0x010AE1), JG_MANICHAEAN_RESH},
+ {RUNE_C(0x010AE4), RUNE_C(0x010AE4), JG_MANICHAEAN_TAW},
+ {RUNE_C(0x010AEB), RUNE_C(0x010AEB), JG_MANICHAEAN_ONE},
+ {RUNE_C(0x010AEC), RUNE_C(0x010AEC), JG_MANICHAEAN_FIVE},
+ {RUNE_C(0x010AED), RUNE_C(0x010AED), JG_MANICHAEAN_TEN},
+ {RUNE_C(0x010AEE), RUNE_C(0x010AEE), JG_MANICHAEAN_TWENTY},
+ {RUNE_C(0x010AEF), RUNE_C(0x010AEF), JG_MANICHAEAN_HUNDRED},
+ {RUNE_C(0x010D02), RUNE_C(0x010D02), JG_HANIFI_ROHINGYA_PA},
+ {RUNE_C(0x010D09), RUNE_C(0x010D09), JG_HANIFI_ROHINGYA_PA},
+ {RUNE_C(0x010D19), RUNE_C(0x010D19), JG_HANIFI_ROHINGYA_KINNA_YA},
+ {RUNE_C(0x010D1C), RUNE_C(0x010D1C), JG_HANIFI_ROHINGYA_PA},
+ {RUNE_C(0x010D1E), RUNE_C(0x010D1E), JG_HANIFI_ROHINGYA_KINNA_YA},
+ {RUNE_C(0x010D20), RUNE_C(0x010D20), JG_HANIFI_ROHINGYA_KINNA_YA},
+ {RUNE_C(0x010D23), RUNE_C(0x010D23), JG_HANIFI_ROHINGYA_KINNA_YA},
+};
+
+_MLIB_DEFINE_BSEARCH(enum uprop_jg, lookup, JG_NO_JOINING_GROUP)
+
+enum uprop_jg
+uprop_get_jg(rune ch)
+{
+ return ch < lookup[0].lo ? JG_NO_JOINING_GROUP : mlib_lookup(ch);
+}