1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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);
}
|