From 1616feb4901579da80452c95c6e0f732b945c7d5 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Thu, 18 Apr 2024 11:44:31 +0200 Subject: Add uprop_get_jg() --- lib/unicode/prop/uprop_get_jg.c | 230 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 lib/unicode/prop/uprop_get_jg.c (limited to 'lib/unicode/prop') 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); +} -- cgit v1.2.3