1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_i18n_TransliterationType_idl__
24#define __com_sun_star_i18n_TransliterationType_idl__
25
26//=============================================================================
27
28module com {  module sun {  module star {  module i18n {
29
30//=============================================================================
31
32/**
33    Bitmask transliteration types used with
34    <member>XTransliteration::getType()</member> and
35    <member>XTransliteration::getAvailableModules()</member> methods.
36
37    <p> Non-IGNORE type modules provide
38    <member>XTransliteration::transliterate()</member>. <br/>
39    IGNORE type modules provide
40    <member>XTransliteration::equals()</member> and
41    <member>XTransliteration::transliterateRange()</member>. </p>
42 */
43
44published constants TransliterationType
45{
46    const short NONE               = 0;
47
48    /** A transliteration module is ONE_TO_ONE if and only if it's
49        mapping between characters is one to one like a-z to A-Z.
50        Transliteration modules of this type can be used as choice in
51        regular expressions based search/replace. */
52    const short ONE_TO_ONE         = 1;
53
54    /** A transliteration module can have attribute NUMERIC if it
55        tranliterates numbers in different languages like chinese
56        numbers to arabic numbers and vice versa. This mapping need not
57        be one to one, it should be primarily used by number formatting
58        and parsing methods. */
59    const short NUMERIC            = 2;
60
61    /** A transliteration module is ONE_TO_ONE_NUMERIC if it offers
62        both one to one mapping and handles number also. */
63    const short ONE_TO_ONE_NUMERIC = 3;
64
65    /** With a transliterator IGNORE case, the regular
66        expression A-Z can be transformed to a-z, for example. */
67    const short IGNORE             = 4;
68
69    /** If the transliteration is cascaded (uses more than one
70        algorithm). */
71    const short CASCADE            = 8;
72};
73
74//=============================================================================
75}; }; }; };
76
77#endif
78