1pub const UProperty = enum(c_uint) {
2 UCHAR_ALPHABETIC = 0,
3 UCHAR_ASCII_HEX_DIGIT = 1,
4 UCHAR_BIDI_CONTROL = 2,
5 UCHAR_BIDI_MIRRORED = 3,
6 UCHAR_DASH = 4,
7 UCHAR_DEFAULT_IGNORABLE_CODE_POINT = 5,
8 UCHAR_DEPRECATED = 6,
9 UCHAR_DIACRITIC = 7,
10 UCHAR_EXTENDER = 8,
11 UCHAR_FULL_COMPOSITION_EXCLUSION = 9,
12 UCHAR_GRAPHEME_BASE = 10,
13 UCHAR_GRAPHEME_EXTEND = 11,
14 UCHAR_GRAPHEME_LINK = 12,
15 UCHAR_HEX_DIGIT = 13,
16 UCHAR_HYPHEN = 14,
17 UCHAR_ID_CONTINUE = 15,
18 UCHAR_ID_START = 16,
19 UCHAR_IDEOGRAPHIC = 17,
20 UCHAR_IDS_BINARY_OPERATOR = 18,
21 UCHAR_IDS_TRINARY_OPERATOR = 19,
22 UCHAR_JOIN_CONTROL = 20,
23 UCHAR_LOGICAL_ORDER_EXCEPTION = 21,
24 UCHAR_LOWERCASE = 22,
25 UCHAR_MATH = 23,
26 UCHAR_NONCHARACTER_CODE_POINT = 24,
27 UCHAR_QUOTATION_MARK = 25,
28 UCHAR_RADICAL = 26,
29 UCHAR_SOFT_DOTTED = 27,
30 UCHAR_TERMINAL_PUNCTUATION = 28,
31 UCHAR_UNIFIED_IDEOGRAPH = 29,
32 UCHAR_UPPERCASE = 30,
33 UCHAR_WHITE_SPACE = 31,
34 UCHAR_XID_CONTINUE = 32,
35 UCHAR_XID_START = 33,
36 UCHAR_CASE_SENSITIVE = 34,
37 UCHAR_S_TERM = 35,
38 UCHAR_VARIATION_SELECTOR = 36,
39 UCHAR_NFD_INERT = 37,
40 UCHAR_NFKD_INERT = 38,
41 UCHAR_NFC_INERT = 39,
42 UCHAR_NFKC_INERT = 40,
43 UCHAR_SEGMENT_STARTER = 41,
44 UCHAR_PATTERN_SYNTAX = 42,
45 UCHAR_PATTERN_WHITE_SPACE = 43,
46 UCHAR_POSIX_ALNUM = 44,
47 UCHAR_POSIX_BLANK = 45,
48 UCHAR_POSIX_GRAPH = 46,
49 UCHAR_POSIX_PRINT = 47,
50 UCHAR_POSIX_XDIGIT = 48,
51 UCHAR_CASED = 49,
52 UCHAR_CASE_IGNORABLE = 50,
53 UCHAR_CHANGES_WHEN_LOWERCASED = 51,
54 UCHAR_CHANGES_WHEN_UPPERCASED = 52,
55 UCHAR_CHANGES_WHEN_TITLECASED = 53,
56 UCHAR_CHANGES_WHEN_CASEFOLDED = 54,
57 UCHAR_CHANGES_WHEN_CASEMAPPED = 55,
58 UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED = 56,
59 UCHAR_EMOJI = 57,
60 UCHAR_EMOJI_PRESENTATION = 58,
61 UCHAR_EMOJI_MODIFIER = 59,
62 UCHAR_EMOJI_MODIFIER_BASE = 60,
63 UCHAR_EMOJI_COMPONENT = 61,
64 UCHAR_REGIONAL_INDICATOR = 62,
65 UCHAR_PREPENDED_CONCATENATION_MARK = 63,
66 UCHAR_EXTENDED_PICTOGRAPHIC = 64,
67 UCHAR_BASIC_EMOJI = 65,
68 UCHAR_EMOJI_KEYCAP_SEQUENCE = 66,
69 UCHAR_RGI_EMOJI_MODIFIER_SEQUENCE = 67,
70 UCHAR_RGI_EMOJI_FLAG_SEQUENCE = 68,
71 UCHAR_RGI_EMOJI_TAG_SEQUENCE = 69,
72 UCHAR_RGI_EMOJI_ZWJ_SEQUENCE = 70,
73 UCHAR_RGI_EMOJI = 71,
74 UCHAR_IDS_UNARY_OPERATOR = 72,
75 UCHAR_ID_COMPAT_MATH_START = 73,
76 UCHAR_ID_COMPAT_MATH_CONTINUE = 74,
77
78 UCHAR_BIDI_CLASS = 0x1000,
79 UCHAR_BLOCK = 0x1001,
80 UCHAR_CANONICAL_COMBINING_CLASS = 0x1002,
81 UCHAR_DECOMPOSITION_TYPE = 0x1003,
82 UCHAR_EAST_ASIAN_WIDTH = 0x1004,
83 UCHAR_GENERAL_CATEGORY = 0x1005,
84 UCHAR_JOINING_GROUP = 0x1006,
85 UCHAR_JOINING_TYPE = 0x1007,
86 UCHAR_LINE_BREAK = 0x1008,
87 UCHAR_NUMERIC_TYPE = 0x1009,
88 UCHAR_SCRIPT = 0x100A,
89 UCHAR_HANGUL_SYLLABLE_TYPE = 0x100B,
90 UCHAR_NFD_QUICK_CHECK = 0x100C,
91 UCHAR_NFKD_QUICK_CHECK = 0x100D,
92 UCHAR_NFC_QUICK_CHECK = 0x100E,
93 UCHAR_NFKC_QUICK_CHECK = 0x100F,
94 UCHAR_LEAD_CANONICAL_COMBINING_CLASS = 0x1010,
95 UCHAR_TRAIL_CANONICAL_COMBINING_CLASS = 0x1011,
96 UCHAR_GRAPHEME_CLUSTER_BREAK = 0x1012,
97 UCHAR_SENTENCE_BREAK = 0x1013,
98 UCHAR_WORD_BREAK = 0x1014,
99 UCHAR_BIDI_PAIRED_BRACKET_TYPE = 0x1015,
100 UCHAR_INDIC_POSITIONAL_CATEGORY = 0x1016,
101 UCHAR_INDIC_SYLLABIC_CATEGORY = 0x1017,
102 UCHAR_VERTICAL_ORIENTATION = 0x1018,
103
104 UCHAR_GENERAL_CATEGORY_MASK = 0x2000,
105
106 UCHAR_NUMERIC_VALUE = 0x3000,
107
108 UCHAR_AGE = 0x4000,
109 UCHAR_BIDI_MIRRORING_GLYPH = 0x4001,
110 UCHAR_CASE_FOLDING = 0x4002,
111 UCHAR_LOWERCASE_MAPPING = 0x4004,
112 UCHAR_NAME = 0x4005,
113 UCHAR_SIMPLE_CASE_FOLDING = 0x4006,
114 UCHAR_SIMPLE_LOWERCASE_MAPPING = 0x4007,
115 UCHAR_SIMPLE_TITLECASE_MAPPING = 0x4008,
116 UCHAR_SIMPLE_UPPERCASE_MAPPING = 0x4009,
117 UCHAR_TITLECASE_MAPPING = 0x400A,
118 UCHAR_UPPERCASE_MAPPING = 0x400C,
119 UCHAR_BIDI_PAIRED_BRACKET = 0x400D,
120
121 UCHAR_SCRIPT_EXTENSIONS = 0x7000,
122
123 _,
124
125 const UCHAR_BINARY_START: UProperty = .UCHAR_ALPHABETIC;
126 const UCHAR_INT_START: UProperty = .UCHAR_BIDI_CLASS;
127 const UCHAR_MASK_START: UProperty = .UCHAR_GENERAL_CATEGORY_MASK;
128 const UCHAR_DOUBLE_START: UProperty = .UCHAR_NUMERIC_VALUE;
129 const UCHAR_STRING_START: UProperty = .UCHAR_AGE;
130 const UCHAR_OTHER_PROPERTY_START: UProperty = .UCHAR_SCRIPT_EXTENSIONS;
131};