summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Wells <sungkhum@gmail.com>2015-09-03 12:21:05 +0100
committerAndras Timar <andras.timar@collabora.com>2017-04-24 08:29:33 +0200
commitaa89161fc713a365bbec2936331f4f342d6eb58d (patch)
tree749892178bfe374b1c44a1004f5461c8804ec258
parenta9e09fa66dd99a18af69739fb23264b15d647ae0 (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 (cherry picked from commit 10199478b841a87e6436996bde221e424d1df708) Change-Id: I84529db9cca72ffe1108d2e12c1885f63a48f89d
-rw-r--r--i18npool/qa/cppunit/test_breakiterator.cxx20
-rw-r--r--i18npool/source/breakiterator/breakiterator_unicode.cxx2
2 files changed, 11 insertions, 11 deletions
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index be4dd6d13935..567fec5d8580 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -39,29 +39,28 @@ public:
void testWeak();
void testAsian();
void testThai();
+#if (U_ICU_VERSION_MAJOR_NUM > 51)
void testLao();
#ifdef TODO
void testNorthernThai();
-#endif
void testKhmer();
+#endif
+#endif
void testJapanese();
void testChinese();
CPPUNIT_TEST_SUITE(TestBreakIterator);
CPPUNIT_TEST(testLineBreaking);
+ CPPUNIT_TEST(testWordBoundaries);
CPPUNIT_TEST(testGraphemeIteration);
CPPUNIT_TEST(testWeak);
CPPUNIT_TEST(testAsian);
CPPUNIT_TEST(testThai);
+#if (U_ICU_VERSION_MAJOR_NUM > 51)
+ CPPUNIT_TEST(testLao);
#ifdef TODO
- CPPUNIT_TEST(testNorthernThai);
-#endif
-
- CPPUNIT_TEST(testWordBoundaries);
-#if (U_ICU_VERSION_MAJOR_NUM > 4)
CPPUNIT_TEST(testKhmer);
+ CPPUNIT_TEST(testNorthernThai);
#endif
-#if (U_ICU_VERSION_MAJOR_NUM > 51)
- CPPUNIT_TEST(testLao);
#endif
CPPUNIT_TEST(testJapanese);
CPPUNIT_TEST(testChinese);
@@ -884,12 +883,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 48a3619c2570..36786308c65f 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -124,7 +124,7 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const com::sun::star::
OUStringToOString(breakRules[breakType], RTL_TEXTENCODING_ASCII_US).getStr(), &status), status);
}
//use icu's breakiterator for Thai, Tibetan and Dzongkha
- else if (rLocale.Language != "th" && rLocale.Language != "lo" && rLocale.Language != "bo" && rLocale.Language != "dz" && rLocale.Language != "km")
+ else if (rLocale.Language != "th" && rLocale.Language != "lo" && rLocale.Language != "bo" && rLocale.Language != "dz")
{
status = U_ZERO_ERROR;
OStringBuffer aUDName(64);