1*0e209d39SAndroid Build Coastguard Worker // © 2022 and later: Unicode, Inc. and others. 2*0e209d39SAndroid Build Coastguard Worker // License & terms of use: http://www.unicode.org/copyright.html 3*0e209d39SAndroid Build Coastguard Worker 4*0e209d39SAndroid Build Coastguard Worker #ifndef __UDISPLAYOPTIONS_H__ 5*0e209d39SAndroid Build Coastguard Worker #define __UDISPLAYOPTIONS_H__ 6*0e209d39SAndroid Build Coastguard Worker 7*0e209d39SAndroid Build Coastguard Worker #include "unicode/utypes.h" 8*0e209d39SAndroid Build Coastguard Worker 9*0e209d39SAndroid Build Coastguard Worker #if !UCONFIG_NO_FORMATTING 10*0e209d39SAndroid Build Coastguard Worker 11*0e209d39SAndroid Build Coastguard Worker /** 12*0e209d39SAndroid Build Coastguard Worker * \file 13*0e209d39SAndroid Build Coastguard Worker * \brief C API: Display options (enum types, values, helper functions) 14*0e209d39SAndroid Build Coastguard Worker * 15*0e209d39SAndroid Build Coastguard Worker * These display options are designed to be used in class DisplayOptions 16*0e209d39SAndroid Build Coastguard Worker * as a more modern version of the UDisplayContext mechanism. 17*0e209d39SAndroid Build Coastguard Worker */ 18*0e209d39SAndroid Build Coastguard Worker 19*0e209d39SAndroid Build Coastguard Worker #include "unicode/uversion.h" 20*0e209d39SAndroid Build Coastguard Worker 21*0e209d39SAndroid Build Coastguard Worker /** 22*0e209d39SAndroid Build Coastguard Worker * Represents all the grammatical cases that are supported by CLDR. 23*0e209d39SAndroid Build Coastguard Worker * 24*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 25*0e209d39SAndroid Build Coastguard Worker */ 26*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsGrammaticalCase { 27*0e209d39SAndroid Build Coastguard Worker /** 28*0e209d39SAndroid Build Coastguard Worker * A possible setting for GrammaticalCase. 29*0e209d39SAndroid Build Coastguard Worker * The grammatical case context to be used is unknown (this is the default value). 30*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 31*0e209d39SAndroid Build Coastguard Worker */ 32*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_UNDEFINED = 0, 33*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 34*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_ABLATIVE = 1, 35*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 36*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_ACCUSATIVE = 2, 37*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 38*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_COMITATIVE = 3, 39*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 40*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_DATIVE = 4, 41*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 42*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_ERGATIVE = 5, 43*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 44*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_GENITIVE = 6, 45*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 46*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_INSTRUMENTAL = 7, 47*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 48*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_LOCATIVE = 8, 49*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 50*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_LOCATIVE_COPULATIVE = 9, 51*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 52*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_NOMINATIVE = 10, 53*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 54*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_OBLIQUE = 11, 55*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 56*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_PREPOSITIONAL = 12, 57*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 58*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_SOCIATIVE = 13, 59*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 60*0e209d39SAndroid Build Coastguard Worker UDISPOPT_GRAMMATICAL_CASE_VOCATIVE = 14, 61*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsGrammaticalCase; 62*0e209d39SAndroid Build Coastguard Worker 63*0e209d39SAndroid Build Coastguard Worker /** 64*0e209d39SAndroid Build Coastguard Worker * @param grammaticalCase The grammatical case. 65*0e209d39SAndroid Build Coastguard Worker * @return the lowercase CLDR keyword string for the grammatical case. 66*0e209d39SAndroid Build Coastguard Worker * 67*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 68*0e209d39SAndroid Build Coastguard Worker */ 69*0e209d39SAndroid Build Coastguard Worker U_CAPI const char * U_EXPORT2 70*0e209d39SAndroid Build Coastguard Worker udispopt_getGrammaticalCaseIdentifier(UDisplayOptionsGrammaticalCase grammaticalCase); 71*0e209d39SAndroid Build Coastguard Worker 72*0e209d39SAndroid Build Coastguard Worker /** 73*0e209d39SAndroid Build Coastguard Worker * @param identifier in lower case such as "dative" or "nominative" 74*0e209d39SAndroid Build Coastguard Worker * @return the plural category corresponding to the identifier, or `UDISPOPT_GRAMMATICAL_CASE_UNDEFINED` 75*0e209d39SAndroid Build Coastguard Worker * 76*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 77*0e209d39SAndroid Build Coastguard Worker */ 78*0e209d39SAndroid Build Coastguard Worker U_CAPI UDisplayOptionsGrammaticalCase U_EXPORT2 79*0e209d39SAndroid Build Coastguard Worker udispopt_fromGrammaticalCaseIdentifier(const char *identifier); 80*0e209d39SAndroid Build Coastguard Worker 81*0e209d39SAndroid Build Coastguard Worker /** 82*0e209d39SAndroid Build Coastguard Worker * Standard CLDR plural form/category constants. 83*0e209d39SAndroid Build Coastguard Worker * See https://www.unicode.org/reports/tr35/tr35-numbers.html#Language_Plural_Rules 84*0e209d39SAndroid Build Coastguard Worker * 85*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 86*0e209d39SAndroid Build Coastguard Worker */ 87*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsPluralCategory { 88*0e209d39SAndroid Build Coastguard Worker 89*0e209d39SAndroid Build Coastguard Worker /** 90*0e209d39SAndroid Build Coastguard Worker * A possible setting for PluralCategory. 91*0e209d39SAndroid Build Coastguard Worker * The plural category case context to be used is unknown (this is the default value). 92*0e209d39SAndroid Build Coastguard Worker * 93*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 94*0e209d39SAndroid Build Coastguard Worker */ 95*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_UNDEFINED = 0, 96*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 97*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_ZERO = 1, 98*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 99*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_ONE = 2, 100*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 101*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_TWO = 3, 102*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 103*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_FEW = 4, 104*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 105*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_MANY = 5, 106*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 107*0e209d39SAndroid Build Coastguard Worker UDISPOPT_PLURAL_CATEGORY_OTHER = 6, 108*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsPluralCategory; 109*0e209d39SAndroid Build Coastguard Worker 110*0e209d39SAndroid Build Coastguard Worker /** 111*0e209d39SAndroid Build Coastguard Worker * @param pluralCategory The plural category. 112*0e209d39SAndroid Build Coastguard Worker * @return the lowercase CLDR identifier string for the plural category. 113*0e209d39SAndroid Build Coastguard Worker * 114*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 115*0e209d39SAndroid Build Coastguard Worker */ 116*0e209d39SAndroid Build Coastguard Worker U_CAPI const char * U_EXPORT2 117*0e209d39SAndroid Build Coastguard Worker udispopt_getPluralCategoryIdentifier(UDisplayOptionsPluralCategory pluralCategory); 118*0e209d39SAndroid Build Coastguard Worker 119*0e209d39SAndroid Build Coastguard Worker /** 120*0e209d39SAndroid Build Coastguard Worker * @param identifier for example "few" or "other" 121*0e209d39SAndroid Build Coastguard Worker * @return the plural category corresponding to the identifier (plural keyword), 122*0e209d39SAndroid Build Coastguard Worker * or `UDISPOPT_PLURAL_CATEGORY_UNDEFINED` 123*0e209d39SAndroid Build Coastguard Worker * 124*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 125*0e209d39SAndroid Build Coastguard Worker */ 126*0e209d39SAndroid Build Coastguard Worker U_CAPI UDisplayOptionsPluralCategory U_EXPORT2 127*0e209d39SAndroid Build Coastguard Worker udispopt_fromPluralCategoryIdentifier(const char *identifier); 128*0e209d39SAndroid Build Coastguard Worker 129*0e209d39SAndroid Build Coastguard Worker /** 130*0e209d39SAndroid Build Coastguard Worker * Represents all the grammatical noun classes that are supported by CLDR. 131*0e209d39SAndroid Build Coastguard Worker * 132*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72. 133*0e209d39SAndroid Build Coastguard Worker */ 134*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsNounClass { 135*0e209d39SAndroid Build Coastguard Worker /** 136*0e209d39SAndroid Build Coastguard Worker * A possible setting for NounClass. 137*0e209d39SAndroid Build Coastguard Worker * The noun class case context to be used is unknown (this is the default value). 138*0e209d39SAndroid Build Coastguard Worker * 139*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 140*0e209d39SAndroid Build Coastguard Worker */ 141*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_UNDEFINED = 0, 142*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 143*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_OTHER = 1, 144*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 145*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_NEUTER = 2, 146*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 147*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_FEMININE = 3, 148*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 149*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_MASCULINE = 4, 150*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 151*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_ANIMATE = 5, 152*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 153*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_INANIMATE = 6, 154*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 155*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_PERSONAL = 7, 156*0e209d39SAndroid Build Coastguard Worker /** @stable ICU 72 */ 157*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NOUN_CLASS_COMMON = 8, 158*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsNounClass; 159*0e209d39SAndroid Build Coastguard Worker 160*0e209d39SAndroid Build Coastguard Worker /** 161*0e209d39SAndroid Build Coastguard Worker * @param nounClass The noun class. 162*0e209d39SAndroid Build Coastguard Worker * @return the lowercase CLDR keyword string for the noun class. 163*0e209d39SAndroid Build Coastguard Worker * 164*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 165*0e209d39SAndroid Build Coastguard Worker */ 166*0e209d39SAndroid Build Coastguard Worker U_CAPI const char * U_EXPORT2 167*0e209d39SAndroid Build Coastguard Worker udispopt_getNounClassIdentifier(UDisplayOptionsNounClass nounClass); 168*0e209d39SAndroid Build Coastguard Worker 169*0e209d39SAndroid Build Coastguard Worker /** 170*0e209d39SAndroid Build Coastguard Worker * @param identifier in lower case such as "feminine" or "masculine" 171*0e209d39SAndroid Build Coastguard Worker * @return the plural category corresponding to the identifier, or `UDISPOPT_NOUN_CLASS_UNDEFINED` 172*0e209d39SAndroid Build Coastguard Worker * 173*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 174*0e209d39SAndroid Build Coastguard Worker */ 175*0e209d39SAndroid Build Coastguard Worker U_CAPI UDisplayOptionsNounClass U_EXPORT2 176*0e209d39SAndroid Build Coastguard Worker udispopt_fromNounClassIdentifier(const char *identifier); 177*0e209d39SAndroid Build Coastguard Worker 178*0e209d39SAndroid Build Coastguard Worker /** 179*0e209d39SAndroid Build Coastguard Worker * Represents all the capitalization options. 180*0e209d39SAndroid Build Coastguard Worker * 181*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 182*0e209d39SAndroid Build Coastguard Worker */ 183*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsCapitalization { 184*0e209d39SAndroid Build Coastguard Worker /** 185*0e209d39SAndroid Build Coastguard Worker * A possible setting for Capitalization. 186*0e209d39SAndroid Build Coastguard Worker * The capitalization context to be used is unknown (this is the default value). 187*0e209d39SAndroid Build Coastguard Worker * 188*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 189*0e209d39SAndroid Build Coastguard Worker */ 190*0e209d39SAndroid Build Coastguard Worker UDISPOPT_CAPITALIZATION_UNDEFINED = 0, 191*0e209d39SAndroid Build Coastguard Worker 192*0e209d39SAndroid Build Coastguard Worker /** 193*0e209d39SAndroid Build Coastguard Worker * The capitalization context if a date, date symbol or display name is to be 194*0e209d39SAndroid Build Coastguard Worker * formatted with capitalization appropriate for the beginning of a sentence. 195*0e209d39SAndroid Build Coastguard Worker * 196*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 197*0e209d39SAndroid Build Coastguard Worker */ 198*0e209d39SAndroid Build Coastguard Worker UDISPOPT_CAPITALIZATION_BEGINNING_OF_SENTENCE = 1, 199*0e209d39SAndroid Build Coastguard Worker 200*0e209d39SAndroid Build Coastguard Worker /** 201*0e209d39SAndroid Build Coastguard Worker * The capitalization context if a date, date symbol or display name is to be 202*0e209d39SAndroid Build Coastguard Worker * formatted with capitalization appropriate for the middle of a sentence. 203*0e209d39SAndroid Build Coastguard Worker * 204*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 205*0e209d39SAndroid Build Coastguard Worker */ 206*0e209d39SAndroid Build Coastguard Worker UDISPOPT_CAPITALIZATION_MIDDLE_OF_SENTENCE = 2, 207*0e209d39SAndroid Build Coastguard Worker 208*0e209d39SAndroid Build Coastguard Worker /** 209*0e209d39SAndroid Build Coastguard Worker * The capitalization context if a date, date symbol or display name is to be 210*0e209d39SAndroid Build Coastguard Worker * formatted with capitalization appropriate for stand-alone usage such as an 211*0e209d39SAndroid Build Coastguard Worker * isolated name on a calendar page. 212*0e209d39SAndroid Build Coastguard Worker * 213*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 214*0e209d39SAndroid Build Coastguard Worker */ 215*0e209d39SAndroid Build Coastguard Worker UDISPOPT_CAPITALIZATION_STANDALONE = 3, 216*0e209d39SAndroid Build Coastguard Worker 217*0e209d39SAndroid Build Coastguard Worker /** 218*0e209d39SAndroid Build Coastguard Worker * The capitalization context if a date, date symbol or display name is to be 219*0e209d39SAndroid Build Coastguard Worker * formatted with capitalization appropriate for a user-interface list or menu item. 220*0e209d39SAndroid Build Coastguard Worker * 221*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 222*0e209d39SAndroid Build Coastguard Worker */ 223*0e209d39SAndroid Build Coastguard Worker UDISPOPT_CAPITALIZATION_UI_LIST_OR_MENU = 4, 224*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsCapitalization; 225*0e209d39SAndroid Build Coastguard Worker 226*0e209d39SAndroid Build Coastguard Worker /** 227*0e209d39SAndroid Build Coastguard Worker * Represents all the dialect handlings. 228*0e209d39SAndroid Build Coastguard Worker * 229*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 230*0e209d39SAndroid Build Coastguard Worker */ 231*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsNameStyle { 232*0e209d39SAndroid Build Coastguard Worker /** 233*0e209d39SAndroid Build Coastguard Worker * A possible setting for NameStyle. 234*0e209d39SAndroid Build Coastguard Worker * The NameStyle context to be used is unknown (this is the default value). 235*0e209d39SAndroid Build Coastguard Worker * 236*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 237*0e209d39SAndroid Build Coastguard Worker */ 238*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NAME_STYLE_UNDEFINED = 0, 239*0e209d39SAndroid Build Coastguard Worker 240*0e209d39SAndroid Build Coastguard Worker /** 241*0e209d39SAndroid Build Coastguard Worker * Use standard names when generating a locale name, 242*0e209d39SAndroid Build Coastguard Worker * e.g. en_GB displays as 'English (United Kingdom)'. 243*0e209d39SAndroid Build Coastguard Worker * 244*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 245*0e209d39SAndroid Build Coastguard Worker */ 246*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NAME_STYLE_STANDARD_NAMES = 1, 247*0e209d39SAndroid Build Coastguard Worker 248*0e209d39SAndroid Build Coastguard Worker /** 249*0e209d39SAndroid Build Coastguard Worker * Use dialect names, when generating a locale name, 250*0e209d39SAndroid Build Coastguard Worker * e.g. en_GB displays as 'British English'. 251*0e209d39SAndroid Build Coastguard Worker * 252*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 253*0e209d39SAndroid Build Coastguard Worker */ 254*0e209d39SAndroid Build Coastguard Worker UDISPOPT_NAME_STYLE_DIALECT_NAMES = 2, 255*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsNameStyle; 256*0e209d39SAndroid Build Coastguard Worker 257*0e209d39SAndroid Build Coastguard Worker /** 258*0e209d39SAndroid Build Coastguard Worker * Represents all the display lengths. 259*0e209d39SAndroid Build Coastguard Worker * 260*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 261*0e209d39SAndroid Build Coastguard Worker */ 262*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsDisplayLength { 263*0e209d39SAndroid Build Coastguard Worker /** 264*0e209d39SAndroid Build Coastguard Worker * A possible setting for DisplayLength. 265*0e209d39SAndroid Build Coastguard Worker * The DisplayLength context to be used is unknown (this is the default value). 266*0e209d39SAndroid Build Coastguard Worker * 267*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 268*0e209d39SAndroid Build Coastguard Worker */ 269*0e209d39SAndroid Build Coastguard Worker UDISPOPT_DISPLAY_LENGTH_UNDEFINED = 0, 270*0e209d39SAndroid Build Coastguard Worker 271*0e209d39SAndroid Build Coastguard Worker /** 272*0e209d39SAndroid Build Coastguard Worker * Uses full names when generating a locale name, 273*0e209d39SAndroid Build Coastguard Worker * e.g. "United States" for US. 274*0e209d39SAndroid Build Coastguard Worker * 275*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 276*0e209d39SAndroid Build Coastguard Worker */ 277*0e209d39SAndroid Build Coastguard Worker UDISPOPT_DISPLAY_LENGTH_FULL = 1, 278*0e209d39SAndroid Build Coastguard Worker 279*0e209d39SAndroid Build Coastguard Worker /** 280*0e209d39SAndroid Build Coastguard Worker * Use short names when generating a locale name, 281*0e209d39SAndroid Build Coastguard Worker * e.g. "U.S." for US. 282*0e209d39SAndroid Build Coastguard Worker * 283*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 284*0e209d39SAndroid Build Coastguard Worker */ 285*0e209d39SAndroid Build Coastguard Worker UDISPOPT_DISPLAY_LENGTH_SHORT = 2, 286*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsDisplayLength; 287*0e209d39SAndroid Build Coastguard Worker 288*0e209d39SAndroid Build Coastguard Worker /** 289*0e209d39SAndroid Build Coastguard Worker * Represents all the substitute handling. 290*0e209d39SAndroid Build Coastguard Worker * 291*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 292*0e209d39SAndroid Build Coastguard Worker */ 293*0e209d39SAndroid Build Coastguard Worker typedef enum UDisplayOptionsSubstituteHandling { 294*0e209d39SAndroid Build Coastguard Worker 295*0e209d39SAndroid Build Coastguard Worker /** 296*0e209d39SAndroid Build Coastguard Worker * A possible setting for SubstituteHandling. 297*0e209d39SAndroid Build Coastguard Worker * The SubstituteHandling context to be used is unknown (this is the default value). 298*0e209d39SAndroid Build Coastguard Worker * 299*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 300*0e209d39SAndroid Build Coastguard Worker */ 301*0e209d39SAndroid Build Coastguard Worker UDISPOPT_SUBSTITUTE_HANDLING_UNDEFINED = 0, 302*0e209d39SAndroid Build Coastguard Worker 303*0e209d39SAndroid Build Coastguard Worker /** 304*0e209d39SAndroid Build Coastguard Worker * Returns a fallback value (e.g., the input code) when no data is available. 305*0e209d39SAndroid Build Coastguard Worker * This is the default behaviour. 306*0e209d39SAndroid Build Coastguard Worker * 307*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 308*0e209d39SAndroid Build Coastguard Worker */ 309*0e209d39SAndroid Build Coastguard Worker UDISPOPT_SUBSTITUTE_HANDLING_SUBSTITUTE = 1, 310*0e209d39SAndroid Build Coastguard Worker 311*0e209d39SAndroid Build Coastguard Worker /** 312*0e209d39SAndroid Build Coastguard Worker * Returns a null value when no data is available. 313*0e209d39SAndroid Build Coastguard Worker * 314*0e209d39SAndroid Build Coastguard Worker * @stable ICU 72 315*0e209d39SAndroid Build Coastguard Worker */ 316*0e209d39SAndroid Build Coastguard Worker UDISPOPT_SUBSTITUTE_HANDLING_NO_SUBSTITUTE = 2, 317*0e209d39SAndroid Build Coastguard Worker } UDisplayOptionsSubstituteHandling; 318*0e209d39SAndroid Build Coastguard Worker 319*0e209d39SAndroid Build Coastguard Worker #endif /* #if !UCONFIG_NO_FORMATTING */ 320*0e209d39SAndroid Build Coastguard Worker 321*0e209d39SAndroid Build Coastguard Worker #endif // __UDISPLAYOPTIONS_H__ 322