LibreOffice: XTransliteration Interface Reference

LibreOffice LibreOffice 24.2 SDK API Reference

Loading...
Searching...
No Matches
Public Member Functions | List of all members
XTransliteration Interface Reference

Character conversions like case folding or Hiragana to Katakana. More...

`import <XTransliteration.idl;`

Inheritance diagram for XTransliteration:

## Public Member Functions
string | getName ()
| Unique ASCII name to identify a module.
short | getType ()
| Return the attribute(s) associated with this transliteration object, as defined in TransliterationType.
void | loadModule ([in] TransliterationModules eModType, [in] ::com::sun::star::lang::Locale aLocale)
| Load instance of predefined module - old style method.
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 | loadModuleByImplName ([in] string aImplName, [in] ::com::sun::star::lang::Locale aLocale)
| Load instance of UNO registered module.
void | loadModulesByImplNames ([in] sequence< string > aImplNameList, [in] ::com::sun::star::lang::Locale aLocale)
| Load a sequence of instances of transliteration modules.
sequence< string > | getAvailableModules ([in] ::com::sun::star::lang::Locale aLocale, [in] short nType)
| List the available transliteration modules for a given locale.
string | transliterate ([in] string aInStr, [in] long nStartPos, [in] long nCount, [out] sequence< long > rOffset)
| Transliterate a substring.
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.
sequence< string > | transliterateRange ([in] string aStr1, [in] string aStr2)
| Transliterate one set of characters to another.
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.
long | compareString ([in] string aStr1, [in] string aStr2)
| Compare 2 strings as per this transliteration.
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object.
void | acquire ()
| increases the reference counter by one.
void | release ()
| decreases the reference counter by one.

## Detailed Description

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

1. getAvailableModules()
2. loadModulesByImplNames()
3. equals()

or another one is

1. loadModule()
2. transliterate()

Developers Guide
  Office Development - Overview and Using the API - XTransliteration

## Member Function Documentation

## ◆ compareString()

long compareString | ( | [in] string | aStr1,
|  | [in] string | aStr2 )

Compare 2 strings as per this transliteration.

It translates both strings before comparing them.

Returns
  1 if the first string is greater than the second string
  0 if the first string is equal to the second string
  -1 if the first string is less than the second string

## ◆ compareSubstring()

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.

Parameters

  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.

Returns
  1 if the first substring is greater than the second substring
  0 if the first substring is equal to the second substring
  -1 if the first substring is less than the second substring

## ◆ equals()

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

Parameters

  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.

Returns
  `TRUE` if the substrings are equal per this transliteration
  `FALSE` else.

## ◆ folding()

string folding | ( | [in] string | aInStr,
|  | [in] long | nStartPos,
|  | [in] long | nCount,
|  | [out] sequence< long > | rOffset )

Deprecated
  For internal use, this method is supported to get the "transliteration", which equals() is based on.

## ◆ getAvailableModules()

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.

Parameters

  nType | A bitmask field of values defined in TransliterationType
  aLocale | The locale for which the modules are requested.

## ◆ getName()

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.

## ◆ getType()

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.

## ◆ loadModule()

void loadModule | ( | [in] TransliterationModules | eModType,
|  | [in] ::com::sun::star::lang::Locale | aLocale )

Load instance of predefined module - old style method.

## ◆ loadModuleByImplName()

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.

Parameters

  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.

## ◆ loadModuleNew()

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().

## ◆ loadModulesByImplNames()

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.

Parameters

  aImplNameList | Only IGNORE type modules can be specified.
  aLocale | The locale for which the modules are requested.

## ◆ transliterate()

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.

Parameters

  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.

## ◆ transliterateRange()

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].

Returns
  String sequence containing corresponding transliterated pairs of characters to represent a range.

The documentation for this interface was generated from the following files:

- com/sun/star/i18n/XTransliteration.idl
- /build/libreoffice-fresh/src/libreoffice-24.2.4.2/odk/docs/idl/generated_idl_chapter_refs.idl