webengine/osswebengine/WebKit/icu/unicode/uscript.h
changeset 0 dd21522fd290
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     1 /*
       
     2 **********************************************************************
       
     3 *   Copyright (C) 1997-2004, International Business Machines
       
     4 *   Corporation and others.  All Rights Reserved.
       
     5 **********************************************************************
       
     6 *
       
     7 * File USCRIPT.H
       
     8 *
       
     9 * Modification History:
       
    10 *
       
    11 *   Date        Name        Description
       
    12 *   07/06/2001    Ram         Creation.
       
    13 ******************************************************************************
       
    14 */
       
    15 #ifndef USCRIPT_H
       
    16 #define USCRIPT_H
       
    17 #include "unicode/utypes.h"
       
    18 
       
    19 /**
       
    20  * Constants for Unicode script values from ScriptNames.txt .
       
    21  *
       
    22  * @stable ICU 2.2
       
    23  */
       
    24 typedef enum UScriptCode {
       
    25       USCRIPT_INVALID_CODE = -1,
       
    26       USCRIPT_COMMON       =  0 , /* Zyyy */
       
    27       USCRIPT_INHERITED    =  1,  /* Qaai */
       
    28       USCRIPT_ARABIC       =  2,  /* Arab */
       
    29       USCRIPT_ARMENIAN     =  3,  /* Armn */
       
    30       USCRIPT_BENGALI      =  4,  /* Beng */
       
    31       USCRIPT_BOPOMOFO     =  5,  /* Bopo */
       
    32       USCRIPT_CHEROKEE     =  6,  /* Cher */
       
    33       USCRIPT_COPTIC       =  7,  /* Copt */
       
    34       USCRIPT_CYRILLIC     =  8,  /* Cyrl (Cyrs) */
       
    35       USCRIPT_DESERET      =  9,  /* Dsrt */
       
    36       USCRIPT_DEVANAGARI   = 10,  /* Deva */
       
    37       USCRIPT_ETHIOPIC     = 11,  /* Ethi */
       
    38       USCRIPT_GEORGIAN     = 12,  /* Geor (Geon, Geoa) */
       
    39       USCRIPT_GOTHIC       = 13,  /* Goth */
       
    40       USCRIPT_GREEK        = 14,  /* Grek */
       
    41       USCRIPT_GUJARATI     = 15,  /* Gujr */
       
    42       USCRIPT_GURMUKHI     = 16,  /* Guru */
       
    43       USCRIPT_HAN          = 17,  /* Hani */
       
    44       USCRIPT_HANGUL       = 18,  /* Hang */
       
    45       USCRIPT_HEBREW       = 19,  /* Hebr */
       
    46       USCRIPT_HIRAGANA     = 20,  /* Hira */
       
    47       USCRIPT_KANNADA      = 21,  /* Knda */
       
    48       USCRIPT_KATAKANA     = 22,  /* Kana */
       
    49       USCRIPT_KHMER        = 23,  /* Khmr */
       
    50       USCRIPT_LAO          = 24,  /* Laoo */
       
    51       USCRIPT_LATIN        = 25,  /* Latn (Latf, Latg) */
       
    52       USCRIPT_MALAYALAM    = 26,  /* Mlym */
       
    53       USCRIPT_MONGOLIAN    = 27,  /* Mong */
       
    54       USCRIPT_MYANMAR      = 28,  /* Mymr */
       
    55       USCRIPT_OGHAM        = 29,  /* Ogam */
       
    56       USCRIPT_OLD_ITALIC   = 30,  /* Ital */
       
    57       USCRIPT_ORIYA        = 31,  /* Orya */
       
    58       USCRIPT_RUNIC        = 32,  /* Runr */
       
    59       USCRIPT_SINHALA      = 33,  /* Sinh */
       
    60       USCRIPT_SYRIAC       = 34,  /* Syrc (Syrj, Syrn, Syre) */
       
    61       USCRIPT_TAMIL        = 35,  /* Taml */
       
    62       USCRIPT_TELUGU       = 36,  /* Telu */
       
    63       USCRIPT_THAANA       = 37,  /* Thaa */
       
    64       USCRIPT_THAI         = 38,  /* Thai */
       
    65       USCRIPT_TIBETAN      = 39,  /* Tibt */
       
    66       /** Canadian_Aboriginal script. @stable ICU 2.6 */
       
    67       USCRIPT_CANADIAN_ABORIGINAL = 40,  /* Cans */
       
    68       /** Canadian_Aboriginal script (alias). @stable ICU 2.2 */
       
    69       USCRIPT_UCAS         = USCRIPT_CANADIAN_ABORIGINAL,
       
    70       USCRIPT_YI           = 41,  /* Yiii */
       
    71       USCRIPT_TAGALOG      = 42,  /* Tglg */
       
    72       USCRIPT_HANUNOO      = 43,  /* Hano */
       
    73       USCRIPT_BUHID        = 44,  /* Buhd */
       
    74       USCRIPT_TAGBANWA     = 45,  /* Tagb */
       
    75 
       
    76       /* New scripts in Unicode 4 @stable ICU 2.6 */
       
    77       USCRIPT_BRAILLE,            /* Brai */
       
    78       USCRIPT_CYPRIOT,            /* Cprt */
       
    79       USCRIPT_LIMBU,              /* Limb */
       
    80       USCRIPT_LINEAR_B,           /* Linb */
       
    81       USCRIPT_OSMANYA,            /* Osma */
       
    82       USCRIPT_SHAVIAN,            /* Shaw */
       
    83       USCRIPT_TAI_LE,             /* Tale */
       
    84       USCRIPT_UGARITIC,           /* Ugar */
       
    85 
       
    86       /** New script code in Unicode 4.0.1 @draft ICU 3.0 */
       
    87       USCRIPT_KATAKANA_OR_HIRAGANA,/*Hrkt */
       
    88 
       
    89       USCRIPT_CODE_LIMIT
       
    90 } UScriptCode;
       
    91 
       
    92 /**
       
    93  * Gets script codes associated with the given locale or ISO 15924 abbreviation or name. 
       
    94  * Fills in USCRIPT_MALAYALAM given "Malayam" OR "Mlym".
       
    95  * Fills in USCRIPT_LATIN given "en" OR "en_US" 
       
    96  * If required capacity is greater than capacity of the destination buffer then the error code
       
    97  * is set to U_BUFFER_OVERFLOW_ERROR and the required capacity is returned
       
    98  *
       
    99  * <p>Note: To search by short or long script alias only, use
       
   100  * u_getPropertyValueEnum(UCHAR_SCRIPT, alias) instead.  This does
       
   101  * a fast lookup with no access of the locale data.
       
   102  * @param nameOrAbbrOrLocale name of the script, as given in
       
   103  * PropertyValueAliases.txt, or ISO 15924 code or locale
       
   104  * @param fillIn the UScriptCode buffer to fill in the script code
       
   105  * @param capacity the capacity (size) fo UScriptCode buffer passed in.
       
   106  * @param err the error status code.
       
   107  * @return The number of script codes filled in the buffer passed in 
       
   108  * @stable ICU 2.4
       
   109  */
       
   110 U_STABLE int32_t  U_EXPORT2 
       
   111 uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err);
       
   112 
       
   113 /**
       
   114  * Gets a script name associated with the given script code. 
       
   115  * Returns  "Malayam" given USCRIPT_MALAYALAM
       
   116  * @param scriptCode UScriptCode enum
       
   117  * @return script long name as given in
       
   118  * PropertyValueAliases.txt, or NULL if scriptCode is invalid
       
   119  * @stable ICU 2.4
       
   120  */
       
   121 U_STABLE const char*  U_EXPORT2 
       
   122 uscript_getName(UScriptCode scriptCode);
       
   123 
       
   124 /**
       
   125  * Gets a script name associated with the given script code. 
       
   126  * Returns  "Mlym" given USCRIPT_MALAYALAM
       
   127  * @param scriptCode UScriptCode enum
       
   128  * @return script abbreviated name as given in
       
   129  * PropertyValueAliases.txt, or NULL if scriptCode is invalid
       
   130  * @stable ICU 2.4
       
   131  */
       
   132 U_STABLE const char*  U_EXPORT2 
       
   133 uscript_getShortName(UScriptCode scriptCode);
       
   134 
       
   135 /** 
       
   136  * Gets the script code associated with the given codepoint.
       
   137  * Returns USCRIPT_MALAYALAM given 0x0D02 
       
   138  * @param codepoint UChar32 codepoint
       
   139  * @param err the error status code.
       
   140  * @return The UScriptCode, or 0 if codepoint is invalid 
       
   141  * @stable ICU 2.4
       
   142  */
       
   143 U_STABLE UScriptCode  U_EXPORT2 
       
   144 uscript_getScript(UChar32 codepoint, UErrorCode *err);
       
   145 
       
   146 #endif
       
   147 
       
   148