@@ -349,6 +349,7 @@ typedef enum ucd_property_ | |||
UCD_PROPERTY_OTHER_GRAPHEME_EXTEND = 0x00020000, /**< @brief Other_Grapheme_Extend */ | |||
UCD_PROPERTY_IDS_BINARY_OPERATOR = 0x00040000, /**< @brief IDS_Binary_Operator */ | |||
UCD_PROPERTY_IDS_TRINARY_OPERATOR = 0x00080000, /**< @brief IDS_Trinary_Operator */ | |||
UCD_PROPERTY_RADICAL = 0x00100000, /**< @brief Radical */ | |||
} ucd_property; | |||
/** @brief Return the properties of the specified codepoint. | |||
@@ -828,6 +829,7 @@ namespace ucd | |||
Other_Grapheme_Extend = UCD_PROPERTY_OTHER_GRAPHEME_EXTEND, /**< @brief Other_Grapheme_Extend */ | |||
IDS_Binary_Operator = UCD_PROPERTY_IDS_BINARY_OPERATOR, /**< @brief IDS_Binary_Operator */ | |||
IDS_Trinary_Operator = UCD_PROPERTY_IDS_TRINARY_OPERATOR, /**< @brief IDS_Trinary_Operator */ | |||
Radical = UCD_PROPERTY_RADICAL, /**< @brief Radical */ | |||
}; | |||
/** @brief Return the properties of the specified codepoint. |
@@ -1514,7 +1514,12 @@ 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 0x2E00: | |||
if (c >= 0x2E80 && c <= 0x2E99) return UCD_PROPERTY_RADICAL; | |||
if (c >= 0x2E9B && c <= 0x2EF3) return UCD_PROPERTY_RADICAL; | |||
break; | |||
case 0x2F00: | |||
if (c >= 0x2F00 && c <= 0x2FD5) return UCD_PROPERTY_RADICAL; | |||
if (c >= 0x2FF0 && c <= 0x2FF1) return UCD_PROPERTY_IDS_BINARY_OPERATOR; | |||
if (c >= 0x2FF2 && c <= 0x2FF3) return UCD_PROPERTY_IDS_TRINARY_OPERATOR; | |||
if (c >= 0x2FF4 && c <= 0x2FFB) return UCD_PROPERTY_IDS_BINARY_OPERATOR; |
@@ -141,6 +141,7 @@ def properties(data): | |||
props += (2 ** 17) * data.get('Other_Grapheme_Extend', 0) | |||
props += (2 ** 18) * data.get('IDS_Binary_Operator', 0) | |||
props += (2 ** 19) * data.get('IDS_Trinary_Operator', 0) | |||
props += (2 ** 20) * data.get('Radical', 0) | |||
return props | |||
if __name__ == '__main__': |