mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-02 14:04:27 +00:00
Add Hyphen support from PropList.txt.
This commit is contained in:
@@ -334,6 +334,7 @@ typedef enum ucd_property_
|
||||
UCD_PROPERTY_BIDI_CONTROL = 0x0004, /**< @brief Bidi_Control */
|
||||
UCD_PROPERTY_JOIN_CONTROL = 0x0008, /**< @brief Join_Control */
|
||||
UCD_PROPERTY_DASH = 0x0010, /**< @brief Dash */
|
||||
UCD_PROPERTY_HYPHEN = 0x0020, /**< @brief Hyphen */
|
||||
} ucd_property;
|
||||
|
||||
/** @brief Return the properties of the specified codepoint.
|
||||
@@ -798,6 +799,7 @@ namespace ucd
|
||||
Bidi_Control = UCD_PROPERTY_BIDI_CONTROL, /**< @brief Bidi_Control */
|
||||
Join_Control = UCD_PROPERTY_JOIN_CONTROL, /**< @brief Join_Control */
|
||||
Dash = UCD_PROPERTY_DASH, /**< @brief Dash */
|
||||
Hyphen = UCD_PROPERTY_HYPHEN, /**< @brief Hyphen */
|
||||
};
|
||||
|
||||
/** @brief Return the properties of the specified codepoint.
|
||||
|
||||
+17
-8
@@ -31,6 +31,9 @@ static int properties_Cf(codepoint_t c)
|
||||
{
|
||||
switch (c & 0xFFFFFF00)
|
||||
{
|
||||
case 0x0000:
|
||||
if (c == 0x00AD) return UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
case 0x0600:
|
||||
if (c == 0x061C) return UCD_PROPERTY_BIDI_CONTROL;
|
||||
break;
|
||||
@@ -49,25 +52,25 @@ static int properties_Pd(codepoint_t c)
|
||||
switch (c & 0xFFFFFF00)
|
||||
{
|
||||
case 0x0000:
|
||||
if (c == 0x002D) return UCD_PROPERTY_DASH;
|
||||
if (c == 0x002D) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
case 0x0500:
|
||||
if (c == 0x058A) return UCD_PROPERTY_DASH;
|
||||
if (c == 0x058A) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
if (c == 0x05BE) return UCD_PROPERTY_DASH;
|
||||
break;
|
||||
case 0x1400:
|
||||
if (c == 0x1400) return UCD_PROPERTY_DASH;
|
||||
break;
|
||||
case 0x1800:
|
||||
if (c == 0x1806) return UCD_PROPERTY_DASH;
|
||||
if (c == 0x1806) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
case 0x2000:
|
||||
if (c == 0x2010) return UCD_PROPERTY_DASH;
|
||||
if (c == 0x2011) return UCD_PROPERTY_DASH | UCD_PROPERTY_NO_BREAK;
|
||||
if (c == 0x2010) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
if (c == 0x2011) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN | UCD_PROPERTY_NO_BREAK;
|
||||
if (c >= 0x2012 && c <= 0x2015) return UCD_PROPERTY_DASH;
|
||||
break;
|
||||
case 0x2E00:
|
||||
if (c == 0x2E17) return UCD_PROPERTY_DASH;
|
||||
if (c == 0x2E17) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
if (c == 0x2E1A) return UCD_PROPERTY_DASH;
|
||||
if (c >= 0x2E3A && c <= 0x2E3B) return UCD_PROPERTY_DASH;
|
||||
if (c == 0x2E40) return UCD_PROPERTY_DASH;
|
||||
@@ -80,10 +83,10 @@ static int properties_Pd(codepoint_t c)
|
||||
case 0xFE00:
|
||||
if (c >= 0xFE31 && c <= 0xFE32) return UCD_PROPERTY_DASH;
|
||||
if (c == 0xFE58) return UCD_PROPERTY_DASH;
|
||||
if (c == 0xFE63) return UCD_PROPERTY_DASH;
|
||||
if (c == 0xFE63) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
case 0xFF00:
|
||||
if (c == 0xFF0D) return UCD_PROPERTY_DASH;
|
||||
if (c == 0xFF0D) return UCD_PROPERTY_DASH | UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
@@ -99,6 +102,12 @@ static int properties_Po(codepoint_t c)
|
||||
case 0x2000:
|
||||
if (c == 0x2053) return UCD_PROPERTY_DASH;
|
||||
break;
|
||||
case 0x3000:
|
||||
if (c == 0x30FB) return UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
case 0xFF00:
|
||||
if (c == 0xFF65) return UCD_PROPERTY_HYPHEN;
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user