LibreOffice
LibreOffice 24.2 SDK API Reference
XTransliteration.idl
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 
21 module com { module sun { module star { module i18n {
22 
23 
56 /* comment:
57  * 0.
58  * All the IGNORE-type functionalities (Range, equals) are based on mapping.
59  * except equals() method in IGNORE_CASE, which is based on Locale-independent
60  * case folding
61  * ( This second assumption is very complicated and may cause confusion of use)
62  *
63  * 1.
64  * We are assuming Upper to Lower mapping as one of transliteration.
65  * The mapping depends on Locale.
66  * Upper <-> Lower methods are just wrappers to provide equals() and Range()
67  *
68  * 2.
69  * equals() in IGNORE_CASE module is locale-independent and
70  * we don't provide locale-sensitive ones.
71  * The reason we provided locale-independent ones is that IGNORE_CASE is mainly
72  * dedicated to StarOffice internal code.
73  *
74  * 3.
75  * TransliterationModules is used just for convenience without calling
76  * getAvailableModule.
77  *
78  * 4.
79  * Implementation name in the methods below is not the same as
80  * the true implementation name registered.
81  * In particular, for generic modules:"UPPERCASE_LOWERCASE",
82  * "LOWERCASE_UPPERCASE", "IGNORE_CASE", there is no registered name.
83  */
84 
85 
87 {
88 
94  string getName();
95 
102  short getType();
103 
106  void loadModule( [in] TransliterationModules eModType,
107  [in] ::com::sun::star::lang::Locale aLocale );
108 
112  void loadModuleNew( [in] sequence <TransliterationModulesNew> aModType,
113  [in] ::com::sun::star::lang::Locale aLocale );
114 
136  void loadModuleByImplName( [in] string aImplName,
137  [in] ::com::sun::star::lang::Locale aLocale );
138 
149  void loadModulesByImplNames( [in] sequence <string> aImplNameList,
150  [in] ::com::sun::star::lang::Locale aLocale );
151 
161  sequence<string> getAvailableModules(
162  [in] ::com::sun::star::lang::Locale aLocale,
163  [in] short nType );
164 
165 
186  string transliterate( [in] string aInStr, [in] long nStartPos,
187  [in] long nCount, [out] sequence <long> rOffset );
188 
193  string folding( [in] string aInStr, [in] long nStartPos,
194  [in] long nCount, [out] sequence <long> rOffset );
195 
239  boolean equals( [in] string aStr1, [in] long nPos1, [in] long nCount1,
240  [out] long rMatch1,
241  [in] string aStr2, [in] long nPos2, [in] long nCount2,
242  [out] long rMatch2 );
243 
261  sequence <string> transliterateRange( [in] string aStr1, [in] string aStr2 );
262 
289  long compareSubstring( [in] string aStr1, [in] long nOff1, [in] long nLen1,
290  [in] string aStr2, [in] long nOff2, [in] long nLen2 );
291 
300  long compareString( [in] string aStr1, [in] string aStr2 );
301 
302 };
303 
304 }; }; }; };
305 
306 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition: Ambiguous.idl:20
object represents a specific geographical, political, or cultural region.
Definition: Locale.idl:33
Character conversions like case folding or Hiragana to Katakana.
Definition: XTransliteration.idl:86
TransliterationModules
Old transliteration module enumeration.
Definition: TransliterationModules.idl:32
base interface of all UNO interfaces
Definition: XInterface.idl:45