LibreOffice Module unotools (master) 1
|
#include <transliterationwrapper.hxx>
Public Member Functions | |
TransliterationWrapper (const css::uno::Reference< css::uno::XComponentContext > &rxContext, TransliterationFlags nType) | |
~TransliterationWrapper () | |
TransliterationFlags | getType () const |
bool | needLanguageForTheMode () const |
void | loadModuleIfNeeded (LanguageType nLang) |
set a new language and load the corresponding transliteration module if needed for the mode set with nType in the ctor More... | |
void | loadModuleByImplName (const OUString &rModuleName, LanguageType nLang) |
Load the transliteration module specified by rModuleName, which has to be the UNO service implementation name that is expanded to the full UNO service implementation name, for example, "NumToCharKanjiShort_ja_JP" expands to "com.sun.star.i18n.Transliteration.NumToCharKanjiShort_ja_JP". More... | |
OUString | transliterate (const OUString &rStr, sal_Int32 nStart, sal_Int32 nLen) const |
This transliteration method corresponds with the loadModuleByImplName() method. More... | |
OUString | transliterate (const OUString &rStr, LanguageType nLanguage, sal_Int32 nStart, sal_Int32 nLen, css::uno::Sequence< sal_Int32 > *pOffset) |
bool | equals (const OUString &rStr1, sal_Int32 nPos1, sal_Int32 nCount1, sal_Int32 &nMatch1, const OUString &rStr2, sal_Int32 nPos2, sal_Int32 nCount2, sal_Int32 &nMatch2) const |
If two strings are equal per this transliteration. More... | |
sal_Int32 | compareString (const OUString &rStr1, const OUString &rStr2) const |
bool | isEqual (const OUString &rStr1, const OUString &rStr2) const |
If two strings are really equal as per this translation, and not just one string is matching the start of the other. More... | |
bool | isMatch (const OUString &rStr1, const OUString &rStr2) const |
If string rStr1 matches the start of string rStr2, i.e. More... | |
Private Member Functions | |
TransliterationWrapper (const TransliterationWrapper &)=delete | |
TransliterationWrapper & | operator= (const TransliterationWrapper &)=delete |
void | loadModuleImpl () const |
void | setLanguageLocaleImpl (LanguageType nLang) |
Private Attributes | |
css::uno::Reference< css::i18n::XExtendedTransliteration > | xTrans |
LanguageTag | aLanguageTag |
TransliterationFlags | nType |
bool | bFirstCall |
Definition at line 37 of file transliterationwrapper.hxx.
|
privatedelete |
utl::TransliterationWrapper::TransliterationWrapper | ( | const css::uno::Reference< css::uno::XComponentContext > & | rxContext, |
TransliterationFlags | nType | ||
) |
TransliterationWrapper::~TransliterationWrapper | ( | ) |
Definition at line 42 of file transliterationwrapper.cxx.
sal_Int32 TransliterationWrapper::compareString | ( | const OUString & | rStr1, |
const OUString & | rStr2 | ||
) | const |
Definition at line 195 of file transliterationwrapper.cxx.
References Exception, and TOOLS_WARN_EXCEPTION.
bool TransliterationWrapper::equals | ( | const OUString & | rStr1, |
sal_Int32 | nPos1, | ||
sal_Int32 | nCount1, | ||
sal_Int32 & | nMatch1, | ||
const OUString & | rStr2, | ||
sal_Int32 | nPos2, | ||
sal_Int32 | nCount2, | ||
sal_Int32 & | nMatch2 | ||
) | const |
If two strings are equal per this transliteration.
Returns the number of matched code points in any case, even if strings are not equal, for example: equals( "a", 0, 1, nMatch1, "aaa", 0, 3, nMatch2 ) returns false and nMatch:=1 and nMatch2:=1 equals( "aab", 0, 3, nMatch1, "aaa", 0, 3, nMatch2 ) returns false and nMatch:=2 and nMatch2:=2
Definition at line 177 of file transliterationwrapper.cxx.
References Exception, and TOOLS_WARN_EXCEPTION.
|
inline |
Definition at line 56 of file transliterationwrapper.hxx.
References nType.
bool TransliterationWrapper::isEqual | ( | const OUString & | rStr1, |
const OUString & | rStr2 | ||
) | const |
If two strings are really equal as per this translation, and not just one string is matching the start of the other.
Use this method instead of compareString()==0 because it is much faster.
Definition at line 213 of file transliterationwrapper.cxx.
bool TransliterationWrapper::isMatch | ( | const OUString & | rStr1, |
const OUString & | rStr2 | ||
) | const |
If string rStr1 matches the start of string rStr2, i.e.
"a" in "aaa"
Definition at line 222 of file transliterationwrapper.cxx.
void TransliterationWrapper::loadModuleByImplName | ( | const OUString & | rModuleName, |
LanguageType | nLang | ||
) |
Load the transliteration module specified by rModuleName, which has to be the UNO service implementation name that is expanded to the full UNO service implementation name, for example, "NumToCharKanjiShort_ja_JP" expands to "com.sun.star.i18n.Transliteration.NumToCharKanjiShort_ja_JP".
@ATTENTION! This method ignores the mode type set with the constructor and interferes with the loadModuleIfNeeded() method and the transliterate() method that gets a LanguageType passed as parameter. Using one of those may load a different module and overwrite this setting. Only the transliterate() method that takes no LanguageType parameter may be used for a specific module loaded with this method.
Definition at line 156 of file transliterationwrapper.cxx.
References Exception, LANGUAGE_DONTKNOW, and TOOLS_WARN_EXCEPTION.
void TransliterationWrapper::loadModuleIfNeeded | ( | LanguageType | nLang | ) |
set a new language and load the corresponding transliteration module if needed for the mode set with nType in the ctor
Definition at line 105 of file transliterationwrapper.cxx.
References nType.
|
private |
Definition at line 138 of file transliterationwrapper.cxx.
References Exception, LANGUAGE_SYSTEM, nType, and TOOLS_WARN_EXCEPTION.
bool TransliterationWrapper::needLanguageForTheMode | ( | ) | const |
Definition at line 88 of file transliterationwrapper.cxx.
References nType.
|
privatedelete |
|
private |
Definition at line 98 of file transliterationwrapper.cxx.
References LANGUAGE_NONE, and LANGUAGE_SYSTEM.
OUString utl::TransliterationWrapper::transliterate | ( | const OUString & | rStr, |
LanguageType | nLanguage, | ||
sal_Int32 | nStart, | ||
sal_Int32 | nLen, | ||
css::uno::Sequence< sal_Int32 > * | pOffset | ||
) |
OUString TransliterationWrapper::transliterate | ( | const OUString & | rStr, |
sal_Int32 | nStart, | ||
sal_Int32 | nLen | ||
) | const |
This transliteration method corresponds with the loadModuleByImplName() method.
It relies on a module being loaded and does not try load one. If for any reason the string can't be transliterated the original string is returned.
Definition at line 70 of file transliterationwrapper.cxx.
References Exception, and TOOLS_WARN_EXCEPTION.
|
private |
Definition at line 40 of file transliterationwrapper.hxx.
|
mutableprivate |
Definition at line 42 of file transliterationwrapper.hxx.
|
private |
Definition at line 41 of file transliterationwrapper.hxx.
|
private |
Definition at line 39 of file transliterationwrapper.hxx.