| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_i18npool.hxx" |
| #include <com/sun/star/lang/XSingleServiceFactory.hpp> |
| #include <com/sun/star/lang/XMultiServiceFactory.hpp> |
| #include <com/sun/star/registry/XRegistryKey.hpp> |
| |
| #include <cppuhelper/factory.hxx> |
| #include <cppuhelper/weak.hxx> |
| #include <osl/mutex.hxx> |
| |
| #include <localedata.hxx> |
| #include <numberformatcode.hxx> |
| #include <nativenumbersupplier.hxx> |
| #include <defaultnumberingprovider.hxx> |
| #include <servicename.hxx> |
| |
| #define TRANSLITERATION_ALL |
| #include <transliterationImpl.hxx> |
| #include <transliteration_body.hxx> |
| #include <transliteration_caseignore.hxx> |
| #include <transliteration_Ignore.hxx> |
| #include <transliteration_OneToOne.hxx> |
| #include <textToPronounce_zh.hxx> |
| #include <numtotext_cjk.hxx> |
| #include <numtochar.hxx> |
| #include <texttonum.hxx> |
| #include <chartonum.hxx> |
| |
| #include <calendarImpl.hxx> |
| #include <calendar_gregorian.hxx> |
| #include <calendar_hijri.hxx> |
| #include <calendar_jewish.hxx> |
| |
| #define BREAKITERATOR_ALL |
| #include <breakiteratorImpl.hxx> |
| #include <breakiterator_cjk.hxx> |
| #include <breakiterator_th.hxx> |
| #include <breakiterator_unicode.hxx> |
| |
| #include <indexentrysupplier.hxx> |
| #include <indexentrysupplier_asian.hxx> |
| #include <indexentrysupplier_ja_phonetic.hxx> |
| #include <indexentrysupplier_common.hxx> |
| #include <indexentrysupplier_default.hxx> |
| |
| #define CCLASS_ALL |
| #include <characterclassificationImpl.hxx> |
| #include <scripttypedetector.hxx> |
| #include <cclass_unicode.hxx> |
| |
| #define COLLATOR_ALL |
| #include <collatorImpl.hxx> |
| #include <chaptercollator.hxx> |
| #include <collator_unicode.hxx> |
| |
| #include <inputsequencechecker.hxx> |
| #include <inputsequencechecker_th.hxx> |
| #include <inputsequencechecker_hi.hxx> |
| |
| #include <textconversionImpl.hxx> |
| #include <textconversion.hxx> |
| |
| #include <ordinalsuffix.hxx> |
| |
| #define IMPL_CREATEINSTANCE( ImplName ) \ |
| ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > \ |
| SAL_CALL ImplName##_CreateInstance( \ |
| const ::com::sun::star::uno::Reference< \ |
| ::com::sun::star::lang::XMultiServiceFactory >& ) \ |
| { \ |
| return ::com::sun::star::uno::Reference < \ |
| ::com::sun::star::uno::XInterface >( ( ::cppu::OWeakObject* ) \ |
| new ImplName ); \ |
| } |
| |
| #define IMPL_CREATEINSTANCE_MSF( ImplName ) \ |
| ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > \ |
| SAL_CALL ImplName##_CreateInstance( \ |
| const ::com::sun::star::uno::Reference< \ |
| ::com::sun::star::lang::XMultiServiceFactory >& rxMSF ) \ |
| { \ |
| return ::com::sun::star::uno::Reference < \ |
| ::com::sun::star::uno::XInterface >( ( ::cppu::OWeakObject* ) \ |
| new ImplName( rxMSF ) ); \ |
| } |
| |
| typedef ::com::sun::star::uno::Reference< |
| ::com::sun::star::uno::XInterface > (SAL_CALL *FN_CreateInstance)( |
| const ::com::sun::star::uno::Reference< |
| ::com::sun::star::lang::XMultiServiceFactory >& ); |
| |
| #define IMPL_TRANSLITERATION_ITEM( implName ) \ |
| { TRLT_SERVICELNAME_L10N, \ |
| TRLT_IMPLNAME_PREFIX #implName, \ |
| &implName##_CreateInstance } |
| |
| // ------------------------------------------------------------------------------------- |
| |
| using namespace ::com::sun::star::i18n; |
| |
| IMPL_CREATEINSTANCE_MSF( NumberFormatCodeMapper ) |
| IMPL_CREATEINSTANCE( NativeNumberSupplier ) |
| IMPL_CREATEINSTANCE( LocaleData ) |
| IMPL_CREATEINSTANCE_MSF( DefaultNumberingProvider ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_asian ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_consonant ) |
| IMPL_CREATEINSTANCE_MSF( IndexEntrySupplier_Unicode ) |
| IMPL_CREATEINSTANCE_MSF( CalendarImpl ) |
| IMPL_CREATEINSTANCE( Calendar_gregorian ) |
| IMPL_CREATEINSTANCE( Calendar_hanja ) |
| IMPL_CREATEINSTANCE( Calendar_gengou ) |
| IMPL_CREATEINSTANCE( Calendar_ROC ) |
| IMPL_CREATEINSTANCE( Calendar_hijri ) |
| IMPL_CREATEINSTANCE( Calendar_jewish ) |
| IMPL_CREATEINSTANCE( Calendar_buddhist ) |
| IMPL_CREATEINSTANCE_MSF( BreakIteratorImpl ) |
| IMPL_CREATEINSTANCE( BreakIterator_Unicode ) |
| IMPL_CREATEINSTANCE( BreakIterator_ja ) |
| IMPL_CREATEINSTANCE( BreakIterator_zh ) |
| IMPL_CREATEINSTANCE( BreakIterator_zh_TW ) |
| IMPL_CREATEINSTANCE( BreakIterator_ko ) |
| IMPL_CREATEINSTANCE( BreakIterator_th ) |
| IMPL_CREATEINSTANCE_MSF( ChapterCollator ) |
| IMPL_CREATEINSTANCE_MSF( CollatorImpl ) |
| IMPL_CREATEINSTANCE( Collator_Unicode ) |
| |
| IMPL_CREATEINSTANCE_MSF( CharacterClassificationImpl ) |
| IMPL_CREATEINSTANCE_MSF( cclass_Unicode ) |
| IMPL_CREATEINSTANCE_MSF( TransliterationImpl ) |
| IMPL_CREATEINSTANCE( ScriptTypeDetector ) |
| |
| IMPL_CREATEINSTANCE_MSF( InputSequenceCheckerImpl ) |
| IMPL_CREATEINSTANCE( InputSequenceChecker_th ) |
| IMPL_CREATEINSTANCE( InputSequenceChecker_hi ) |
| |
| IMPL_CREATEINSTANCE_MSF( TextConversionImpl ) |
| IMPL_CREATEINSTANCE_MSF( TextConversion_ko ) |
| IMPL_CREATEINSTANCE_MSF( TextConversion_zh ) |
| |
| IMPL_CREATEINSTANCE( Transliteration_u2l ) |
| IMPL_CREATEINSTANCE( Transliteration_l2u ) |
| IMPL_CREATEINSTANCE( Transliteration_sentencecase ) |
| IMPL_CREATEINSTANCE( Transliteration_titlecase ) |
| IMPL_CREATEINSTANCE( Transliteration_togglecase ) |
| IMPL_CREATEINSTANCE( Transliteration_caseignore ) |
| IMPL_CREATEINSTANCE( hiraganaToKatakana ) |
| IMPL_CREATEINSTANCE( katakanaToHiragana ) |
| IMPL_CREATEINSTANCE( ignoreKana ) |
| IMPL_CREATEINSTANCE( fullwidthToHalfwidth ) |
| IMPL_CREATEINSTANCE( halfwidthToFullwidth ) |
| IMPL_CREATEINSTANCE( ignoreWidth ) |
| |
| IMPL_CREATEINSTANCE( smallToLarge_ja_JP) |
| IMPL_CREATEINSTANCE( largeToSmall_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreTraditionalKanji_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreTraditionalKana_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreMinusSign_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreIterationMark_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreSeparator_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreZiZu_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreBaFa_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreTiJi_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreHyuByu_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreSeZe_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreIandEfollowedByYa_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreKiKuFollowedBySa_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreSize_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreProlongedSoundMark_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreMiddleDot_ja_JP) |
| IMPL_CREATEINSTANCE( ignoreSpace_ja_JP) |
| |
| IMPL_CREATEINSTANCE( TextToChuyin_zh_TW ) |
| IMPL_CREATEINSTANCE( TextToPinyin_zh_CN ) |
| |
| IMPL_CREATEINSTANCE( NumToCharLower_zh_CN ) |
| IMPL_CREATEINSTANCE( NumToCharUpper_zh_CN ) |
| IMPL_CREATEINSTANCE( NumToCharLower_zh_TW ) |
| IMPL_CREATEINSTANCE( NumToCharUpper_zh_TW ) |
| IMPL_CREATEINSTANCE( NumToCharHalfwidth ) |
| IMPL_CREATEINSTANCE( NumToCharFullwidth ) |
| IMPL_CREATEINSTANCE( NumToCharKanjiShort_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToCharKanjiTraditional_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToCharHangul_ko ) |
| IMPL_CREATEINSTANCE( NumToCharLower_ko ) |
| IMPL_CREATEINSTANCE( NumToCharUpper_ko ) |
| IMPL_CREATEINSTANCE( NumToCharIndic_ar ) |
| IMPL_CREATEINSTANCE( NumToCharEastIndic_ar ) |
| IMPL_CREATEINSTANCE( NumToCharIndic_hi ) |
| IMPL_CREATEINSTANCE( NumToChar_th ) |
| |
| IMPL_CREATEINSTANCE( CharToNumLower_zh_CN ) |
| IMPL_CREATEINSTANCE( CharToNumUpper_zh_CN ) |
| IMPL_CREATEINSTANCE( CharToNumLower_zh_TW ) |
| IMPL_CREATEINSTANCE( CharToNumUpper_zh_TW ) |
| IMPL_CREATEINSTANCE( CharToNumFullwidth ) |
| IMPL_CREATEINSTANCE( CharToNumKanjiShort_ja_JP ) |
| IMPL_CREATEINSTANCE( CharToNumKanjiTraditional_ja_JP ) |
| IMPL_CREATEINSTANCE( CharToNumHangul_ko ) |
| IMPL_CREATEINSTANCE( CharToNumLower_ko ) |
| IMPL_CREATEINSTANCE( CharToNumUpper_ko ) |
| IMPL_CREATEINSTANCE( CharToNumIndic_ar ) |
| IMPL_CREATEINSTANCE( CharToNumEastIndic_ar ) |
| IMPL_CREATEINSTANCE( CharToNumIndic_hi ) |
| IMPL_CREATEINSTANCE( CharToNum_th ) |
| |
| IMPL_CREATEINSTANCE( NumToTextLower_zh_CN ) |
| IMPL_CREATEINSTANCE( NumToTextUpper_zh_CN ) |
| IMPL_CREATEINSTANCE( NumToTextLower_zh_TW ) |
| IMPL_CREATEINSTANCE( NumToTextUpper_zh_TW ) |
| IMPL_CREATEINSTANCE( NumToTextFullwidth_zh_CN ) |
| IMPL_CREATEINSTANCE( NumToTextFullwidth_zh_TW ) |
| IMPL_CREATEINSTANCE( NumToTextFullwidth_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextFullwidth_ko ) |
| IMPL_CREATEINSTANCE( NumToTextKanjiLongModern_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextKanjiLongTraditional_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextKanjiShortModern_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextKanjiShortTraditional_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextFormalHangul_ko ) |
| IMPL_CREATEINSTANCE( NumToTextFormalLower_ko ) |
| IMPL_CREATEINSTANCE( NumToTextFormalUpper_ko ) |
| IMPL_CREATEINSTANCE( NumToTextInformalHangul_ko ) |
| IMPL_CREATEINSTANCE( NumToTextInformalUpper_ko ) |
| IMPL_CREATEINSTANCE( NumToTextInformalLower_ko ) |
| |
| IMPL_CREATEINSTANCE( TextToNumLower_zh_CN ) |
| IMPL_CREATEINSTANCE( TextToNumUpper_zh_CN ) |
| IMPL_CREATEINSTANCE( TextToNumLower_zh_TW ) |
| IMPL_CREATEINSTANCE( TextToNumUpper_zh_TW ) |
| IMPL_CREATEINSTANCE( TextToNumKanjiLongModern_ja_JP ) |
| IMPL_CREATEINSTANCE( TextToNumKanjiLongTraditional_ja_JP ) |
| IMPL_CREATEINSTANCE( TextToNumFormalHangul_ko ) |
| IMPL_CREATEINSTANCE( TextToNumFormalLower_ko ) |
| IMPL_CREATEINSTANCE( TextToNumFormalUpper_ko ) |
| IMPL_CREATEINSTANCE( TextToNumInformalHangul_ko ) |
| IMPL_CREATEINSTANCE( TextToNumInformalUpper_ko ) |
| IMPL_CREATEINSTANCE( TextToNumInformalLower_ko ) |
| |
| IMPL_CREATEINSTANCE( NumToTextDate_zh ) |
| IMPL_CREATEINSTANCE( NumToTextAIUFullWidth_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextAIUHalfWidth_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextIROHAFullWidth_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextIROHAHalfWidth_ja_JP ) |
| IMPL_CREATEINSTANCE( NumToTextCircledNumber ) |
| IMPL_CREATEINSTANCE( NumToTextHangulJamo_ko ) |
| IMPL_CREATEINSTANCE( NumToTextHangulSyllable_ko ) |
| IMPL_CREATEINSTANCE( NumToTextHangulCircledJamo_ko ) |
| IMPL_CREATEINSTANCE( NumToTextHangulCircledSyllable_ko ) |
| IMPL_CREATEINSTANCE( NumToTextTianGan_zh ) |
| IMPL_CREATEINSTANCE( NumToTextDiZi_zh ) |
| |
| IMPL_CREATEINSTANCE( fullwidthKatakanaToHalfwidthKatakana ) |
| IMPL_CREATEINSTANCE( halfwidthKatakanaToFullwidthKatakana ) |
| IMPL_CREATEINSTANCE( fullwidthToHalfwidthLikeASC ) |
| IMPL_CREATEINSTANCE( halfwidthToFullwidthLikeJIS ) |
| |
| IMPL_CREATEINSTANCE_MSF( OrdinalSuffix ) |
| |
| static const struct InstancesArray { |
| const sal_Char* pServiceNm; |
| const sal_Char* pImplementationNm; |
| FN_CreateInstance pFn; |
| } aInstances[] = { |
| { "com.sun.star.i18n.LocaleData", |
| "com.sun.star.i18n.LocaleData", |
| & LocaleData_CreateInstance }, |
| { "com.sun.star.i18n.NumberFormatMapper", |
| "com.sun.star.i18n.NumberFormatCodeMapper", |
| & NumberFormatCodeMapper_CreateInstance }, |
| { "com.sun.star.i18n.NativeNumberSupplier", |
| "com.sun.star.i18n.NativeNumberSupplier", |
| & NativeNumberSupplier_CreateInstance }, |
| { "com.sun.star.text.DefaultNumberingProvider", |
| "com.sun.star.text.DefaultNumberingProvider", |
| &DefaultNumberingProvider_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier", |
| "com.sun.star.i18n.IndexEntrySupplier", |
| &IndexEntrySupplier_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_asian", |
| "com.sun.star.i18n.IndexEntrySupplier_asian", |
| &IndexEntrySupplier_asian_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first)", |
| "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first)", |
| &IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last)", |
| "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last)", |
| &IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by syllable)", |
| "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by syllable)", |
| &IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by consonant)", |
| "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric first) (grouped by consonant)", |
| &IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by syllable)", |
| "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by syllable)", |
| &IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by consonant)", |
| "com.sun.star.i18n.IndexEntrySupplier_ja_phonetic (alphanumeric last) (grouped by consonant)", |
| &IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_consonant_CreateInstance }, |
| { "com.sun.star.i18n.IndexEntrySupplier_Unicode", |
| "com.sun.star.i18n.IndexEntrySupplier_Unicode", |
| &IndexEntrySupplier_Unicode_CreateInstance }, |
| { "com.sun.star.i18n.LocaleCalendar", |
| "com.sun.star.i18n.CalendarImpl", |
| &CalendarImpl_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_gregorian", |
| "com.sun.star.i18n.Calendar_gregorian", |
| &Calendar_gregorian_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_gengou", |
| "com.sun.star.i18n.Calendar_gengou", |
| &Calendar_gengou_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_ROC", |
| "com.sun.star.i18n.Calendar_ROC", |
| &Calendar_ROC_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_hanja_yoil", |
| "com.sun.star.i18n.Calendar_hanja_yoil", |
| &Calendar_hanja_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_hanja", |
| "com.sun.star.i18n.Calendar_hanja", |
| &Calendar_hanja_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_hijri", |
| "com.sun.star.i18n.Calendar_hijri", |
| &Calendar_hijri_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_jewish", |
| "com.sun.star.i18n.Calendar_jewish", |
| &Calendar_jewish_CreateInstance }, |
| { "com.sun.star.i18n.Calendar_buddhist", |
| "com.sun.star.i18n.Calendar_buddhist", |
| &Calendar_buddhist_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator", |
| "com.sun.star.i18n.BreakIterator", |
| &BreakIteratorImpl_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator_Unicode", |
| "com.sun.star.i18n.BreakIterator_Unicode", |
| &BreakIterator_Unicode_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator_ja", |
| "com.sun.star.i18n.BreakIterator_ja", |
| &BreakIterator_ja_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator_zh", |
| "com.sun.star.i18n.BreakIterator_zh", |
| &BreakIterator_zh_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator_zh_TW", |
| "com.sun.star.i18n.BreakIterator_zh_TW", |
| &BreakIterator_zh_TW_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator_ko", |
| "com.sun.star.i18n.BreakIterator_ko", |
| &BreakIterator_ko_CreateInstance }, |
| { "com.sun.star.i18n.BreakIterator_th", |
| "com.sun.star.i18n.BreakIterator_th", |
| &BreakIterator_th_CreateInstance }, |
| { "com.sun.star.i18n.Collator", |
| "com.sun.star.i18n.Collator", |
| &CollatorImpl_CreateInstance }, |
| { "com.sun.star.i18n.ChapterCollator", |
| "com.sun.star.i18n.ChapterCollator", |
| &ChapterCollator_CreateInstance }, |
| { "com.sun.star.i18n.Collator_Unicode", |
| "com.sun.star.i18n.Collator_Unicode", |
| &Collator_Unicode_CreateInstance }, |
| { "com.sun.star.i18n.ScriptTypeDetector", |
| "com.sun.star.i18n.ScriptTypeDetector", |
| &ScriptTypeDetector_CreateInstance }, |
| { "com.sun.star.i18n.CharacterClassification", |
| "com.sun.star.i18n.CharacterClassification", |
| &CharacterClassificationImpl_CreateInstance }, |
| { "com.sun.star.i18n.CharacterClassification_Unicode", |
| "com.sun.star.i18n.CharacterClassification_Unicode", |
| &cclass_Unicode_CreateInstance }, |
| { "com.sun.star.i18n.InputSequenceChecker", |
| "com.sun.star.i18n.InputSequenceChecker", |
| &InputSequenceCheckerImpl_CreateInstance }, |
| { "com.sun.star.i18n.InputSequenceChecker_th", |
| "com.sun.star.i18n.InputSequenceChecker_th", |
| &InputSequenceChecker_th_CreateInstance }, |
| { "com.sun.star.i18n.InputSequenceChecker_hi", |
| "com.sun.star.i18n.InputSequenceChecker_hi", |
| &InputSequenceChecker_hi_CreateInstance }, |
| { "com.sun.star.i18n.TextConversion", |
| "com.sun.star.i18n.TextConversion", |
| &TextConversionImpl_CreateInstance }, |
| { "com.sun.star.i18n.TextConversion_ko", |
| "com.sun.star.i18n.TextConversion_ko", |
| &TextConversion_ko_CreateInstance }, |
| { "com.sun.star.i18n.TextConversion_zh", |
| "com.sun.star.i18n.TextConversion_zh", |
| &TextConversion_zh_CreateInstance }, |
| { TRLT_SERVICELNAME, |
| TRLT_IMPLNAME , |
| &TransliterationImpl_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "UPPERCASE_LOWERCASE", |
| &Transliteration_u2l_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "LOWERCASE_UPPERCASE", |
| &Transliteration_l2u_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "SENTENCE_CASE", |
| &Transliteration_sentencecase_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "TITLE_CASE", |
| &Transliteration_titlecase_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "TOGGLE_CASE", |
| &Transliteration_togglecase_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "IGNORE_CASE", |
| &Transliteration_caseignore_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "HIRAGANA_KATAKANA", |
| &hiraganaToKatakana_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "KATAKANA_HIRAGANA", |
| &katakanaToHiragana_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "IGNORE_KANA", |
| &ignoreKana_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "FULLWIDTH_HALFWIDTH", |
| &fullwidthToHalfwidth_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "HALFWIDTH_FULLWIDTH", |
| &halfwidthToFullwidth_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "IGNORE_WIDTH", |
| &ignoreWidth_CreateInstance }, |
| IMPL_TRANSLITERATION_ITEM (smallToLarge_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (largeToSmall_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreTraditionalKanji_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreTraditionalKana_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreKana), |
| IMPL_TRANSLITERATION_ITEM (ignoreMinusSign_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreIterationMark_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreSeparator_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreZiZu_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreBaFa_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreTiJi_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreHyuByu_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreSeZe_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreIandEfollowedByYa_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreKiKuFollowedBySa_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreSize_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreProlongedSoundMark_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreMiddleDot_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (ignoreSpace_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (TextToPinyin_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (TextToChuyin_zh_TW), |
| |
| IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (NumToCharHalfwidth), |
| IMPL_TRANSLITERATION_ITEM (NumToCharFullwidth), |
| IMPL_TRANSLITERATION_ITEM (NumToCharKanjiShort_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToCharKanjiTraditional_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToCharLower_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToCharUpper_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToCharHangul_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToCharIndic_ar), |
| IMPL_TRANSLITERATION_ITEM (NumToCharEastIndic_ar), |
| IMPL_TRANSLITERATION_ITEM (NumToCharIndic_hi), |
| IMPL_TRANSLITERATION_ITEM (NumToChar_th), |
| |
| IMPL_TRANSLITERATION_ITEM (CharToNumUpper_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (CharToNumLower_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (CharToNumUpper_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (CharToNumLower_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (CharToNumFullwidth), |
| IMPL_TRANSLITERATION_ITEM (CharToNumKanjiShort_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (CharToNumKanjiTraditional_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (CharToNumLower_ko), |
| IMPL_TRANSLITERATION_ITEM (CharToNumUpper_ko), |
| IMPL_TRANSLITERATION_ITEM (CharToNumHangul_ko), |
| IMPL_TRANSLITERATION_ITEM (CharToNumIndic_ar), |
| IMPL_TRANSLITERATION_ITEM (CharToNumEastIndic_ar), |
| IMPL_TRANSLITERATION_ITEM (CharToNumIndic_hi), |
| IMPL_TRANSLITERATION_ITEM (CharToNum_th), |
| |
| IMPL_TRANSLITERATION_ITEM (NumToTextUpper_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (NumToTextLower_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (NumToTextUpper_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (NumToTextLower_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFullwidth_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongModern_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongTraditional_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortModern_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortTraditional_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextInformalHangul_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextInformalLower_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextInformalUpper_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFormalHangul_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFormalLower_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextFormalUpper_ko), |
| |
| IMPL_TRANSLITERATION_ITEM (TextToNumUpper_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (TextToNumLower_zh_CN), |
| IMPL_TRANSLITERATION_ITEM (TextToNumUpper_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (TextToNumLower_zh_TW), |
| IMPL_TRANSLITERATION_ITEM (TextToNumKanjiLongModern_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (TextToNumKanjiLongTraditional_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (TextToNumInformalHangul_ko), |
| IMPL_TRANSLITERATION_ITEM (TextToNumInformalLower_ko), |
| IMPL_TRANSLITERATION_ITEM (TextToNumInformalUpper_ko), |
| IMPL_TRANSLITERATION_ITEM (TextToNumFormalHangul_ko), |
| IMPL_TRANSLITERATION_ITEM (TextToNumFormalLower_ko), |
| IMPL_TRANSLITERATION_ITEM (TextToNumFormalUpper_ko), |
| |
| IMPL_TRANSLITERATION_ITEM (NumToTextDate_zh), |
| IMPL_TRANSLITERATION_ITEM (NumToTextAIUFullWidth_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextAIUHalfWidth_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextIROHAFullWidth_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextIROHAHalfWidth_ja_JP), |
| IMPL_TRANSLITERATION_ITEM (NumToTextCircledNumber), |
| IMPL_TRANSLITERATION_ITEM (NumToTextHangulJamo_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextHangulSyllable_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextHangulCircledJamo_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextHangulCircledSyllable_ko), |
| IMPL_TRANSLITERATION_ITEM (NumToTextTianGan_zh), |
| IMPL_TRANSLITERATION_ITEM (NumToTextDiZi_zh), |
| |
| { "com.sun.star.i18n.OrdinalSuffix", |
| "com.sun.star.i18n.OrdinalSuffix", |
| & OrdinalSuffix_CreateInstance }, |
| |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "FULLWIDTHKATAKANA_HALFWIDTHKATAKANA", |
| &fullwidthKatakanaToHalfwidthKatakana_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "HALFWIDTHKATAKANA_FULLWIDTHKATAKANA", |
| &halfwidthKatakanaToFullwidthKatakana_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "FULLWIDTH_HALFWIDTH_LIKE_ASC", |
| &fullwidthToHalfwidthLikeASC_CreateInstance }, |
| { TRLT_SERVICELNAME_L10N, |
| TRLT_IMPLNAME_PREFIX "HALFWIDTH_FULLWIDTH_LIKE_JIS", |
| &halfwidthToFullwidthLikeJIS_CreateInstance }, |
| // add here new services !! |
| { 0, 0, 0 } |
| }; |
| |
| |
| extern "C" |
| { |
| |
| void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvTypeName, uno_Environment** /*ppEnv*/ ) |
| { |
| *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; |
| } |
| |
| void* SAL_CALL component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* /*_pRegistryKey*/ ) |
| { |
| void* pRet = NULL; |
| |
| ::com::sun::star::lang::XMultiServiceFactory* pServiceManager = |
| reinterpret_cast< ::com::sun::star::lang::XMultiServiceFactory* > |
| ( _pServiceManager ); |
| ::com::sun::star::uno::Reference< |
| ::com::sun::star::lang::XSingleServiceFactory > xFactory; |
| |
| for( const InstancesArray* pArr = aInstances; pArr->pServiceNm; ++pArr ) |
| { |
| if( 0 == rtl_str_compare( sImplementationName, pArr->pImplementationNm ) ) |
| { |
| ::com::sun::star::uno::Sequence< ::rtl::OUString > aServiceNames(1); |
| aServiceNames.getArray()[0] = |
| ::rtl::OUString::createFromAscii( pArr->pServiceNm ); |
| xFactory = ::cppu::createSingleFactory( |
| pServiceManager, aServiceNames.getArray()[0], |
| *pArr->pFn, aServiceNames ); |
| break; |
| } |
| } |
| |
| if ( xFactory.is() ) |
| { |
| xFactory->acquire(); |
| pRet = xFactory.get(); |
| } |
| |
| return pRet; |
| } |
| |
| } // "C" |