summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Wells <sungkhum@gmail.com>2015-09-03 12:21:05 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-09-03 12:28:16 +0100
commit10199478b841a87e6436996bde221e424d1df708 (patch)
tree3652dd7b8582db6ed8a0bcb11b59c9a94850bebd
parent85c62a36a907bc5ff31627349a80baa51efbd443 (diff)
Related: tdf#52020 Disable ICU Breakiterator for Khmer
Enabling the ICU Breakiterator causes Khmer spelling checkers to be worthless as well as wrecks havoc on various minority languages that use the Khmer script. See this https://bugs.documentfoundation.org/show_bug.cgi?id=52020 this: https://bugs.freedesktop.org/show_bug.cgi?id=59448 and this: https://bugs.documentfoundation.org/show_bug.cgi?id=59447&redirected_from=fdo Change-Id: I84529db9cca72ffe1108d2e12c1885f63a48f89d
-rw-r--r--i18npool/qa/cppunit/test_breakiterator.cxx13
-rw-r--r--i18npool/source/breakiterator/breakiterator_unicode.cxx4
2 files changed, 8 insertions, 9 deletions
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index 22aa0d7a115b..693d19cc9453 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -40,11 +40,11 @@ public:
void testThai();
#if (U_ICU_VERSION_MAJOR_NUM > 51)
void testLao();
-#endif
#ifdef TODO
void testNorthernThai();
-#endif
void testKhmer();
+#endif
+#endif
void testJapanese();
void testChinese();
@@ -57,12 +57,10 @@ public:
CPPUNIT_TEST(testThai);
#if (U_ICU_VERSION_MAJOR_NUM > 51)
CPPUNIT_TEST(testLao);
-#endif
#ifdef TODO
+ CPPUNIT_TEST(testKhmer);
CPPUNIT_TEST(testNorthernThai);
#endif
-#if (U_ICU_VERSION_MAJOR_NUM > 4)
- CPPUNIT_TEST(testKhmer);
#endif
CPPUNIT_TEST(testJapanese);
CPPUNIT_TEST(testChinese);
@@ -889,12 +887,13 @@ void TestBreakIterator::testNorthernThai()
CPPUNIT_ASSERT_MESSAGE("Should skip full word",
aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
}
-#endif
-#if (U_ICU_VERSION_MAJOR_NUM > 4)
// Not sure if any version earlier than 49 did have Khmer word boundary
// dictionaries, 4.6 does not.
+// As of icu 54, word boundary detection for Khmer is still considered
+// insufficient, so icu khmer stuff is disabled
+
//A test to ensure that our khmer word boundary detection is useful
//https://bugs.libreoffice.org/show_bug.cgi?id=52020
void TestBreakIterator::testKhmer()
diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx
index 53c19164f28d..0f7512b34f46 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -123,8 +123,8 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const com::sun::star::
rbi = new OOoRuleBasedBreakIterator(udata_open("OpenOffice", "brk",
OUStringToOString(breakRules[breakType], RTL_TEXTENCODING_ASCII_US).getStr(), &status), status);
}
- //use icu's breakiterator for Thai, Khmer, Tibetan and Dzongkha
- else if (rLocale.Language != "th" && rLocale.Language != "lo" && rLocale.Language != "km" && rLocale.Language != "bo" && rLocale.Language != "dz")
+ //use icu's breakiterator for Thai, Tibetan and Dzongkha
+ else if (rLocale.Language != "th" && rLocale.Language != "lo" && rLocale.Language != "bo" && rLocale.Language != "dz")
{
status = U_ZERO_ERROR;
OStringBuffer aUDName(64);