mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 05:35:35 +00:00
Add Variation_Selector support from PropList.txt.
This commit is contained in:
@@ -359,6 +359,7 @@ enum
|
||||
UCD_PROPERTY_OTHER_ID_START = 0x0000000004000000ull, /**< @brief Other_ID_Start */
|
||||
UCD_PROPERTY_OTHER_ID_CONTINUE = 0x0000000008000000ull, /**< @brief Other_ID_Continue */
|
||||
UCD_PROPERTY_SENTENCE_TERMINAL = 0x0000000010000000ull, /**< @brief Sentence_Terminal */
|
||||
UCD_PROPERTY_VARIATION_SELECTOR = 0x0000000020000000ull, /**< @brief Variation_Selector */
|
||||
};
|
||||
|
||||
/** @brief Return the properties of the specified codepoint.
|
||||
@@ -848,6 +849,7 @@ namespace ucd
|
||||
Other_ID_Start = UCD_PROPERTY_OTHER_ID_START, /**< @brief Other_ID_Start */
|
||||
Other_ID_Continue = UCD_PROPERTY_OTHER_ID_CONTINUE, /**< @brief Other_ID_Continue */
|
||||
Sentence_Terminal = UCD_PROPERTY_SENTENCE_TERMINAL, /**< @brief Sentence_Terminal */
|
||||
Variation_Selector = UCD_PROPERTY_VARIATION_SELECTOR, /**< @brief Variation_Selector */
|
||||
};
|
||||
|
||||
/** @brief Return the properties of the specified codepoint.
|
||||
|
||||
@@ -854,6 +854,7 @@ static int properties_Mn(codepoint_t c)
|
||||
if (c == 0x17DD) return UCD_PROPERTY_DIACRITIC;
|
||||
break;
|
||||
case 0x1800:
|
||||
if (c >= 0x180B && c <= 0x180D) return UCD_PROPERTY_VARIATION_SELECTOR;
|
||||
if (c >= 0x1885 && c <= 0x1886) return UCD_PROPERTY_OTHER_ALPHABETIC | UCD_PROPERTY_OTHER_ID_START;
|
||||
if (c == 0x18A9) return UCD_PROPERTY_OTHER_ALPHABETIC;
|
||||
break;
|
||||
@@ -972,6 +973,7 @@ static int properties_Mn(codepoint_t c)
|
||||
if (c == 0xFB1E) return UCD_PROPERTY_DIACRITIC | UCD_PROPERTY_OTHER_ALPHABETIC;
|
||||
break;
|
||||
case 0xFE00:
|
||||
if (c >= 0xFE00 && c <= 0xFE0F) return UCD_PROPERTY_VARIATION_SELECTOR;
|
||||
if (c >= 0xFE20 && c <= 0xFE2F) return UCD_PROPERTY_DIACRITIC;
|
||||
break;
|
||||
case 0x010200:
|
||||
@@ -1093,6 +1095,9 @@ static int properties_Mn(codepoint_t c)
|
||||
if (c == 0x01E947) return UCD_PROPERTY_OTHER_ALPHABETIC;
|
||||
if (c >= 0x01E948 && c <= 0x01E94A) return UCD_PROPERTY_DIACRITIC;
|
||||
break;
|
||||
case 0x0E0100:
|
||||
if (c >= 0x0E0100 && c <= 0x0E01EF) return UCD_PROPERTY_VARIATION_SELECTOR;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -150,6 +150,7 @@ def properties(data):
|
||||
props += (2 ** 26) * data.get('Other_ID_Start', 0)
|
||||
props += (2 ** 27) * data.get('Other_ID_Continue', 0)
|
||||
props += (2 ** 28) * data.get('Sentence_Terminal', 0)
|
||||
props += (2 ** 29) * data.get('Variation_Selector', 0)
|
||||
return props
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user