udisplaycontext.h 5.0 KB

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