summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-02-14 16:07:10 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-02-14 16:10:30 +0000
commit475d0c59c66fb7752d230f76130b17145aad0c12 (patch)
tree290b1c8114076b5c70aa758c5c4aee09e9b62609
parentfad63878e529ad775f4484330235242a7a900987 (diff)
use icu's breakiterator for Thai, not our customized generic rules
-rw-r--r--i18npool/qa/cppunit/test_breakiterator.cxx5
-rw-r--r--i18npool/source/breakiterator/breakiterator_unicode.cxx7
2 files changed, 8 insertions, 4 deletions
diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx
index ba000afa6199..820e57b4549c 100644
--- a/i18npool/qa/cppunit/test_breakiterator.cxx
+++ b/i18npool/qa/cppunit/test_breakiterator.cxx
@@ -70,7 +70,7 @@ public:
CPPUNIT_TEST(testGraphemeIteration);
CPPUNIT_TEST(testWeak);
CPPUNIT_TEST(testAsian);
-// CPPUNIT_TEST(testThai);
+ CPPUNIT_TEST(testThai);
CPPUNIT_TEST_SUITE_END();
private:
@@ -264,13 +264,13 @@ void TestBreakIterator::testThai()
{
const sal_Unicode THAI1[] = { 0x0E01, 0x0E38, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A };
::rtl::OUString aTest(THAI1, SAL_N_ELEMENTS(THAI1));
-
aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale,
i18n::WordType::DICTIONARY_WORD, true);
CPPUNIT_ASSERT_MESSAGE("Should skip full word",
aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
}
+#ifdef TODO
{
const sal_Unicode NORTHERN_THAI1[] = { 0x0E01, 0x0E38, 0x0E4A, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A };
::rtl::OUString aTest(NORTHERN_THAI1, SAL_N_ELEMENTS(NORTHERN_THAI1));
@@ -279,6 +279,7 @@ void TestBreakIterator::testThai()
CPPUNIT_ASSERT_MESSAGE("Should skip full word",
aBounds.startPos == 0 && aBounds.endPos == aTest.getLength());
}
+#endif
}
TestBreakIterator::TestBreakIterator()
diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx
index 5f35795916e1..aa5e1d8adf12 100644
--- a/i18npool/source/breakiterator/breakiterator_unicode.cxx
+++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx
@@ -129,10 +129,13 @@ void SAL_CALL BreakIterator_Unicode::loadICUBreakIterator(const com::sun::star::
OOoRuleBasedBreakIterator *rbi = NULL;
- if (breakRules.getLength() > breakType && !breakRules[breakType].isEmpty()) {
+ if (breakRules.getLength() > breakType && !breakRules[breakType].isEmpty())
+ {
rbi = new OOoRuleBasedBreakIterator(udata_open("OpenOffice", "brk",
OUStringToOString(breakRules[breakType], RTL_TEXTENCODING_ASCII_US).getStr(), &status), status);
- } else {
+ }
+ else if (!rLocale.Language.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("th"))) //use icu's breakiterator for Thai
+ {
status = U_ZERO_ERROR;
OStringBuffer aUDName(64);
aUDName.append(rule);