| /************************************************************** |
| * |
| * 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. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_i18n_XExtendedTransliteration_idl__ |
| #define __com_sun_star_i18n_XExtendedTransliteration_idl__ |
| |
| #include <com/sun/star/i18n/XTransliteration.idl> |
| #include <MultipleCharsOutputException.idl> |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module i18n { |
| |
| //============================================================================= |
| |
| |
| /** |
| This interface provides character conversions like case folding or |
| Hiragana to Katakana. |
| |
| <p> It is derived from |
| <type scope="::com::sun::star::i18n">XTransliteration</type> and provides |
| additional functionality for character to character and |
| string to string without offset parameter transliteration. These |
| should be used for performance reason if their full-blown |
| counterparts aren't neded. </p> |
| |
| @since OpenOffice 1.1.2 |
| */ |
| published interface XExtendedTransliteration : ::com::sun::star::i18n::XTransliteration |
| { |
| //------------------------------------------------------------------------ |
| /** Transliterate a substring. The functionality is the same as |
| <member scope="::com::sun::star::i18n">XTransliteration::transliterate()</member> |
| but omits the offset prameter to improve performance. |
| |
| @param aStr |
| The input string. |
| |
| @param nStartPos |
| Start position within aStr from where transliteration starts. |
| |
| @param nCount |
| Number of codepoints to be transliterated. |
| |
| */ |
| string transliterateString2String( [in] string aStr, |
| [in] long nStartPos, [in] long nCount ); |
| |
| |
| //------------------------------------------------------------------------ |
| /** Transliterate a character to a string. |
| |
| @param cChar |
| The input character. |
| */ |
| string transliterateChar2String( [in] char cChar ); |
| |
| //------------------------------------------------------------------------ |
| /** Transliterate a character to a character. |
| |
| <p> If the output contains multiple characters, for example when |
| transliterating German sharp 's' (the one that looks like a |
| Greek Beta) to upper case "SS", MultipleCharsOutputException |
| will be thrown, the caller must catch the exception and then |
| call |
| <method>XTransliteration::transliterateChar2String()</method> to |
| obtain the correct result. </p> |
| |
| @param cChar |
| The input character. |
| */ |
| char transliterateChar2Char( [in] char cChar ) |
| raises( MultipleCharsOutputException ); |
| |
| }; |
| |
| //============================================================================= |
| }; }; }; }; |
| |
| #endif |