Skip to content

Instantly share code, notes, and snippets.

@samcv
Created January 31, 2017 11:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samcv/1c2070ff0bb47f28358920f2a61d14c3 to your computer and use it in GitHub Desktop.
Save samcv/1c2070ff0bb47f28358920f2a61d14c3 to your computer and use it in GitHub Desktop.
/* Canonical_Combining_Class */
#define Uni_PVal_CANONICAL_COMBINING_CLASS_0 0
#define Uni_PVal_CANONICAL_COMBINING_CLASS_1 1
#define Uni_PVal_CANONICAL_COMBINING_CLASS_202 2
#define Uni_PVal_CANONICAL_COMBINING_CLASS_216 3
#define Uni_PVal_CANONICAL_COMBINING_CLASS_220 4
#define Uni_PVal_CANONICAL_COMBINING_CLASS_230 5
#define Uni_PVal_CANONICAL_COMBINING_CLASS_232 6
#define Uni_PVal_CANONICAL_COMBINING_CLASS_233 7
#define Uni_PVal_CANONICAL_COMBINING_CLASS_234 8
#define Uni_PVal_CANONICAL_COMBINING_CLASS_240 9
/* East_Asian_Width */
#define Uni_PVal_EAST_ASIAN_WIDTH_N 0
#define Uni_PVal_EAST_ASIAN_WIDTH_A 1
#define Uni_PVal_EAST_ASIAN_WIDTH_F 2
#define Uni_PVal_EAST_ASIAN_WIDTH_H 3
#define Uni_PVal_EAST_ASIAN_WIDTH_Na 4
#define Uni_PVal_EAST_ASIAN_WIDTH_W 5
/* General_Category_1 */
#define Uni_PVal_GENERAL_CATEGORY_1_ 0
#define Uni_PVal_GENERAL_CATEGORY_1_C 1
#define Uni_PVal_GENERAL_CATEGORY_1_L 2
#define Uni_PVal_GENERAL_CATEGORY_1_M 3
#define Uni_PVal_GENERAL_CATEGORY_1_N 4
#define Uni_PVal_GENERAL_CATEGORY_1_P 5
#define Uni_PVal_GENERAL_CATEGORY_1_S 6
#define Uni_PVal_GENERAL_CATEGORY_1_Z 7
/* General_Category_2 */
#define Uni_PVal_GENERAL_CATEGORY_2_ 0
#define Uni_PVal_GENERAL_CATEGORY_2_c 1
#define Uni_PVal_GENERAL_CATEGORY_2_d 2
#define Uni_PVal_GENERAL_CATEGORY_2_e 3
#define Uni_PVal_GENERAL_CATEGORY_2_f 4
#define Uni_PVal_GENERAL_CATEGORY_2_i 5
#define Uni_PVal_GENERAL_CATEGORY_2_k 6
#define Uni_PVal_GENERAL_CATEGORY_2_l 7
#define Uni_PVal_GENERAL_CATEGORY_2_m 8
#define Uni_PVal_GENERAL_CATEGORY_2_n 9
#define Uni_PVal_GENERAL_CATEGORY_2_o 10
#define Uni_PVal_GENERAL_CATEGORY_2_s 11
#define Uni_PVal_GENERAL_CATEGORY_2_t 12
#define Uni_PVal_GENERAL_CATEGORY_2_u 13
/* Grapheme_Cluster_Break */
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_Other 0
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_CR 1
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_Control 2
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_E_Base 3
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_E_Base_GAZ 4
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_E_Modifier 5
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_Extend 6
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_Glue_After_Zwj 7
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_L 8
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_LF 9
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_LV 10
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_LVT 11
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_Prepend 12
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_Regional_Indicator 13
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_SpacingMark 14
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_T 15
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_V 16
#define Uni_PVal_GRAPHEME_CLUSTER_BREAK_ZWJ 17
/* Numeric_Type */
#define Uni_PVal_NUMERIC_TYPE_None 0
#define Uni_PVal_NUMERIC_TYPE_Decimal 1
#define Uni_PVal_NUMERIC_TYPE_Digit 2
#define Uni_PVal_NUMERIC_TYPE_Numeric 3
/* Numeric_Value_Denominator */
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_1 0
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_2 1
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_3 2
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_4 3
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_5 4
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_6 5
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_7 6
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_8 7
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_9 8
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_10 9
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_12 10
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_16 11
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_20 12
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_40 13
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_80 14
#define Uni_PVal_NUMERIC_VALUE_DENOMINATOR_160 15
/* Numeric_Value_Numerator */
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_negative_1 0
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_0 1
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_1 2
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_2 3
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_3 4
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_4 5
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_5 6
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_6 7
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_7 8
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_8 9
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_9 10
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_10 11
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_11 12
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_12 13
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_13 14
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_14 15
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_15 16
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_16 17
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_17 18
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_18 19
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_19 20
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_20 21
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_21 22
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_22 23
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_23 24
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_24 25
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_25 26
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_26 27
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_27 28
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_28 29
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_29 30
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_30 31
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_31 32
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_32 33
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_33 34
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_34 35
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_35 36
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_36 37
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_37 38
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_38 39
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_39 40
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_40 41
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_41 42
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_42 43
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_43 44
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_44 45
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_45 46
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_46 47
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_47 48
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_48 49
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_49 50
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_50 51
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_60 52
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_70 53
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_80 54
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_90 55
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_100 56
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_200 57
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_300 58
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_400 59
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_500 60
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_600 61
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_700 62
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_800 63
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_900 64
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_1000 65
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_2000 66
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_3000 67
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_4000 68
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_5000 69
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_6000 70
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_7000 71
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_8000 72
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_9000 73
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_10000 74
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_20000 75
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_30000 76
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_40000 77
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_50000 78
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_60000 79
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_70000 80
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_80000 81
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_90000 82
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_100000 83
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_200000 84
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_216000 85
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_300000 86
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_400000 87
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_432000 88
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_500000 89
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_600000 90
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_700000 91
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_800000 92
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_900000 93
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_1000000 94
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_100000000 95
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_10000000000 96
#define Uni_PVal_NUMERIC_VALUE_NUMERATOR_1000000000000 97
struct binary_prop_bitfield {
unsigned int Any :1;
unsigned int Bidi_Mirrored :1;
unsigned int NFC_QC :1;
unsigned int NFD_QC :1;
unsigned int NFG_QC :1;
unsigned int NFKD_QC :1;
unsigned int Numeric_Type :2;
unsigned int East_Asian_Width :3;
unsigned int General_Category_1 :3;
unsigned int Numeric_Value_Denominator :4;
unsigned int General_Category_2 :4;
unsigned int Canonical_Combining_Class :4;
unsigned int Grapheme_Cluster_Break :5;
unsigned int Numeric_Value_Numerator :7;
};
typedef struct binary_prop_bitfield binary_prop_bitfield;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment