LibreOffice
LibreOffice 24.2 SDK API Reference
|
Character conversions like case folding or Hiragana to Katakana. More...
import"XTransliteration.idl";
Public Member Functions | |
string | getName () |
Unique ASCII name to identify a module. More... | |
short | getType () |
Return the attribute(s) associated with this transliteration object, as defined in TransliterationType. More... | |
void | loadModule ([in] TransliterationModules eModType, [in] ::com::sun::star::lang::Locale aLocale) |
Load instance of predefined module - old style method. More... | |
void | loadModuleNew ([in] sequence< TransliterationModulesNew > aModType, [in] ::com::sun::star::lang::Locale aLocale) |
Load a sequence of instances of predefined modules - supersedes method XTransliteration::loadModule(). More... | |
void | loadModuleByImplName ([in] string aImplName, [in] ::com::sun::star::lang::Locale aLocale) |
Load instance of UNO registered module. More... | |
void | loadModulesByImplNames ([in] sequence< string > aImplNameList, [in] ::com::sun::star::lang::Locale aLocale) |
Load a sequence of instances of transliteration modules. More... | |
sequence< string > | getAvailableModules ([in] ::com::sun::star::lang::Locale aLocale, [in] short nType) |
List the available transliteration modules for a given locale. More... | |
string | transliterate ([in] string aInStr, [in] long nStartPos, [in] long nCount, [out] sequence< long > rOffset) |
Transliterate a substring. More... | |
string | folding ([in] string aInStr, [in] long nStartPos, [in] long nCount, [out] sequence< long > rOffset) |
boolean | equals ([in] string aStr1, [in] long nPos1, [in] long nCount1, [out] long rMatch1, [in] string aStr2, [in] long nPos2, [in] long nCount2, [out] long rMatch2) |
Match two substrings and find if they are equivalent as per this transliteration. More... | |
sequence< string > | transliterateRange ([in] string aStr1, [in] string aStr2) |
Transliterate one set of characters to another. More... | |
long | compareSubstring ([in] string aStr1, [in] long nOff1, [in] long nLen1, [in] string aStr2, [in] long nOff2, [in] long nLen2) |
Compare 2 substrings as per this transliteration. More... | |
long | compareString ([in] string aStr1, [in] string aStr2) |
Compare 2 strings as per this transliteration. More... | |
Public Member Functions inherited from XInterface | |
any | queryInterface ([in] type aType) |
queries for a new interface to an existing UNO object. More... | |
void | acquire () |
increases the reference counter by one. More... | |
void | release () |
decreases the reference counter by one. More... | |
Character conversions like case folding or Hiragana to Katakana.
Transliteration is a character to character conversion but it is not always a one to one mapping between characters. Transliteration modules are primarily used by collation, and search and replace modules to perform approximate search. It can also be used to format the numbers in different numbering systems.
In order to select transliteration modules for different purposes, they are classified with attributes of TransliterationType.
For Western languages there would be three transliteration modules available to compare two mixed case strings: upper to lower, lower to upper, and ignore case.
A typical calling sequence of transliteration is
or another one is
long compareString | ( | [in] string | aStr1, |
[in] string | aStr2 | ||
) |
Compare 2 strings as per this transliteration.
It translates both strings before comparing them.
long compareSubstring | ( | [in] string | aStr1, |
[in] long | nOff1, | ||
[in] long | nLen1, | ||
[in] string | aStr2, | ||
[in] long | nOff2, | ||
[in] long | nLen2 | ||
) |
Compare 2 substrings as per this transliteration.
It translates both substrings before comparing them.
aStr1 | First string. |
nOff1 | Offset (from 0) of the first substring. |
nLen1 | Length (from offset) of the first substring. |
aStr2 | Second string. |
nOff2 | Offset (from 0) of the second substring. |
nLen2 | Length (from offset) of the second substring. |
boolean equals | ( | [in] string | aStr1, |
[in] long | nPos1, | ||
[in] long | nCount1, | ||
[out] long | rMatch1, | ||
[in] string | aStr2, | ||
[in] long | nPos2, | ||
[in] long | nCount2, | ||
[out] long | rMatch2 | ||
) |
Match two substrings and find if they are equivalent as per this transliteration.
This method can be called if the object has TransliterationType IGNORE attribute.
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
aStr1 | First string to match. |
nPos1 | Start position within aStr1. |
nCount1 | Number of code points to use of aStr1. |
rMatch1 | Returns number of matched code points in aStr1. |
aStr2 | Second string to match. |
nPos2 | Start position within aStr2. |
nCount2 | Number of code points to use of aStr2. |
rMatch2 | Returns number of matched code points in aStr2. |
TRUE
if the substrings are equal per this transliteration FALSE
else. string folding | ( | [in] string | aInStr, |
[in] long | nStartPos, | ||
[in] long | nCount, | ||
[out] sequence< long > | rOffset | ||
) |
sequence<string> getAvailableModules | ( | [in] ::com::sun::star::lang::Locale | aLocale, |
[in] short | nType | ||
) |
List the available transliteration modules for a given locale.
It can be filtered based on its type.
nType | A bitmask field of values defined in TransliterationType |
aLocale | The locale for which the modules are requested. |
string getName | ( | ) |
Unique ASCII name to identify a module.
This name is used to get its localized name for menus, dialogs etc. The behavior is undefined for TransliterationType::CASCADE modules.
short getType | ( | ) |
Return the attribute(s) associated with this transliteration object, as defined in TransliterationType.
The value is determined by the transliteration modules. For example, for UPPERCASE_LOWERCASE, a ONE_TO_ONE is returned, for IGNORE_CASE, IGNORE is returned.
void loadModule | ( | [in] TransliterationModules | eModType, |
[in] ::com::sun::star::lang::Locale | aLocale | ||
) |
Load instance of predefined module - old style method.
void loadModuleByImplName | ( | [in] string | aImplName, |
[in] ::com::sun::star::lang::Locale | aLocale | ||
) |
Load instance of UNO registered module.
Each transliteration module is registered under a different service name. The convention for the service name is com.sun.star.i18n.Transliteration.l10n.{implName}. The {implName} is a unique name used to identify a module. The implName is used to get a localized name for the transliteration module. The implName is used in locale data to list the available transliteration modules for the locale. There are some transliteration modules that are always available. The names of those modules are listed as enum TransliterationModules names. For modules not listed there it is possible to load them directly by their implName.
aImplName | The module's {implName} under which it is registered with com.sun.star.i18n.Transliteration.l10n.{implName}. |
aLocale | The locale for which the module is requested. |
void loadModuleNew | ( | [in] sequence< TransliterationModulesNew > | aModType, |
[in] ::com::sun::star::lang::Locale | aLocale | ||
) |
Load a sequence of instances of predefined modules - supersedes method XTransliteration::loadModule().
void loadModulesByImplNames | ( | [in] sequence< string > | aImplNameList, |
[in] ::com::sun::star::lang::Locale | aLocale | ||
) |
Load a sequence of instances of transliteration modules.
Output of one module is fed as input to the next module in the sequence. The object created by this call has TransliterationType CASCADE and IGNORE types.
aImplNameList | Only IGNORE type modules can be specified. |
aLocale | The locale for which the modules are requested. |
string transliterate | ( | [in] string | aInStr, |
[in] long | nStartPos, | ||
[in] long | nCount, | ||
[out] sequence< long > | rOffset | ||
) |
Transliterate a substring.
This method can be called if the object doesn't have TransliterationType IGNORE attribute.
aInStr | The input string. |
nStartPos | Start position within aInStr from where transliteration starts. |
nCount | Number of code points to be transliterated. |
rOffset | To find the grapheme of input string corresponding to the grapheme of output string, rOffset provides the offset array whose index is the offset of output string, the element containing the position within the input string before transliteration. |
sequence<string> transliterateRange | ( | [in] string | aStr1, |
[in] string | aStr2 | ||
) |
Transliterate one set of characters to another.
This method is intended for getting corresponding ranges and can be called if the object has TransliterationType IGNORE attribute.
For example: generic CASE_IGNORE transliterateRange( "a", "i" ) returns {"A","I","a","i"}, transliterateRange( "a", "a" ) returns {"A","A","a","a"}.
Use this transliteration to create regular expressions like [a-i] –> [A-Ia-i].