Browse Source

Add IDS_Binary_Operator support from PropList.txt.

master
Reece H. Dunn 8 years ago
parent
commit
c9af03ee8b
3 changed files with 7 additions and 0 deletions
  1. 2
    0
      src/include/ucd/ucd.h
  2. 4
    0
      src/proplist.c
  3. 1
    0
      tools/printdata.py

+ 2
- 0
src/include/ucd/ucd.h View File

@@ -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.

+ 4
- 0
src/proplist.c View File

@@ -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;

+ 1
- 0
tools/printdata.py View File

@@ -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__':

Loading…
Cancel
Save