Index: source/common/ustr_imp.h |
diff --git a/source/common/ustr_imp.h b/source/common/ustr_imp.h |
index a746016d2c2faff399757a4c3d5ef81bbd195ee5..34a69363a765d629236ef5e0eb04d7777e6e0d00 100644 |
--- a/source/common/ustr_imp.h |
+++ b/source/common/ustr_imp.h |
@@ -1,3 +1,5 @@ |
+// Copyright (C) 2016 and later: Unicode, Inc. and others. |
+// License & terms of use: http://www.unicode.org/copyright.html |
/* |
********************************************************************** |
* Copyright (C) 1999-2015, International Business Machines |
@@ -218,6 +220,44 @@ ucasemap_mapUTF8(const UCaseMap *csm, |
UTF8CaseMapper *stringCaseMapper, |
UErrorCode *pErrorCode); |
+#ifdef __cplusplus |
+ |
+U_NAMESPACE_BEGIN |
+namespace GreekUpper { |
+ |
+// Data bits. |
+static const uint32_t UPPER_MASK = 0x3ff; |
+static const uint32_t HAS_VOWEL = 0x1000; |
+static const uint32_t HAS_YPOGEGRAMMENI = 0x2000; |
+static const uint32_t HAS_ACCENT = 0x4000; |
+static const uint32_t HAS_DIALYTIKA = 0x8000; |
+// Further bits during data building and processing, not stored in the data map. |
+static const uint32_t HAS_COMBINING_DIALYTIKA = 0x10000; |
+static const uint32_t HAS_OTHER_GREEK_DIACRITIC = 0x20000; |
+ |
+static const uint32_t HAS_VOWEL_AND_ACCENT = HAS_VOWEL | HAS_ACCENT; |
+static const uint32_t HAS_VOWEL_AND_ACCENT_AND_DIALYTIKA = |
+ HAS_VOWEL_AND_ACCENT | HAS_DIALYTIKA; |
+static const uint32_t HAS_EITHER_DIALYTIKA = HAS_DIALYTIKA | HAS_COMBINING_DIALYTIKA; |
+ |
+// State bits. |
+static const uint32_t AFTER_CASED = 1; |
+static const uint32_t AFTER_VOWEL_WITH_ACCENT = 2; |
+ |
+uint32_t getLetterData(UChar32 c); |
+ |
+/** |
+ * Returns a non-zero value for each of the Greek combining diacritics |
+ * listed in The Unicode Standard, version 8, chapter 7.2 Greek, |
+ * plus some perispomeni look-alikes. |
+ */ |
+uint32_t getDiacriticData(UChar32 c); |
+ |
+} // namespace GreekUpper |
+U_NAMESPACE_END |
+ |
+#endif // __cplusplus |
+ |
U_CAPI int32_t U_EXPORT2 |
ustr_hashUCharsN(const UChar *str, int32_t length); |