aboutsummaryrefslogtreecommitdiff
path: root/lib/unicode/prop/uprop_get_nfc_qc.c
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-04-20 00:24:03 +0200
committerThomas Voss <mail@thomasvoss.com> 2024-04-20 00:24:03 +0200
commita541a957e7ea83d31b411fb82e86870c3bf82652 (patch)
tree21bc6216298dbe19f192630b300a30cf176415c8 /lib/unicode/prop/uprop_get_nfc_qc.c
parentdb816ef1e678e20d91d1b5308b2d7a182a3f114c (diff)
Add uprop_get_nf{,k}{c,d}_qc()
Diffstat (limited to 'lib/unicode/prop/uprop_get_nfc_qc.c')
-rw-r--r--lib/unicode/prop/uprop_get_nfc_qc.c137
1 files changed, 137 insertions, 0 deletions
diff --git a/lib/unicode/prop/uprop_get_nfc_qc.c b/lib/unicode/prop/uprop_get_nfc_qc.c
new file mode 100644
index 0000000..318140e
--- /dev/null
+++ b/lib/unicode/prop/uprop_get_nfc_qc.c
@@ -0,0 +1,137 @@
+/* This file is autogenerated by gen/prop/nfXX_qc; DO NOT EDIT. */
+
+/* The macros.h include may be unused */
+
+#include "_bsearch.h"
+#include "macros.h"
+#include "rune.h"
+#include "unicode/prop.h"
+
+static const struct {
+ rune lo, hi;
+ enum uprop_nfc_qc val;
+} lookup[] = {
+ {RUNE_C(0x000300), RUNE_C(0x000304), NFC_QC_M},
+ {RUNE_C(0x000306), RUNE_C(0x00030C), NFC_QC_M},
+ {RUNE_C(0x00030F), RUNE_C(0x00030F), NFC_QC_M},
+ {RUNE_C(0x000311), RUNE_C(0x000311), NFC_QC_M},
+ {RUNE_C(0x000313), RUNE_C(0x000314), NFC_QC_M},
+ {RUNE_C(0x00031B), RUNE_C(0x00031B), NFC_QC_M},
+ {RUNE_C(0x000323), RUNE_C(0x000328), NFC_QC_M},
+ {RUNE_C(0x00032D), RUNE_C(0x00032E), NFC_QC_M},
+ {RUNE_C(0x000330), RUNE_C(0x000331), NFC_QC_M},
+ {RUNE_C(0x000338), RUNE_C(0x000338), NFC_QC_M},
+ {RUNE_C(0x000340), RUNE_C(0x000341), NFC_QC_N},
+ {RUNE_C(0x000342), RUNE_C(0x000342), NFC_QC_M},
+ {RUNE_C(0x000343), RUNE_C(0x000344), NFC_QC_N},
+ {RUNE_C(0x000345), RUNE_C(0x000345), NFC_QC_M},
+ {RUNE_C(0x000374), RUNE_C(0x000374), NFC_QC_N},
+ {RUNE_C(0x00037E), RUNE_C(0x00037E), NFC_QC_N},
+ {RUNE_C(0x000387), RUNE_C(0x000387), NFC_QC_N},
+ {RUNE_C(0x000653), RUNE_C(0x000655), NFC_QC_M},
+ {RUNE_C(0x00093C), RUNE_C(0x00093C), NFC_QC_M},
+ {RUNE_C(0x000958), RUNE_C(0x00095F), NFC_QC_N},
+ {RUNE_C(0x0009BE), RUNE_C(0x0009BE), NFC_QC_M},
+ {RUNE_C(0x0009D7), RUNE_C(0x0009D7), NFC_QC_M},
+ {RUNE_C(0x0009DC), RUNE_C(0x0009DD), NFC_QC_N},
+ {RUNE_C(0x0009DF), RUNE_C(0x0009DF), NFC_QC_N},
+ {RUNE_C(0x000A33), RUNE_C(0x000A33), NFC_QC_N},
+ {RUNE_C(0x000A36), RUNE_C(0x000A36), NFC_QC_N},
+ {RUNE_C(0x000A59), RUNE_C(0x000A5B), NFC_QC_N},
+ {RUNE_C(0x000A5E), RUNE_C(0x000A5E), NFC_QC_N},
+ {RUNE_C(0x000B3E), RUNE_C(0x000B3E), NFC_QC_M},
+ {RUNE_C(0x000B56), RUNE_C(0x000B57), NFC_QC_M},
+ {RUNE_C(0x000B5C), RUNE_C(0x000B5D), NFC_QC_N},
+ {RUNE_C(0x000BBE), RUNE_C(0x000BBE), NFC_QC_M},
+ {RUNE_C(0x000BD7), RUNE_C(0x000BD7), NFC_QC_M},
+ {RUNE_C(0x000C56), RUNE_C(0x000C56), NFC_QC_M},
+ {RUNE_C(0x000CC2), RUNE_C(0x000CC2), NFC_QC_M},
+ {RUNE_C(0x000CD5), RUNE_C(0x000CD6), NFC_QC_M},
+ {RUNE_C(0x000D3E), RUNE_C(0x000D3E), NFC_QC_M},
+ {RUNE_C(0x000D57), RUNE_C(0x000D57), NFC_QC_M},
+ {RUNE_C(0x000DCA), RUNE_C(0x000DCA), NFC_QC_M},
+ {RUNE_C(0x000DCF), RUNE_C(0x000DCF), NFC_QC_M},
+ {RUNE_C(0x000DDF), RUNE_C(0x000DDF), NFC_QC_M},
+ {RUNE_C(0x000F43), RUNE_C(0x000F43), NFC_QC_N},
+ {RUNE_C(0x000F4D), RUNE_C(0x000F4D), NFC_QC_N},
+ {RUNE_C(0x000F52), RUNE_C(0x000F52), NFC_QC_N},
+ {RUNE_C(0x000F57), RUNE_C(0x000F57), NFC_QC_N},
+ {RUNE_C(0x000F5C), RUNE_C(0x000F5C), NFC_QC_N},
+ {RUNE_C(0x000F69), RUNE_C(0x000F69), NFC_QC_N},
+ {RUNE_C(0x000F73), RUNE_C(0x000F73), NFC_QC_N},
+ {RUNE_C(0x000F75), RUNE_C(0x000F76), NFC_QC_N},
+ {RUNE_C(0x000F78), RUNE_C(0x000F78), NFC_QC_N},
+ {RUNE_C(0x000F81), RUNE_C(0x000F81), NFC_QC_N},
+ {RUNE_C(0x000F93), RUNE_C(0x000F93), NFC_QC_N},
+ {RUNE_C(0x000F9D), RUNE_C(0x000F9D), NFC_QC_N},
+ {RUNE_C(0x000FA2), RUNE_C(0x000FA2), NFC_QC_N},
+ {RUNE_C(0x000FA7), RUNE_C(0x000FA7), NFC_QC_N},
+ {RUNE_C(0x000FAC), RUNE_C(0x000FAC), NFC_QC_N},
+ {RUNE_C(0x000FB9), RUNE_C(0x000FB9), NFC_QC_N},
+ {RUNE_C(0x00102E), RUNE_C(0x00102E), NFC_QC_M},
+ {RUNE_C(0x001161), RUNE_C(0x001175), NFC_QC_M},
+ {RUNE_C(0x0011A8), RUNE_C(0x0011C2), NFC_QC_M},
+ {RUNE_C(0x001B35), RUNE_C(0x001B35), NFC_QC_M},
+ {RUNE_C(0x001F71), RUNE_C(0x001F71), NFC_QC_N},
+ {RUNE_C(0x001F73), RUNE_C(0x001F73), NFC_QC_N},
+ {RUNE_C(0x001F75), RUNE_C(0x001F75), NFC_QC_N},
+ {RUNE_C(0x001F77), RUNE_C(0x001F77), NFC_QC_N},
+ {RUNE_C(0x001F79), RUNE_C(0x001F79), NFC_QC_N},
+ {RUNE_C(0x001F7B), RUNE_C(0x001F7B), NFC_QC_N},
+ {RUNE_C(0x001F7D), RUNE_C(0x001F7D), NFC_QC_N},
+ {RUNE_C(0x001FBB), RUNE_C(0x001FBB), NFC_QC_N},
+ {RUNE_C(0x001FBE), RUNE_C(0x001FBE), NFC_QC_N},
+ {RUNE_C(0x001FC9), RUNE_C(0x001FC9), NFC_QC_N},
+ {RUNE_C(0x001FCB), RUNE_C(0x001FCB), NFC_QC_N},
+ {RUNE_C(0x001FD3), RUNE_C(0x001FD3), NFC_QC_N},
+ {RUNE_C(0x001FDB), RUNE_C(0x001FDB), NFC_QC_N},
+ {RUNE_C(0x001FE3), RUNE_C(0x001FE3), NFC_QC_N},
+ {RUNE_C(0x001FEB), RUNE_C(0x001FEB), NFC_QC_N},
+ {RUNE_C(0x001FEE), RUNE_C(0x001FEF), NFC_QC_N},
+ {RUNE_C(0x001FF9), RUNE_C(0x001FF9), NFC_QC_N},
+ {RUNE_C(0x001FFB), RUNE_C(0x001FFB), NFC_QC_N},
+ {RUNE_C(0x001FFD), RUNE_C(0x001FFD), NFC_QC_N},
+ {RUNE_C(0x002000), RUNE_C(0x002001), NFC_QC_N},
+ {RUNE_C(0x002126), RUNE_C(0x002126), NFC_QC_N},
+ {RUNE_C(0x00212A), RUNE_C(0x00212B), NFC_QC_N},
+ {RUNE_C(0x002329), RUNE_C(0x00232A), NFC_QC_N},
+ {RUNE_C(0x002ADC), RUNE_C(0x002ADC), NFC_QC_N},
+ {RUNE_C(0x003099), RUNE_C(0x00309A), NFC_QC_M},
+ {RUNE_C(0x00F900), RUNE_C(0x00FA0D), NFC_QC_N},
+ {RUNE_C(0x00FA10), RUNE_C(0x00FA10), NFC_QC_N},
+ {RUNE_C(0x00FA12), RUNE_C(0x00FA12), NFC_QC_N},
+ {RUNE_C(0x00FA15), RUNE_C(0x00FA1E), NFC_QC_N},
+ {RUNE_C(0x00FA20), RUNE_C(0x00FA20), NFC_QC_N},
+ {RUNE_C(0x00FA22), RUNE_C(0x00FA22), NFC_QC_N},
+ {RUNE_C(0x00FA25), RUNE_C(0x00FA26), NFC_QC_N},
+ {RUNE_C(0x00FA2A), RUNE_C(0x00FA6D), NFC_QC_N},
+ {RUNE_C(0x00FA70), RUNE_C(0x00FAD9), NFC_QC_N},
+ {RUNE_C(0x00FB1D), RUNE_C(0x00FB1D), NFC_QC_N},
+ {RUNE_C(0x00FB1F), RUNE_C(0x00FB1F), NFC_QC_N},
+ {RUNE_C(0x00FB2A), RUNE_C(0x00FB36), NFC_QC_N},
+ {RUNE_C(0x00FB38), RUNE_C(0x00FB3C), NFC_QC_N},
+ {RUNE_C(0x00FB3E), RUNE_C(0x00FB3E), NFC_QC_N},
+ {RUNE_C(0x00FB40), RUNE_C(0x00FB41), NFC_QC_N},
+ {RUNE_C(0x00FB43), RUNE_C(0x00FB44), NFC_QC_N},
+ {RUNE_C(0x00FB46), RUNE_C(0x00FB4E), NFC_QC_N},
+ {RUNE_C(0x0110BA), RUNE_C(0x0110BA), NFC_QC_M},
+ {RUNE_C(0x011127), RUNE_C(0x011127), NFC_QC_M},
+ {RUNE_C(0x01133E), RUNE_C(0x01133E), NFC_QC_M},
+ {RUNE_C(0x011357), RUNE_C(0x011357), NFC_QC_M},
+ {RUNE_C(0x0114B0), RUNE_C(0x0114B0), NFC_QC_M},
+ {RUNE_C(0x0114BA), RUNE_C(0x0114BA), NFC_QC_M},
+ {RUNE_C(0x0114BD), RUNE_C(0x0114BD), NFC_QC_M},
+ {RUNE_C(0x0115AF), RUNE_C(0x0115AF), NFC_QC_M},
+ {RUNE_C(0x011930), RUNE_C(0x011930), NFC_QC_M},
+ {RUNE_C(0x01D15E), RUNE_C(0x01D164), NFC_QC_N},
+ {RUNE_C(0x01D1BB), RUNE_C(0x01D1C0), NFC_QC_N},
+ {RUNE_C(0x02F800), RUNE_C(0x02FA1D), NFC_QC_N},
+};
+
+_MLIB_DEFINE_BSEARCH(enum uprop_nfc_qc, lookup, NFC_QC_Y)
+
+enum uprop_nfc_qc
+uprop_get_nfc_qc(rune ch)
+{
+ return ch < lookup[0].lo ? NFC_QC_Y : mlib_lookup(ch);
+}