| 1 | pub 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 | }; |