i18npool/qa/cppunit/test_breakiterator.cxx | 25 ++++++++++++++++ i18npool/source/breakiterator/breakiterator_unicode.cxx | 2 - 2 files changed, 26 insertions(+), 1 deletion(-)
New commits: commit f24fa8efad247bdc296e4724b914f73f01ef2d0b Author: Robert M Campbell <robert.rcampb...@gmail.com> Date: Wed Nov 13 23:15:13 2013 +0700 Add Lao breakiterator support for selecting and counting Lao words. Change-Id: I6da721dc25394dfee12e3028aefbf0546d1be984 Reviewed-on: https://gerrit.libreoffice.org/6669 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx index 8d70250..a81475b 100644 --- a/i18npool/qa/cppunit/test_breakiterator.cxx +++ b/i18npool/qa/cppunit/test_breakiterator.cxx @@ -39,6 +39,7 @@ public: void testWeak(); void testAsian(); void testThai(); + void testLao(); #ifdef TODO void testNorthernThai(); #endif @@ -59,6 +60,9 @@ public: #if (U_ICU_VERSION_MAJOR_NUM > 4) CPPUNIT_TEST(testKhmer); #endif +#if (U_ICU_VERSION_MAJOR_NUM > 51) + CPPUNIT_TEST(testLao); +#endif CPPUNIT_TEST(testJapanese); CPPUNIT_TEST_SUITE_END(); private: @@ -784,6 +788,27 @@ void TestBreakIterator::testAsian() } } +//A test to ensure that our Lao word boundary detection is useful +void TestBreakIterator::testLao() +{ + lang::Locale aLocale; + aLocale.Language = OUString("lo"); + aLocale.Country = OUString("LA"); + //àºàº´àºàºàºµàºà»àºàºàº®àº±àº + const sal_Unicode LAO[] = { 0x0e8d, 0x0eb4, 0x0e99, 0x0e94, 0x0eb5, 0x0e95, 0x0ec9, 0x0ead, 0x0e99, 0x0eae, 0x0eb1, 0x0e9a }; + OUString aTest(LAO, SAL_N_ELEMENTS(LAO)); + i18n::Boundary aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale, + i18n::WordType::DICTIONARY_WORD, true); + + CPPUNIT_ASSERT(aBounds.startPos == 0 && aBounds.endPos == 5); + + aBounds = m_xBreak->getWordBoundary(aTest, aBounds.endPos, aLocale, + i18n::WordType::DICTIONARY_WORD, true); + + CPPUNIT_ASSERT(aBounds.startPos == 5 && aBounds.endPos == 9); + +} + //A test to ensure that our thai word boundary detection is useful void TestBreakIterator::testThai() { diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx index f85c109..3bb2e3e 100644 --- a/i18npool/source/breakiterator/breakiterator_unicode.cxx +++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx @@ -121,7 +121,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, Khmer, Tibetan and Dzongkha - else if (rLocale.Language != "th" && rLocale.Language != "km" && rLocale.Language != "bo" && rLocale.Language != "dz") + else if (rLocale.Language != "th" && rLocale.Language != "lo" && rLocale.Language != "km" && rLocale.Language != "bo" && rLocale.Language != "dz") { status = U_ZERO_ERROR; OStringBuffer aUDName(64);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits