Add hyphenation pattern for af, cs, el, ka, mk, nl, sk, sq
Bug: 181262335
Test: atest android.graphics.text.cts.HyphenationTest
Change-Id: I8c8d79d3bf4cc511b9ccea0f4d15492d79633627
diff --git a/core/jni/android_text_Hyphenator.cpp b/core/jni/android_text_Hyphenator.cpp
index 0eb8c6a..011e051 100644
--- a/core/jni/android_text_Hyphenator.cpp
+++ b/core/jni/android_text_Hyphenator.cpp
@@ -83,17 +83,20 @@
constexpr int INDIC_MIN_PREFIX = 2;
constexpr int INDIC_MIN_SUFFIX = 2;
+ addHyphenator("af", 1, 1); // Afrikaans
addHyphenator("am", 1, 1); // Amharic
addHyphenator("as", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Assamese
addHyphenator("be", 2, 2); // Belarusian
addHyphenator("bg", 2, 2); // Bulgarian
addHyphenator("bn", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Bengali
+ addHyphenator("cs", 2, 2); // Czech
addHyphenator("cu", 1, 2); // Church Slavonic
addHyphenator("cy", 2, 3); // Welsh
addHyphenator("da", 2, 2); // Danish
addHyphenator("de-1901", 2, 2); // German 1901 orthography
addHyphenator("de-1996", 2, 2); // German 1996 orthography
addHyphenator("de-CH-1901", 2, 2); // Swiss High German 1901 orthography
+ addHyphenator("el", 1, 1); // Greek
addHyphenator("en-GB", 2, 3); // British English
addHyphenator("en-US", 2, 3); // American English
addHyphenator("es", 2, 2); // Spanish
@@ -110,18 +113,23 @@
// Going with a more conservative value of (2, 2) for now.
addHyphenator("hy", 2, 2); // Armenian
addHyphenator("it", 2, 2); // Italian
+ addHyphenator("ka", 1, 2); // Georgian
addHyphenator("kn", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Kannada
addHyphenator("la", 2, 2); // Latin
addHyphenator("lt", 2, 2); // Lithuanian
+ addHyphenator("lv", 2, 2); // Latvian
addHyphenator("ml", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Malayalam
addHyphenator("mn-Cyrl", 2, 2); // Mongolian in Cyrillic script
addHyphenator("mr", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Marathi
addHyphenator("nb", 2, 2); // Norwegian Bokmål
+ addHyphenator("nl", 2, 2); // Dutch
addHyphenator("nn", 2, 2); // Norwegian Nynorsk
addHyphenator("or", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Oriya
addHyphenator("pa", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Punjabi
addHyphenator("pt", 2, 3); // Portuguese
+ addHyphenator("sk", 2, 2); // Slovak
addHyphenator("sl", 2, 2); // Slovenian
+ addHyphenator("sq", 2, 2); // Albanian
addHyphenator("ta", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Tamil
addHyphenator("te", INDIC_MIN_PREFIX, INDIC_MIN_SUFFIX); // Telugu
addHyphenator("tk", 2, 2); // Turkmen
diff --git a/tools/fonts/fontchain_linter.py b/tools/fonts/fontchain_linter.py
index 68e213b..fe2b018 100755
--- a/tools/fonts/fontchain_linter.py
+++ b/tools/fonts/fontchain_linter.py
@@ -13,15 +13,18 @@
EMOJI_VS = 0xFE0F
LANG_TO_SCRIPT = {
+ 'af': 'Latn',
'as': 'Beng',
'am': 'Latn',
'be': 'Cyrl',
'bg': 'Cyrl',
'bn': 'Beng',
+ 'cs': 'Latn',
'cu': 'Cyrl',
'cy': 'Latn',
'da': 'Latn',
'de': 'Latn',
+ 'el': 'Latn',
'en': 'Latn',
'es': 'Latn',
'et': 'Latn',
@@ -36,19 +39,24 @@
'hy': 'Armn',
'it': 'Latn',
'ja': 'Jpan',
+ 'ka': 'Latn',
'kn': 'Knda',
'ko': 'Kore',
'la': 'Latn',
'lt': 'Latn',
+ 'lv': 'Latn',
'ml': 'Mlym',
'mn': 'Cyrl',
'mr': 'Deva',
'nb': 'Latn',
+ 'nl': 'Latn',
'nn': 'Latn',
'or': 'Orya',
'pa': 'Guru',
'pt': 'Latn',
+ 'sk': 'Latn',
'sl': 'Latn',
+ 'sq': 'Latn',
'ta': 'Taml',
'te': 'Telu',
'tk': 'Latn',