From 023ebace9aa44ccad2ad9ff73925c40e3df2fa9f Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Sun, 25 Jun 2017 15:27:53 +0100 Subject: [PATCH] Add Regional_Indicator support from PropList.txt. --- src/include/ucd/ucd.h | 2 ++ src/proplist.c | 2 +- tools/printdata.py | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/include/ucd/ucd.h b/src/include/ucd/ucd.h index 33133c5f..d3d90a18 100644 --- a/src/include/ucd/ucd.h +++ b/src/include/ucd/ucd.h @@ -369,6 +369,7 @@ typedef uint64_t ucd_property; #define UCD_PROPERTY_EMOJI_PRESENTATION 0x0000000400000000ull /**< @brief Emoji_Presentation */ #define UCD_PROPERTY_EMOJI_MODIFIER 0x0000000800000000ull /**< @brief Emoji_Modifier */ #define UCD_PROPERTY_EMOJI_MODIFIER_BASE 0x0000001000000000ull /**< @brief Emoji_Modifier_Base */ +#define UCD_PROPERTY_REGIONAL_INDICATOR 0x0000002000000000ull /**< @brief Regional_Indicator */ /** @brief Return the properties of the specified codepoint. * @@ -868,6 +869,7 @@ namespace ucd Emoji_Presentation = UCD_PROPERTY_EMOJI_PRESENTATION, /**< @brief Emoji_Presentation */ Emoji_Modifier = UCD_PROPERTY_EMOJI_MODIFIER, /**< @brief Emoji_Modifier */ Emoji_Modifier_Base = UCD_PROPERTY_EMOJI_MODIFIER_BASE, /**< @brief Emoji_Modifier_Base */ + Regional_Indicator = UCD_PROPERTY_REGIONAL_INDICATOR, /**< @brief Regional_Indicator */ }; /** @brief Return the properties of the specified codepoint. diff --git a/src/proplist.c b/src/proplist.c index f8f0dc2d..eae604f0 100644 --- a/src/proplist.c +++ b/src/proplist.c @@ -1929,7 +1929,7 @@ static ucd_property properties_So(codepoint_t c) if (c >= 0x01F170 && c <= 0x01F189) return UCD_PROPERTY_OTHER_ALPHABETIC | UCD_PROPERTY_OTHER_UPPERCASE; if (c == 0x01F18E) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; if (c >= 0x01F191 && c <= 0x01F19A) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; - if (c >= 0x01F1E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; + if (c >= 0x01F1E6) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION | UCD_PROPERTY_REGIONAL_INDICATOR; break; case 0x01F200: if (c == 0x01F201) return UCD_PROPERTY_EMOJI | UCD_PROPERTY_EMOJI_PRESENTATION; diff --git a/tools/printdata.py b/tools/printdata.py index eac2892f..42241036 100755 --- a/tools/printdata.py +++ b/tools/printdata.py @@ -165,6 +165,7 @@ def properties(data): props += (2 ** 34) * data.get('Emoji_Presentation', 0) # emoji-data props += (2 ** 35) * data.get('Emoji_Modifier', 0) # emoji-data props += (2 ** 36) * data.get('Emoji_Modifier_Base', 0) # emoji-data + props += (2 ** 37) * data.get('Regional_Indicator', 0) return props if __name__ == '__main__':