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