@@ -347,6 +347,7 @@ typedef enum ucd_property_ | |||
UCD_PROPERTY_OTHER_UPPERCASE = 0x00008000, /**< @brief Other_Uppercase */ | |||
UCD_PROPERTY_NONCHARACTER_CODE_POINT = 0x00010000, /**< @brief Noncharacter_Code_Point */ | |||
UCD_PROPERTY_OTHER_GRAPHEME_EXTEND = 0x00020000, /**< @brief Other_Grapheme_Extend */ | |||
UCD_PROPERTY_IDS_BINARY_OPERATOR = 0x00040000, /**< @brief IDS_Binary_Operator */ | |||
} ucd_property; | |||
/** @brief Return the properties of the specified codepoint. | |||
@@ -824,6 +825,7 @@ namespace ucd | |||
Other_Uppercase = UCD_PROPERTY_OTHER_UPPERCASE, /**< @brief Other_Uppercase */ | |||
Noncharacter_Code_Point = UCD_PROPERTY_NONCHARACTER_CODE_POINT, /**< @brief Noncharacter_Code_Point */ | |||
Other_Grapheme_Extend = UCD_PROPERTY_OTHER_GRAPHEME_EXTEND, /**< @brief Other_Grapheme_Extend */ | |||
IDS_Binary_Operator = UCD_PROPERTY_IDS_BINARY_OPERATOR, /**< @brief IDS_Binary_Operator */ | |||
}; | |||
/** @brief Return the properties of the specified codepoint. |
@@ -1514,6 +1514,10 @@ static int properties_So(codepoint_t c) | |||
if (c >= 0x2660 && c <= 0x2663) return UCD_PROPERTY_OTHER_MATH; | |||
if (c >= 0x266D && c <= 0x266E) return UCD_PROPERTY_OTHER_MATH; | |||
break; | |||
case 0x2F00: | |||
if (c >= 0x2FF0 && c <= 0x2FF1) return UCD_PROPERTY_IDS_BINARY_OPERATOR; | |||
if (c >= 0x2FF4 && c <= 0x2FFB) return UCD_PROPERTY_IDS_BINARY_OPERATOR; | |||
break; | |||
case 0x01F100: | |||
if (c >= 0x01F130 && c <= 0x01F149) return UCD_PROPERTY_OTHER_ALPHABETIC | UCD_PROPERTY_OTHER_UPPERCASE; | |||
if (c >= 0x01F150 && c <= 0x01F169) return UCD_PROPERTY_OTHER_ALPHABETIC | UCD_PROPERTY_OTHER_UPPERCASE; |
@@ -139,6 +139,7 @@ def properties(data): | |||
props += (2 ** 15) * data.get('Other_Uppercase', 0) | |||
props += (2 ** 16) * data.get('Noncharacter_Code_Point', 0) | |||
props += (2 ** 17) * data.get('Other_Grapheme_Extend', 0) | |||
props += (2 ** 18) * data.get('IDS_Binary_Operator', 0) | |||
return props | |||
if __name__ == '__main__': |