|
|
@@ -59,6 +59,7 @@ static ucd_property properties_Cf(codepoint_t c) |
|
|
|
break; |
|
|
|
case 0x0E0000: |
|
|
|
if (c == 0x0E0001) return UCD_PROPERTY_DEPRECATED; |
|
|
|
if (c == 0x0E0021) return UCD_PROPERTY_OTHER_GRAPHEME_EXTEND | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x0E002E) return UCD_PROPERTY_OTHER_GRAPHEME_EXTEND | ESPEAKNG_PROPERTY_FULL_STOP; |
|
|
|
if (c == 0x0E003F) return UCD_PROPERTY_OTHER_GRAPHEME_EXTEND | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c >= 0x0E0020 && c <= 0x0E007F) return UCD_PROPERTY_OTHER_GRAPHEME_EXTEND; |
|
|
@@ -1325,13 +1326,14 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
switch (c & 0xFFFFFF00) |
|
|
|
{ |
|
|
|
case 0x0000: |
|
|
|
if (c == 0x0021) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x0021) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x0022) return UCD_PROPERTY_QUOTATION_MARK | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x0027) return UCD_PROPERTY_QUOTATION_MARK | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x002C) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x002E) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_FULL_STOP; |
|
|
|
if (c >= 0x003A && c <= 0x003B) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x003F) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c == 0x00A1) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x00B7) return UCD_PROPERTY_DIACRITIC | UCD_PROPERTY_EXTENDER | UCD_PROPERTY_OTHER_ID_CONTINUE; |
|
|
|
if (c == 0x00BF) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
@@ -1340,6 +1342,7 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
if (c == 0x0387) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_OTHER_ID_CONTINUE; |
|
|
|
break; |
|
|
|
case 0x0500: |
|
|
|
if (c >= 0x055B && c <= 0x055C) return ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x055F) return ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c == 0x0589) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_FULL_STOP; |
|
|
|
if (c == 0x05C3) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
@@ -1356,7 +1359,7 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
if (c >= 0x0703 && c <= 0x070A) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
|
if (c == 0x070C) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
|
if (c == 0x07F8) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
|
if (c == 0x07F9) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; |
|
|
|
if (c == 0x07F9) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
break; |
|
|
|
case 0x0800: |
|
|
|
if (c >= 0x0830 && c <= 0x083E) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
@@ -1405,7 +1408,7 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
if (c == 0x180A) return UCD_PROPERTY_EXTENDER; |
|
|
|
break; |
|
|
|
case 0x1900: |
|
|
|
if (c == 0x1944) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; |
|
|
|
if (c == 0x1944) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x1945) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
break; |
|
|
|
case 0x1A00: |
|
|
@@ -1428,12 +1431,12 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
if (c >= 0x2020 && c <= 0x2027) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c >= 0x2032 && c <= 0x2034) return UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_OTHER_MATH; |
|
|
|
if (c >= 0x2030 && c <= 0x2038) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c >= 0x203C && c <= 0x203D) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x203C) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x203D) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c >= 0x203B && c <= 0x203E) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c >= 0x2041 && c <= 0x2043) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x2047) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c == 0x2048) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x2049) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c >= 0x2048 && c <= 0x2049) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_QUESTION_MARK | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c >= 0x204A && c <= 0x2051) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c == 0x2053) return UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_DASH; |
|
|
|
if (c >= 0x2055 && c <= 0x205E) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
@@ -1486,18 +1489,19 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
break; |
|
|
|
case 0xFE00: |
|
|
|
if (c == 0xFE12) return ESPEAKNG_PROPERTY_FULL_STOP; |
|
|
|
if (c == 0xFE15) return ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0xFE16) return ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c >= 0xFE45 && c <= 0xFE46) return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
if (c >= 0xFE50 && c <= 0xFE51) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
|
if (c == 0xFE52) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_FULL_STOP; |
|
|
|
if (c >= 0xFE54 && c <= 0xFE55) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
|
if (c == 0xFE56) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c == 0xFE57) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; |
|
|
|
if (c == 0xFE57) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0xFE61) return UCD_PROPERTY_OTHER_MATH; |
|
|
|
if (c == 0xFE68) return UCD_PROPERTY_OTHER_MATH; |
|
|
|
break; |
|
|
|
case 0xFF00: |
|
|
|
if (c == 0xFF01) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL; |
|
|
|
if (c == 0xFF01) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0xFF02) return UCD_PROPERTY_QUOTATION_MARK; |
|
|
|
if (c == 0xFF07) return UCD_PROPERTY_QUOTATION_MARK; |
|
|
|
if (c == 0xFF0C) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
@@ -1586,6 +1590,7 @@ static ucd_property properties_Po(codepoint_t c) |
|
|
|
if (c >= 0x01DA87 && c <= 0x01DA8A) return UCD_PROPERTY_TERMINAL_PUNCTUATION; |
|
|
|
break; |
|
|
|
case 0x1E900: |
|
|
|
if (c == 0x01E95E) return ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x01E95F) return ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
break; |
|
|
|
} |
|
|
@@ -1793,6 +1798,9 @@ static ucd_property properties_So(codepoint_t c) |
|
|
|
return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
case 0x2700: |
|
|
|
if (c >= 0x2753 && c <= 0x2754) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_QUESTION_MARK; |
|
|
|
if (c == 0x2755) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c == 0x2757) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
if (c >= 0x2762 && c <= 0x2763) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_EXCLAMATION_MARK; |
|
|
|
return UCD_PROPERTY_PATTERN_SYNTAX; |
|
|
|
case 0x2800: |
|
|
|
case 0x2B00: |