Home | History | Annotate | Download | only in unicode
      1 /*
      2 *****************************************************************************************
      3 * Copyright (C) 2014-2015, International Business Machines
      4 * Corporation and others. All Rights Reserved.
      5 *****************************************************************************************
      6 */
      7 
      8 #ifndef UDISPLAYCONTEXT_H
      9 #define UDISPLAYCONTEXT_H
     10 
     11 #include "unicode/utypes.h"
     12 
     13 #if !UCONFIG_NO_FORMATTING
     14 
     15 /**
     16  * \file
     17  * \brief C API: Display context types (enum values)
     18  */
     19 
     20 /**
     21  * Display context types, for getting values of a particular setting.
     22  * Note, the specific numeric values are internal and may change.
     23  * @stable ICU 51
     24  */
     25 enum UDisplayContextType {
     26     /**
     27      * Type to retrieve the dialect handling setting, e.g.
     28      * UDISPCTX_STANDARD_NAMES or UDISPCTX_DIALECT_NAMES.
     29      * @stable ICU 51
     30      */
     31     UDISPCTX_TYPE_DIALECT_HANDLING = 0,
     32     /**
     33      * Type to retrieve the capitalization context setting, e.g.
     34      * UDISPCTX_CAPITALIZATION_NONE, UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
     35      * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE, etc.
     36      * @stable ICU 51
     37      */
     38     UDISPCTX_TYPE_CAPITALIZATION = 1,
     39     /**
     40      * Type to retrieve the display length setting, e.g.
     41      * UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT.
     42      * @stable ICU 54
     43      */
     44     UDISPCTX_TYPE_DISPLAY_LENGTH = 2
     45 };
     46 /**
     47 *  @stable ICU 51
     48 */
     49 typedef enum UDisplayContextType UDisplayContextType;
     50 
     51 /**
     52  * Display context settings.
     53  * Note, the specific numeric values are internal and may change.
     54  * @stable ICU 51
     55  */
     56 enum UDisplayContext {
     57     /**
     58      * ================================
     59      * DIALECT_HANDLING can be set to one of UDISPCTX_STANDARD_NAMES or
     60      * UDISPCTX_DIALECT_NAMES. Use UDisplayContextType UDISPCTX_TYPE_DIALECT_HANDLING
     61      * to get the value.
     62      */
     63     /**
     64      * A possible setting for DIALECT_HANDLING:
     65      * use standard names when generating a locale name,
     66      * e.g. en_GB displays as 'English (United Kingdom)'.
     67      * @stable ICU 51
     68      */
     69     UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0,
     70     /**
     71      * A possible setting for DIALECT_HANDLING:
     72      * use dialect names, when generating a locale name,
     73      * e.g. en_GB displays as 'British English'.
     74      * @stable ICU 51
     75      */
     76     UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1,
     77     /**
     78      * ================================
     79      * CAPITALIZATION can be set to one of UDISPCTX_CAPITALIZATION_NONE,
     80      * UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
     81      * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE,
     82      * UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU, or
     83      * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
     84      * Use UDisplayContextType UDISPCTX_TYPE_CAPITALIZATION to get the value.
     85      */
     86     /**
     87      * The capitalization context to be used is unknown (this is the default value).
     88      * @stable ICU 51
     89      */
     90     UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0,
     91     /**
     92      * The capitalization context if a date, date symbol or display name is to be
     93      * formatted with capitalization appropriate for the middle of a sentence.
     94      * @stable ICU 51
     95      */
     96     UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1,
     97     /**
     98      * The capitalization context if a date, date symbol or display name is to be
     99      * formatted with capitalization appropriate for the beginning of a sentence.
    100      * @stable ICU 51
    101      */
    102     UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2,
    103     /**
    104      * The capitalization context if a date, date symbol or display name is to be
    105      * formatted with capitalization appropriate for a user-interface list or menu item.
    106      * @stable ICU 51
    107      */
    108     UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3,
    109     /**
    110      * The capitalization context if a date, date symbol or display name is to be
    111      * formatted with capitalization appropriate for stand-alone usage such as an
    112      * isolated name on a calendar page.
    113      * @stable ICU 51
    114      */
    115     UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4,
    116     /**
    117      * ================================
    118      * DISPLAY_LENGTH can be set to one of UDISPCTX_LENGTH_FULL or
    119      * UDISPCTX_LENGTH_SHORT. Use UDisplayContextType UDISPCTX_TYPE_DISPLAY_LENGTH
    120      * to get the value.
    121      */
    122     /**
    123      * A possible setting for DISPLAY_LENGTH:
    124      * use full names when generating a locale name,
    125      * e.g. "United States" for US.
    126      * @stable ICU 54
    127      */
    128     UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
    129     /**
    130      * A possible setting for DISPLAY_LENGTH:
    131      * use short names when generating a locale name,
    132      * e.g. "U.S." for US.
    133      * @stable ICU 54
    134      */
    135     UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1
    136 };
    137 /**
    138 *  @stable ICU 51
    139 */
    140 typedef enum UDisplayContext UDisplayContext;
    141 
    142 #endif /* #if !UCONFIG_NO_FORMATTING */
    143 
    144 #endif
    145