Home | History | Annotate | Download | only in unicode
      1 /*
      2 *****************************************************************************************
      3 * Copyright (C) 2014, 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 #ifndef U_HIDE_DRAFT_API
     40     ,
     41     /**
     42      * Type to retrieve the display length setting, e.g.
     43      * UDISPCTX_LENGTH_FULL, UDISPCTX_LENGTH_SHORT.
     44      * @draft ICU 54
     45      */
     46     UDISPCTX_TYPE_DISPLAY_LENGTH = 2
     47 #endif  /* U_HIDE_DRAFT_API */
     48 };
     49 /**
     50 *  @stable ICU 51
     51 */
     52 typedef enum UDisplayContextType UDisplayContextType;
     53 
     54 /**
     55  * Display context settings.
     56  * Note, the specific numeric values are internal and may change.
     57  * @stable ICU 51
     58  */
     59 enum UDisplayContext {
     60     /**
     61      * ================================
     62      * DIALECT_HANDLING can be set to one of UDISPCTX_STANDARD_NAMES or
     63      * UDISPCTX_DIALECT_NAMES. Use UDisplayContextType UDISPCTX_TYPE_DIALECT_HANDLING
     64      * to get the value.
     65      */
     66     /**
     67      * A possible setting for DIALECT_HANDLING:
     68      * use standard names when generating a locale name,
     69      * e.g. en_GB displays as 'English (United Kingdom)'.
     70      * @stable ICU 51
     71      */
     72     UDISPCTX_STANDARD_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 0,
     73     /**
     74      * A possible setting for DIALECT_HANDLING:
     75      * use dialect names, when generating a locale name,
     76      * e.g. en_GB displays as 'British English'.
     77      * @stable ICU 51
     78      */
     79     UDISPCTX_DIALECT_NAMES = (UDISPCTX_TYPE_DIALECT_HANDLING<<8) + 1,
     80     /**
     81      * ================================
     82      * CAPITALIZATION can be set to one of UDISPCTX_CAPITALIZATION_NONE,
     83      * UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE,
     84      * UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE,
     85      * UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU, or
     86      * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
     87      * Use UDisplayContextType UDISPCTX_TYPE_CAPITALIZATION to get the value.
     88      */
     89     /**
     90      * The capitalization context to be used is unknown (this is the default value).
     91      * @stable ICU 51
     92      */
     93     UDISPCTX_CAPITALIZATION_NONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 0,
     94     /**
     95      * The capitalization context if a date, date symbol or display name is to be
     96      * formatted with capitalization appropriate for the middle of a sentence.
     97      * @stable ICU 51
     98      */
     99     UDISPCTX_CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 1,
    100     /**
    101      * The capitalization context if a date, date symbol or display name is to be
    102      * formatted with capitalization appropriate for the beginning of a sentence.
    103      * @stable ICU 51
    104      */
    105     UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 2,
    106     /**
    107      * The capitalization context if a date, date symbol or display name is to be
    108      * formatted with capitalization appropriate for a user-interface list or menu item.
    109      * @stable ICU 51
    110      */
    111     UDISPCTX_CAPITALIZATION_FOR_UI_LIST_OR_MENU = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 3,
    112     /**
    113      * The capitalization context if a date, date symbol or display name is to be
    114      * formatted with capitalization appropriate for stand-alone usage such as an
    115      * isolated name on a calendar page.
    116      * @stable ICU 51
    117      */
    118     UDISPCTX_CAPITALIZATION_FOR_STANDALONE = (UDISPCTX_TYPE_CAPITALIZATION<<8) + 4
    119 #ifndef U_HIDE_DRAFT_API
    120     ,
    121     /**
    122      * ================================
    123      * DISPLAY_LENGTH can be set to one of UDISPCTX_LENGTH_FULL or
    124      * UDISPCTX_LENGTH_SHORT. Use UDisplayContextType UDISPCTX_TYPE_DISPLAY_LENGTH
    125      * to get the value.
    126      */
    127     /**
    128      * A possible setting for DISPLAY_LENGTH:
    129      * use full names when generating a locale name,
    130      * e.g. "United States" for US.
    131      * @draft ICU 54
    132      */
    133     UDISPCTX_LENGTH_FULL = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 0,
    134     /**
    135      * A possible setting for DISPLAY_LENGTH:
    136      * use short names when generating a locale name,
    137      * e.g. "U.S." for US.
    138      * @draft ICU 54
    139      */
    140     UDISPCTX_LENGTH_SHORT = (UDISPCTX_TYPE_DISPLAY_LENGTH<<8) + 1
    141 #endif  /* U_HIDE_DRAFT_API */
    142 };
    143 /**
    144 *  @stable ICU 51
    145 */
    146 typedef enum UDisplayContext UDisplayContext;
    147 
    148 #endif /* #if !UCONFIG_NO_FORMATTING */
    149 
    150 #endif
    151