svtools/source/misc/sampletext.cxx |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

New commits:
commit 50a41b211e7b9bce7cf10d286861071574702638
Author:     DaeHyun Sung <sungdh86+...@gmail.com>
AuthorDate: Sun Jun 28 21:41:32 2020 +0900
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Thu Jul 2 20:26:28 2020 +0200

    Hardcode script for "Noto" CJK fonts & add USCRIPT_JAMO
    
    1. Hardcode script for "Noto" CJK fonts.
    
    The "Noto" CJK fonts support to Simplified Chinese, Traditional Chinese, 
Traditional Chinese HK, Japanese, and Korean (Pan-CJK fonts).
    
    Nowadays, Noto CJK Fonts are shown '简繁'.
    
    Noto font's KR(Korean, 한국어/한글) & JP(Japanese,日本語) represent Korean(KR, It 
shows '한글') and Japanese(JP, It shows '日本語'), respectively. These are not 
expressed in Chinese fonts, such as Simplified Chinese(简) and Traditional 
Chinese(繁).
    Also, Both TC(Traditional Chinese) and HK(Hong Kong) represent 繁. It don't 
shown 简繁.
    so, SC(Simplified Chinese) represent 简, It don't shown 简繁
    
    So, I fixed Font select option's Noto CJK-series font Examples on 
LibreOffice
    Noto Sans CJK HK 简繁 -> Noto Sans CJK HK 繁
    Noto Sans CJK JP 简繁 -> Noto Sans CJK JP 日本語
    Noto Sans CJK KR 简繁 -> Noto Sans CJK KR 한글
    Noto Sans CJK SC 简繁 -> Noto Sans CJK SC 简
    Noto Sans CJK TC 简繁 -> Noto Sans CJK TC 繁
    
    Noto Sans Mono CJK HK 简繁 -> Noto Sans Mono CJK HK 繁
    Noto Sans Mono CJK JP 简繁 -> Noto Sans Mono CJK JP 日本語
    Noto Sans Mono CJK KR 简繁 -> Noto Sans Mono CJK KR 한글
    Noto Sans Mono CJK SC 简繁 -> Noto Sans Mono CJK SC 简
    Noto Sans Mono CJK TC 简繁 -> Noto Sans Mono CJK TC 繁
    
    Noto Serif CJK JP 简繁 -> Noto Serif CJK JP 日本語
    Noto Serif CJK KR 简繁 -> Noto Serif CJK KR 한글
    Noto Serif CJK SC 简繁 -> Noto Serif CJK SC 简
    Noto Serif CJK TC 简繁 -> Noto Serif CJK TC 繁
    
    check the Noto CJK Fonts
    https://github.com/googlefonts/noto-cjk
    
    2. add USCRIPT_JAMO
    It related with commit, ff0ed60c769da6f46acd9388e46922987e321d06
    "change USCRIPT_JAMO language value for Unicode"
    
    Jamo(자모/字母) is composition elements of Korean Alphabet, Hangul Syllable(음절)
    
    Example] 각
    Decomposition of hangul syllable
    Unicode code point: U+AC01
    Hangul(한글) ‘각’
    jamo(자모/字母):  ‘ᄀ’  plus ‘ᅡ’  plus ‘ᆨ’
    choseong(초성/初聲):ㄱ (codepoint: U+1100)
    jungseong(중성/中聲):ㅏ(codepoint: U+1161)
    jongseong(종성/終聲):ᆨ (codepoint: U+11A8)
    
    Change-Id: I9ad14ce14a2168a4c3ac4e7cb6c7e5cfbaad39ad
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97344
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/svtools/source/misc/sampletext.cxx 
b/svtools/source/misc/sampletext.cxx
old mode 100644
new mode 100755
index a08c2867abfc..b87c1250a4eb
--- a/svtools/source/misc/sampletext.cxx
+++ b/svtools/source/misc/sampletext.cxx
@@ -100,7 +100,18 @@ static UScriptCode lcl_getHardCodedScriptNameForFont 
(const OutputDevice &rDevic
         // These fonts claim support for ARMENIAN and a bunch of other stuff 
they don't support
         return USCRIPT_SIMPLIFIED_HAN;
     }
-
+    else if (rName.startsWith("Noto")) {
+        // These fonts claim support for CJK(Chinese-Japanese-Korean) 
languages.
+        if (rName.indexOf(" KR") > 0 || rName.indexOf("Korean") > 0) {
+            return USCRIPT_KOREAN;
+        } else if (rName.indexOf(" JP") > 0 || rName.indexOf("Japanese") > 0) {
+            return USCRIPT_JAPANESE;
+        } else if (rName.indexOf(" SC") > 0 || rName.indexOf("S Chinese") > 0) 
{
+            return USCRIPT_SIMPLIFIED_HAN;
+        } else if (rName.indexOf(" TC") > 0 || rName.indexOf(" HK") > 0 || 
rName.indexOf("T Chinese") > 0) {
+            return USCRIPT_TRADITIONAL_HAN;
+        }
+    }
     return USCRIPT_INVALID_CODE;
 }
 
@@ -361,6 +372,7 @@ OUString makeShortRepresentativeTextForScript(UScriptCode 
eScript)
             sSampleText = OUString(aGeorgian, SAL_N_ELEMENTS(aGeorgian));
             break;
         }
+        case USCRIPT_JAMO:
         case USCRIPT_HANGUL:
         case USCRIPT_KOREAN:
         {
@@ -555,6 +567,7 @@ static OUString makeRepresentativeTextForScript(UScriptCode 
eScript)
             sSampleText = OUString(aJa, SAL_N_ELEMENTS(aJa));
             break;
         }
+        case USCRIPT_JAMO:
         case USCRIPT_KOREAN:
         case USCRIPT_HANGUL:
         {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to