i18npool/CppunitTest_i18npool_transliteration.mk | 30 +++ i18npool/Module_i18npool.mk | 1 i18npool/qa/cppunit/transliteration.cxx | 122 ++++++++++++++++ i18npool/source/transliteration/transliterationImpl.cxx | 60 +++++-- i18npool/util/i18npool.component | 6 5 files changed, 198 insertions(+), 21 deletions(-)
New commits: commit 33a5eba5ba8750f3c6f3c1bc5c2f3c603c4e331f Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue Apr 4 14:23:49 2023 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Thu Apr 6 10:20:53 2023 +0200 Fix typos in XML that broke three implementation elements The typos all originated with d2140a6320cd1cf4dea29b174cdb3bcb5261056b "i18npool: create instances with uno constructors", causing three intended constructor attributes to rather be plain character data. (Which apparently went unnoticed so far, in part because the Parser class in cppuhelper/source/servicemanager.cxx silently ignores any unexpected character data via xmlreader::XmlReader::Text::NONE.) Change-Id: Ia8fdbc09c67d10530b4d86dbbbde2b6b84038e66 (cherry picked from commit e20d25bd6488dd5a6a73f1dd976bddf847dfcf9a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150073 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/i18npool/qa/cppunit/transliteration.cxx b/i18npool/qa/cppunit/transliteration.cxx index 77d82aa60eec..712a3c02244a 100644 --- a/i18npool/qa/cppunit/transliteration.cxx +++ b/i18npool/qa/cppunit/transliteration.cxx @@ -68,9 +68,7 @@ public: trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextUpper_zh_CN }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextLower_zh_TW }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextUpper_zh_TW }, {}); -#if 0 //TODO: currently broken - trans->loadModuleNew({css::i18n::TransliterationModulesNew_NumToTextFormalHangul_ko}, {}); -#endif + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextFormalHangul_ko }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextFormalLower_ko }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextFormalUpper_ko }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextInformalHangul_ko }, @@ -102,9 +100,7 @@ public: {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumInformalUpper_ko }, {}); -#if 0 //TODO: currently broken - trans->loadModuleNew({css::i18n::TransliterationModulesNew_CharToNumLower_zh_CN}, {}); -#endif + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumLower_zh_CN }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumUpper_zh_CN }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumLower_zh_TW }, {}); trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumUpper_zh_TW }, {}); diff --git a/i18npool/util/i18npool.component b/i18npool/util/i18npool.component index e3e437c875ee..b540f2bd98e2 100644 --- a/i18npool/util/i18npool.component +++ b/i18npool/util/i18npool.component @@ -226,7 +226,7 @@ constructor="i18npool_CharToNumLower_ko_get_implementation"> <service name="com.sun.star.i18n.Transliteration.l10n"/> </implementation> - <implementation name="com.sun.star.i18n.Transliteration.CharToNumLower_zh_CN"> + <implementation name="com.sun.star.i18n.Transliteration.CharToNumLower_zh_CN" constructor="i18npool_CharToNumLower_zh_CN_get_implementation"> <service name="com.sun.star.i18n.Transliteration.l10n"/> </implementation> @@ -354,7 +354,7 @@ <implementation name="com.sun.star.i18n.Transliteration.NumToTextDiZi_zh"> <service name="com.sun.star.i18n.Transliteration.l10n"/> </implementation> - <implementation name="com.sun.star.i18n.Transliteration.NumToTextFormalHangul_ko"> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextFormalHangul_ko" constructor="i18npool_NumToTextFormalHangul_ko_get_implementation"> <service name="com.sun.star.i18n.Transliteration.l10n"/> </implementation> @@ -380,7 +380,7 @@ constructor="i18npool_NumToTextFullwidth_zh_TW_get_implementation"> <service name="com.sun.star.i18n.Transliteration.l10n"/> </implementation> - <implementation name="com.sun.star.i18n.Transliteration.NumToTextHangulCircledJamo_ko"> + <implementation name="com.sun.star.i18n.Transliteration.NumToTextHangulCircledJamo_ko" constructor="i18npool_NumToTextHangulCircledJamo_ko_get_implementation"> <service name="com.sun.star.i18n.Transliteration.l10n"/> </implementation> commit a3e75275034905d6371136b30ab4a04367a20548 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue Apr 4 11:16:00 2023 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Thu Apr 6 10:20:40 2023 +0200 tdf#151971: Fix used implementation names of transliteration services ...after 04af4e4f55f3ef319a78edd4d0109e2e7eba90b6 "[API CHANGE] Fix all bad UNOIDL identifiers across offapi" had changed the spelling (character case) of some of the css.i18n.TransliterationModules[New] enum values involved here, so that the TmItem1 macro generated broken TMList::implName values now. (Which in turn caused TransliterationImpl::loadBody to throw "unsatisfied query for interface of type com.sun.star.i18n.XExtendedTransliteration!" css::uno::RuntimeExceptions, which remained uncaught.) Also add a test verifying that loading all those transliteration services no longer fails throwing exceptions. Which lead to two open TODOs: For one, the value of maxCascade in i18npool/inc/transliterationImpl.hxx might come from a time when there were fewer TransliterationModules[New] enum values and might no longer be appropriate. This would need some further investigation. But for another, there are two transliteration services that cannot currently be instantiated. That looks like a regression that should be fixed in a follow-up commit. Change-Id: Icfca3e841360d4b471013e2c96d6868a75a21a1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150018 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> (cherry picked from commit 456a146b9eb643655ae2bd336740e8c5536913aa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149982 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/i18npool/CppunitTest_i18npool_transliteration.mk b/i18npool/CppunitTest_i18npool_transliteration.mk new file mode 100644 index 000000000000..37dddcda0ae2 --- /dev/null +++ b/i18npool/CppunitTest_i18npool_transliteration.mk @@ -0,0 +1,30 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t; fill-column: 100 -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_CppunitTest_CppunitTest,i18npool_transliteration)) + +$(eval $(call gb_CppunitTest_add_exception_objects,i18npool_transliteration, \ + i18npool/qa/cppunit/transliteration \ +)) + +$(eval $(call gb_CppunitTest_use_components,i18npool_transliteration, \ + i18npool/util/i18npool \ +))\ + +$(eval $(call gb_CppunitTest_use_libraries,i18npool_transliteration, \ + cppu \ + cppuhelper \ + sal \ +)) + +$(eval $(call gb_CppunitTest_use_sdk_api,i18npool_transliteration)) + +$(eval $(call gb_CppunitTest_use_ure,i18npool_transliteration)) + +# vim: set noet sw=4 ts=4: diff --git a/i18npool/Module_i18npool.mk b/i18npool/Module_i18npool.mk index e66a08a648ab..1797db8c3869 100644 --- a/i18npool/Module_i18npool.mk +++ b/i18npool/Module_i18npool.mk @@ -45,6 +45,7 @@ $(eval $(call gb_Module_add_check_targets,i18npool,\ CppunitTest_i18npool_textsearch \ CppunitTest_i18npool_calendar \ CppunitTest_i18npool_defaultnumberingprovider \ + CppunitTest_i18npool_transliteration \ )) # vim: set noet sw=4 ts=4: diff --git a/i18npool/qa/cppunit/transliteration.cxx b/i18npool/qa/cppunit/transliteration.cxx new file mode 100644 index 000000000000..77d82aa60eec --- /dev/null +++ b/i18npool/qa/cppunit/transliteration.cxx @@ -0,0 +1,126 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <sal/config.h> + +#include <cppunit/TestFixture.h> +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/plugin/TestPlugIn.h> + +#include <com/sun/star/i18n/Transliteration.hpp> +#include <com/sun/star/i18n/TransliterationModulesNew.hpp> +#include <cppuhelper/bootstrap.hxx> + +namespace +{ +class Transliteration : public CppUnit::TestFixture +{ +public: + void testLoadModuleNew() + { + auto const trans + = css::i18n::Transliteration::create(cppu::defaultBootstrap_InitialComponentContext()); + // Verify that loading succeeds without throwing an exception, for each possible + // TransliterationModulesNew value (TODO: there is an upper limit of maxCascade 27 in + // i18npool/inc/transliterationImpl.hxx for the length of the passed + // TransliterationModulesNew value, so pass each one individually rather than all 65 at + // once): + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_UPPERCASE_LOWERCASE }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_LOWERCASE_UPPERCASE }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_HALFWIDTH_FULLWIDTH }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_FULLWIDTH_HALFWIDTH }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_KATAKANA_HIRAGANA }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_HIRAGANA_KATAKANA }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IGNORE_CASE }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IGNORE_KANA }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IGNORE_WIDTH }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreTraditionalKanji_ja_JP }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreTraditionalKana_ja_JP }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreMinusSign_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreIterationMark_ja_JP }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreSeparator_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreZiZu_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreBaFa_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreTiJi_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreHyuByu_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreSeZe_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreIandEfollowedByYa_ja_JP }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreKiKuFollowedBySa_ja_JP }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreSize_ja_JP }, {}); + trans->loadModuleNew( + { css::i18n::TransliterationModulesNew_IgnoreProlongedSoundMark_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreMiddleDot_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_IgnoreSpace_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_SmallToLarge_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_LargeToSmall_ja_JP }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextLower_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextUpper_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextLower_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextUpper_zh_TW }, {}); +#if 0 //TODO: currently broken + trans->loadModuleNew({css::i18n::TransliterationModulesNew_NumToTextFormalHangul_ko}, {}); +#endif + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextFormalLower_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextFormalUpper_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextInformalHangul_ko }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextInformalLower_ko }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToTextInformalUpper_ko }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharLower_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharUpper_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharLower_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharUpper_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharHangul_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharLower_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharUpper_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharFullwidth }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_NumToCharKanjiShort_ja_JP }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumLower_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumUpper_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumLower_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumUpper_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumFormalHangul_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumFormalLower_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumFormalUpper_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumInformalHangul_ko }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumInformalLower_ko }, + {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_TextToNumInformalUpper_ko }, + {}); +#if 0 //TODO: currently broken + trans->loadModuleNew({css::i18n::TransliterationModulesNew_CharToNumLower_zh_CN}, {}); +#endif + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumUpper_zh_CN }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumLower_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumUpper_zh_TW }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumHangul_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumLower_ko }, {}); + trans->loadModuleNew({ css::i18n::TransliterationModulesNew_CharToNumUpper_ko }, {}); + } + + CPPUNIT_TEST_SUITE(Transliteration); + CPPUNIT_TEST(testLoadModuleNew); + CPPUNIT_TEST_SUITE_END(); +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(Transliteration); +} + +CPPUNIT_PLUGIN_IMPLEMENT(); + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/i18npool/source/transliteration/transliterationImpl.cxx b/i18npool/source/transliteration/transliterationImpl.cxx index d397279435ce..3d0f058991c8 100644 --- a/i18npool/source/transliteration/transliterationImpl.cxx +++ b/i18npool/source/transliteration/transliterationImpl.cxx @@ -65,22 +65,44 @@ TMList const TMlist[] = { // Modules ModulesNew // No enum define for this trans. application has to use impl name to load it // TmItem1 (IGNORE_CASE_SIMPLE), // (1<<11 1024) (66) - TmItem1 (IgnoreTraditionalKanji_ja_JP), // 3. (1<<12 4096) (10) - TmItem1 (IgnoreTraditionalKana_ja_JP), // 4. (1<<13 8192) (11) - TmItem1 (IgnoreMinusSign_ja_JP), // 5. (1<<13 16384) (12) - TmItem1 (IgnoreIterationMark_ja_JP), // 6. (1<<14 32768) (13) - TmItem1 (IgnoreSeparator_ja_JP), // 7. (1<<15 65536) (14) - TmItem1 (IgnoreSize_ja_JP), // 15. (1<<23 16777216) (22) - TmItem1 (IgnoreMiddleDot_ja_JP), // 17. (1<<25 67108864) (24) - TmItem1 (IgnoreSpace_ja_JP), // 18. (1<<26 134217728) (25) - TmItem1 (IgnoreZiZu_ja_JP), // 8. (1<<16 131072) (15) - TmItem1 (IgnoreBaFa_ja_JP), // 9. (1<<17 262144) (16) - TmItem1 (IgnoreTiJi_ja_JP), // 10. (1<<18 524288) (17) - TmItem1 (IgnoreHyuByu_ja_JP), // 11. (1<<19 1048576) (18) - TmItem1 (IgnoreSeZe_ja_JP), // 12. (1<<20 2097152) (19) - TmItem1 (IgnoreIandEfollowedByYa_ja_JP), // 13. (1<<21 4194304) (20) - TmItem1 (IgnoreKiKuFollowedBySa_ja_JP), // 14. (1<<22 8388608) (21) - TmItem1 (IgnoreProlongedSoundMark_ja_JP), // 16. (1<<24 33554432) (23) + {TransliterationModules_IgnoreTraditionalKanji_ja_JP, + TransliterationModulesNew_IgnoreTraditionalKanji_ja_JP, "ignoreTraditionalKanji_ja_JP"}, + // 3. (1<<12 4096) (10) + {TransliterationModules_IgnoreTraditionalKana_ja_JP, + TransliterationModulesNew_IgnoreTraditionalKana_ja_JP, "ignoreTraditionalKana_ja_JP"}, + // 4. (1<<13 8192) (11) + {TransliterationModules_IgnoreMinusSign_ja_JP, TransliterationModulesNew_IgnoreMinusSign_ja_JP, + "ignoreMinusSign_ja_JP"}, // 5. (1<<13 16384) (12) + {TransliterationModules_IgnoreIterationMark_ja_JP, + TransliterationModulesNew_IgnoreIterationMark_ja_JP, "ignoreIterationMark_ja_JP"}, + // 6. (1<<14 32768) (13) + {TransliterationModules_IgnoreSeparator_ja_JP, TransliterationModulesNew_IgnoreSeparator_ja_JP, + "ignoreSeparator_ja_JP"}, // 7. (1<<15 65536) (14) + {TransliterationModules_IgnoreSize_ja_JP, TransliterationModulesNew_IgnoreSize_ja_JP, + "ignoreSize_ja_JP"}, // 15. (1<<23 16777216) (22) + {TransliterationModules_IgnoreMiddleDot_ja_JP, TransliterationModulesNew_IgnoreMiddleDot_ja_JP, + "ignoreMiddleDot_ja_JP"}, // 17. (1<<25 67108864) (24) + {TransliterationModules_IgnoreSpace_ja_JP, TransliterationModulesNew_IgnoreSpace_ja_JP, + "ignoreSpace_ja_JP"}, // 18. (1<<26 134217728) (25) + {TransliterationModules_IgnoreZiZu_ja_JP, TransliterationModulesNew_IgnoreZiZu_ja_JP, + "ignoreZiZu_ja_JP"}, // 8. (1<<16 131072) (15) + {TransliterationModules_IgnoreBaFa_ja_JP, TransliterationModulesNew_IgnoreBaFa_ja_JP, + "ignoreBaFa_ja_JP"}, // 9. (1<<17 262144) (16) + {TransliterationModules_IgnoreTiJi_ja_JP, TransliterationModulesNew_IgnoreTiJi_ja_JP, + "ignoreTiJi_ja_JP"}, // 10. (1<<18 524288) (17) + {TransliterationModules_IgnoreHyuByu_ja_JP, TransliterationModulesNew_IgnoreHyuByu_ja_JP, + "ignoreHyuByu_ja_JP"}, // 11. (1<<19 1048576) (18) + {TransliterationModules_IgnoreSeZe_ja_JP, TransliterationModulesNew_IgnoreSeZe_ja_JP, + "ignoreSeZe_ja_JP"}, // 12. (1<<20 2097152) (19) + {TransliterationModules_IgnoreIandEfollowedByYa_ja_JP, + TransliterationModulesNew_IgnoreIandEfollowedByYa_ja_JP, "ignoreIandEfollowedByYa_ja_JP"}, + // 13. (1<<21 4194304) (20) + {TransliterationModules_IgnoreKiKuFollowedBySa_ja_JP, + TransliterationModulesNew_IgnoreKiKuFollowedBySa_ja_JP, "ignoreKiKuFollowedBySa_ja_JP"}, + // 14. (1<<22 8388608) (21) + {TransliterationModules_IgnoreProlongedSoundMark_ja_JP, + TransliterationModulesNew_IgnoreProlongedSoundMark_ja_JP, "ignoreProlongedSoundMark_ja_JP"}, + // 16. (1<<24 33554432) (23) TmItem1 (UPPERCASE_LOWERCASE), // 19. (1) (1) TmItem1 (LOWERCASE_UPPERCASE), // 20. (2) (2) @@ -89,8 +111,10 @@ TMList const TMlist[] = { // Modules ModulesNew TmItem1 (KATAKANA_HIRAGANA), // 23. (5) (5) TmItem1 (HIRAGANA_KATAKANA), // 24. (6) (6) - TmItem1 (SmallToLarge_ja_JP), // 25. (1<<27 268435456) (26) - TmItem1 (LargeToSmall_ja_JP), // 26. (1<<28 536870912) (27) + {TransliterationModules_SmallToLarge_ja_JP, TransliterationModulesNew_SmallToLarge_ja_JP, + "smallToLarge_ja_JP"}, // 25. (1<<27 268435456) (26) + {TransliterationModules_LargeToSmall_ja_JP, TransliterationModulesNew_LargeToSmall_ja_JP, + "largeToSmall_ja_JP"}, // 26. (1<<28 536870912) (27) TmItem2 (NumToTextLower_zh_CN), // 27. () (28) TmItem2 (NumToTextUpper_zh_CN), // 28. () (29) TmItem2 (NumToTextLower_zh_TW), // 29. () (30)