diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2017-03-28 19:58:25 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-03-29 08:09:45 +0000 |
commit | 1c5d8ea51f9da89d76b2b2d3bb896225a6ac9dca (patch) | |
tree | 9559de3c59331f7787729ad90895761882f9fa10 | |
parent | 39a09641a1d2e1b50c831fe5ecf3dc0b0174a210 (diff) |
tdf#106755: Fix script type for combining marks
We are classifying characters in the “Combining Diacritical Marks”
Unicode block with ScriptType::LATIN, but these are combining marks and
can combine with any script and should have been ScriptType::WEAK. Just
removing them from the range in scriptList does the trick as we will
fallback to getting the script classification based on the Unicode
script property.
Change-Id: I3577f4b03360a1c8e094a207f01b6bbb6abbaf30
Reviewed-on: https://gerrit.libreoffice.org/35811
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 55ddbfc610d2a00e565ca7bcb0277da33bb90947)
Reviewed-on: https://gerrit.libreoffice.org/35815
-rw-r--r-- | i18npool/qa/cppunit/test_breakiterator.cxx | 4 | ||||
-rw-r--r-- | i18npool/source/breakiterator/breakiteratorImpl.cxx | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx index c00c716efac2..fb1a155ae9db 100644 --- a/i18npool/qa/cppunit/test_breakiterator.cxx +++ b/i18npool/qa/cppunit/test_breakiterator.cxx @@ -759,6 +759,10 @@ void TestBreakIterator::testWeak() { 0x0001, 0x0002, 0x0020, 0x00A0, + 0x0300, 0x036F, //Combining Diacritical Marks + 0x1AB0, 0x1AFF, //Combining Diacritical Marks Extended + 0x1DC0, 0x1DFF, //Combining Diacritical Marks Supplement + 0x20D0, 0x20FF, //Combining Diacritical Marks for Symbols 0x2150, 0x215F, //Number Forms, fractions 0x2160, 0x2180, //Number Forms, roman numerals 0x2200, 0x22FF, //Mathematical Operators diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx index 33ac5864a79c..f8a39ff2d253 100644 --- a/i18npool/source/breakiterator/breakiteratorImpl.cxx +++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx @@ -444,7 +444,8 @@ struct UBlock2Script static const UBlock2Script scriptList[] = { {UBLOCK_NO_BLOCK, UBLOCK_NO_BLOCK, ScriptType::WEAK}, - {UBLOCK_BASIC_LATIN, UBLOCK_ARMENIAN, ScriptType::LATIN}, + {UBLOCK_BASIC_LATIN, UBLOCK_SPACING_MODIFIER_LETTERS, ScriptType::LATIN}, + {UBLOCK_GREEK, UBLOCK_ARMENIAN, ScriptType::LATIN}, {UBLOCK_HEBREW, UBLOCK_MYANMAR, ScriptType::COMPLEX}, {UBLOCK_GEORGIAN, UBLOCK_GEORGIAN, ScriptType::LATIN}, {UBLOCK_HANGUL_JAMO, UBLOCK_HANGUL_JAMO, ScriptType::ASIAN}, |