summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2017-03-28 19:58:25 +0200
committerCaolán McNamara <caolanm@redhat.com>2017-03-29 08:09:45 +0000
commit1c5d8ea51f9da89d76b2b2d3bb896225a6ac9dca (patch)
tree9559de3c59331f7787729ad90895761882f9fa10
parent39a09641a1d2e1b50c831fe5ecf3dc0b0174a210 (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.cxx4
-rw-r--r--i18npool/source/breakiterator/breakiteratorImpl.cxx3
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},