Browse Source

ucd-tools: Ellipsis eSpeakNG extended property support.

master
Reece H. Dunn 8 years ago
parent
commit
7fc4f5ece2

+ 10
- 0
src/ucd-tools/data/espeak-ng/PropList.txt View File

E003B ; Semi_Colon # Cf TAG SEMICOLON E003B ; Semi_Colon # Cf TAG SEMICOLON


# Total code points: 13 # Total code points: 13

# ================================================

0EAF ; Ellipsis # Lo LAO ELLIPSIS
1801 ; Ellipsis # Po MONGOLIAN ELLIPSIS
2026 ; Ellipsis # Po HORIZONTAL ELLIPSIS
22EE..22F1 ; Ellipsis # Sm [4] VERTICAL ELLIPSIS..DOWN RIGHT DIAGONAL ELLIPSIS
FE19 ; Ellipsis # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS

# Total code points: 8

+ 1
- 0
src/ucd-tools/src/include/ucd/ucd.h View File

static const ucd_property UCD_PROPERTY_PREPENDED_CONCATENATION_MARK = 0x0000000100000000ull; /**< @brief Prepended_Concatenation_Mark */ static const ucd_property UCD_PROPERTY_PREPENDED_CONCATENATION_MARK = 0x0000000100000000ull; /**< @brief Prepended_Concatenation_Mark */


// eSpeak NG extended properties: // eSpeak NG extended properties:
static const ucd_property ESPEAKNG_PROPERTY_ELLIPSIS = 0x0200000000000000ull; /**< @brief Ellipsis */
static const ucd_property ESPEAKNG_PROPERTY_SEMI_COLON = 0x0400000000000000ull; /**< @brief Semi_Colon */ static const ucd_property ESPEAKNG_PROPERTY_SEMI_COLON = 0x0400000000000000ull; /**< @brief Semi_Colon */
static const ucd_property ESPEAKNG_PROPERTY_COLON = 0x0800000000000000ull; /**< @brief Colon */ static const ucd_property ESPEAKNG_PROPERTY_COLON = 0x0800000000000000ull; /**< @brief Colon */
static const ucd_property ESPEAKNG_PROPERTY_COMMA = 0x1000000000000000ull; /**< @brief Comma */ static const ucd_property ESPEAKNG_PROPERTY_COMMA = 0x1000000000000000ull; /**< @brief Comma */

+ 6
- 2
src/ucd-tools/src/proplist.c View File

break; break;
case 0x0E00: case 0x0E00:
if (c >= 0x0E40 && c <= 0x0E44) return UCD_PROPERTY_LOGICAL_ORDER_EXCEPTION; if (c >= 0x0E40 && c <= 0x0E44) return UCD_PROPERTY_LOGICAL_ORDER_EXCEPTION;
if (c == 0x0EAF) return ESPEAKNG_PROPERTY_ELLIPSIS;
if (c >= 0x0EC0 && c <= 0x0EC4) return UCD_PROPERTY_LOGICAL_ORDER_EXCEPTION; if (c >= 0x0EC0 && c <= 0x0EC4) return UCD_PROPERTY_LOGICAL_ORDER_EXCEPTION;
break; break;
case 0x1100: case 0x1100:
if (c == 0x17DA) return UCD_PROPERTY_TERMINAL_PUNCTUATION; if (c == 0x17DA) return UCD_PROPERTY_TERMINAL_PUNCTUATION;
break; break;
case 0x1800: case 0x1800:
if (c == 0x1803) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_FULL_STOP;
if (c == 0x1801) return ESPEAKNG_PROPERTY_ELLIPSIS;
if (c == 0x1802) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COMMA; if (c == 0x1802) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COMMA;
if (c == 0x1803) return UCD_PROPERTY_TERMINAL_PUNCTUATION;
if (c == 0x1803) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_FULL_STOP;
if (c == 0x1804) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COLON; if (c == 0x1804) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COLON;
if (c == 0x1805) return UCD_PROPERTY_TERMINAL_PUNCTUATION; if (c == 0x1805) return UCD_PROPERTY_TERMINAL_PUNCTUATION;
if (c == 0x1808) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COMMA; if (c == 0x1808) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COMMA;
case 0x2000: case 0x2000:
if (c == 0x2016) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX; if (c == 0x2016) return UCD_PROPERTY_OTHER_MATH | UCD_PROPERTY_PATTERN_SYNTAX;
if (c == 0x2017) return UCD_PROPERTY_PATTERN_SYNTAX; if (c == 0x2017) return UCD_PROPERTY_PATTERN_SYNTAX;
if (c == 0x2026) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_ELLIPSIS;
if (c >= 0x2020 && c <= 0x2027) return UCD_PROPERTY_PATTERN_SYNTAX; 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 >= 0x2032 && c <= 0x2034) return UCD_PROPERTY_PATTERN_SYNTAX | UCD_PROPERTY_OTHER_MATH;
if (c >= 0x2030 && c <= 0x2038) return UCD_PROPERTY_PATTERN_SYNTAX; if (c >= 0x2030 && c <= 0x2038) return UCD_PROPERTY_PATTERN_SYNTAX;
if (c == 0xFE14) return ESPEAKNG_PROPERTY_SEMI_COLON; if (c == 0xFE14) return ESPEAKNG_PROPERTY_SEMI_COLON;
if (c == 0xFE15) return ESPEAKNG_PROPERTY_EXCLAMATION_MARK; if (c == 0xFE15) return ESPEAKNG_PROPERTY_EXCLAMATION_MARK;
if (c == 0xFE16) return ESPEAKNG_PROPERTY_QUESTION_MARK; if (c == 0xFE16) return ESPEAKNG_PROPERTY_QUESTION_MARK;
if (c == 0xFE19) return ESPEAKNG_PROPERTY_ELLIPSIS;
if (c >= 0xFE45 && c <= 0xFE46) return UCD_PROPERTY_PATTERN_SYNTAX; if (c >= 0xFE45 && c <= 0xFE46) return UCD_PROPERTY_PATTERN_SYNTAX;
if (c >= 0xFE50 && c <= 0xFE51) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COMMA; if (c >= 0xFE50 && c <= 0xFE51) return UCD_PROPERTY_TERMINAL_PUNCTUATION | ESPEAKNG_PROPERTY_COMMA;
if (c == 0xFE52) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_FULL_STOP; if (c == 0xFE52) return UCD_PROPERTY_TERMINAL_PUNCTUATION | UCD_PROPERTY_SENTENCE_TERMINAL | ESPEAKNG_PROPERTY_FULL_STOP;
break; break;
case 0x2200: case 0x2200:
if (c == 0x2212) return UCD_PROPERTY_DASH | UCD_PROPERTY_PATTERN_SYNTAX; if (c == 0x2212) return UCD_PROPERTY_DASH | UCD_PROPERTY_PATTERN_SYNTAX;
if (c >= 0x22EE && c <= 0x22F1) return UCD_PROPERTY_PATTERN_SYNTAX | ESPEAKNG_PROPERTY_ELLIPSIS;
return UCD_PROPERTY_PATTERN_SYNTAX; return UCD_PROPERTY_PATTERN_SYNTAX;
case 0x2300: case 0x2300:
case 0x2500: case 0x2500:

+ 1
- 0
src/ucd-tools/tools/printdata.py View File

props += (2 ** 31) * data.get('Pattern_Syntax', 0) props += (2 ** 31) * data.get('Pattern_Syntax', 0)
props += (2 ** 32) * data.get('Prepended_Concatenation_Mark', 0) props += (2 ** 32) * data.get('Prepended_Concatenation_Mark', 0)
# eSpeak NG extended properties: # eSpeak NG extended properties:
props += (2 ** 57) * data.get('Ellipsis', 0)
props += (2 ** 58) * data.get('Semi_Colon', 0) props += (2 ** 58) * data.get('Semi_Colon', 0)
props += (2 ** 59) * data.get('Colon', 0) props += (2 ** 59) * data.get('Colon', 0)
props += (2 ** 60) * data.get('Comma', 0) props += (2 ** 60) * data.get('Comma', 0)

Loading…
Cancel
Save