udisplaycontext.h 6.0 KB

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