ulocdata.h revision c73f511526464f8e56c242df80552e9b0d94ae3d
1b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/* 2b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato****************************************************************************** 3b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* * 4b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* Copyright (C) 2003-2014, International Business Machines * 5b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang* Corporation and others. All Rights Reserved. * 6b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* * 7b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato****************************************************************************** 8b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* file name: ulocdata.h 9b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* encoding: US-ASCII 10b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* tab size: 8 (not used) 11b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* indentation:4 12b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* 13b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* created on: 2003Oct21 14b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato* created by: Ram Viswanadha 15b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato*/ 16b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 17b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifndef __ULOCDATA_H__ 18b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#define __ULOCDATA_H__ 19b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 20b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "unicode/ures.h" 21b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "unicode/uloc.h" 22b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "unicode/uset.h" 23b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "unicode/localpointer.h" 24b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 25b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 26b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * \file 27b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * \brief C API: Provides access to locale data. 28b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 29b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 30b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** Forward declaration of the ULocaleData structure. @stable ICU 3.6 */ 31b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratostruct ULocaleData; 32b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 33b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** A locale data object. @stable ICU 3.6 */ 34b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef struct ULocaleData ULocaleData; 35b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 36b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 37b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 38b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** The possible types of exemplar character sets. 39b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 40b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 41b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef enum ULocaleDataExemplarSetType { 42b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Basic set @stable ICU 3.4 */ 43b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_ES_STANDARD=0, 44b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Auxiliary set @stable ICU 3.4 */ 45b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang ULOCDATA_ES_AUXILIARY=1, 46b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Index Character set @stable ICU 4.8 */ 47b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_ES_INDEX=2, 48b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Punctuation set @stable ICU 51 */ 49b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_ES_PUNCTUATION=3, 50b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** One higher than the last valid type @stable ICU 3.4 */ 51b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_ES_COUNT=4 52b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} ULocaleDataExemplarSetType; 53b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 54b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** The possible types of delimiters. 55b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 56b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang */ 57b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wangtypedef enum ULocaleDataDelimiterType { 58b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang /** Quotation start @stable ICU 3.4 */ 59b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_QUOTATION_START = 0, 60b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Quotation end @stable ICU 3.4 */ 61b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_QUOTATION_END = 1, 62b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Alternate quotation start @stable ICU 3.4 */ 63b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_ALT_QUOTATION_START = 2, 64b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** Alternate quotation end @stable ICU 3.4 */ 65b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_ALT_QUOTATION_END = 3, 66b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato /** One higher than the last valid type @stable ICU 3.4 */ 67b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato ULOCDATA_DELIMITER_COUNT = 4 68b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} ULocaleDataDelimiterType; 69b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 70b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 71b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Opens a locale data object for the given locale 72b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 73b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param localeID Specifies the locale associated with this locale 74b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * data object. 75b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Pointer to error status code. 76b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 77b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 78b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE ULocaleData* U_EXPORT2 79b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_open(const char *localeID, UErrorCode *status); 80b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 81b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 82b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Closes a locale data object. 83b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 84b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld The locale data object to close 85b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 86b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 87b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE void U_EXPORT2 88b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_close(ULocaleData *uld); 89b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 90b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#if U_SHOW_CPLUSPLUS_API 91b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 92b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_NAMESPACE_BEGIN 93b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 94b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 95b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * \class LocalULocaleDataPointer 96b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * "Smart pointer" class, closes a ULocaleData via ulocdata_close(). 97b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * For most methods see the LocalPointerBase base class. 98b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 99b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @see LocalPointerBase 100b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @see LocalPointer 101b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 4.4 102b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 103b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close); 104b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 105b9cc48a43ed984587c939d02fba5316bf5c0df6eYing WangU_NAMESPACE_END 106b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang 107b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif 108b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 109b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 110b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Sets the "no Substitute" attribute of the locale data 111b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * object. If true, then any methods associated with the 112b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * locale data object will return null when there is no 113b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * data available for that method, given the locale ID 114b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * supplied to ulocdata_open(). 115b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 116b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld The locale data object to set. 117b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * @param setting Value of the "no substitute" attribute. 118b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 119b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 120b9cc48a43ed984587c939d02fba5316bf5c0df6eYing WangU_STABLE void U_EXPORT2 121b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wangulocdata_setNoSubstitute(ULocaleData *uld, UBool setting); 122b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang 123b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang/** 124b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * Retrieves the current "no Substitute" value of the locale data 125b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * object. If true, then any methods associated with the 126b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * locale data object will return null when there is no 127b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * data available for that method, given the locale ID 128b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * supplied to ulocdata_open(). 129b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 130b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld Pointer to the The locale data object to set. 131b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @return UBool Value of the "no substitute" attribute. 132b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 133b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 134b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE UBool U_EXPORT2 135b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getNoSubstitute(ULocaleData *uld); 136b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 137b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 138b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Returns the set of exemplar characters for a locale. 139b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 140b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld Pointer to the locale data object from which the 141b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * exemplar character set is to be retrieved. 142b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param fillIn Pointer to a USet object to receive the 143b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * exemplar character set for the given locale. Previous 144b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * contents of fillIn are lost. <em>If fillIn is NULL, 145b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * then a new USet is created and returned. The caller 146b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * owns the result and must dispose of it by calling 147b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * uset_close.</em> 148b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param options Bitmask for options to apply to the exemplar pattern. 149b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Specify zero to retrieve the exemplar set as it is 150b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * defined in the locale data. Specify 151b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * USET_CASE_INSENSITIVE to retrieve a case-folded 152b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * exemplar set. See uset_applyPattern for a complete 153b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * list of valid options. The USET_IGNORE_SPACE bit is 154b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * always set, regardless of the value of 'options'. 155b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param extype Specifies the type of exemplar set to be retrieved. 156b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Pointer to an input-output error code value; 157b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * must not be NULL. Will be set to U_MISSING_RESOURCE_ERROR 158b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * if the requested data is not available. 159b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @return USet* Either fillIn, or if fillIn is NULL, a pointer to 160b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * a newly-allocated USet that the user must close. 161b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * In case of error, NULL is returned. 162b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 163b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 164b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE USet* U_EXPORT2 165b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn, 166b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status); 167b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 168b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 169b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Returns one of the delimiter strings associated with a locale. 170b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 171b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld Pointer to the locale data object from which the 172b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * delimiter string is to be retrieved. 173b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param type the type of delimiter to be retrieved. 174b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param result A pointer to a buffer to receive the result. 175b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param resultLength The maximum size of result. 176b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Pointer to an error code value 177b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @return int32_t The total buffer size needed; if greater than resultLength, 178b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * the output was truncated. 179b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 3.4 180b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 181b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE int32_t U_EXPORT2 182b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status); 183b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 184b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 185b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Enumeration for representing the measurement systems. 186b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 2.8 187b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 188b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratotypedef enum UMeasurementSystem { 189b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UMS_SI, /** Measurement system specified by SI otherwise known as Metric system. */ 190b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UMS_US, /** Measurement system followed in the United States of America. */ 191b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UMS_LIMIT 192b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato} UMeasurementSystem; 193b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 194b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 195b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Returns the measurement system used in the locale specified by the localeID. 196b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Please note that this API will change in ICU 3.6 and will use an ulocdata object. 197b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 198b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param localeID The id of the locale for which the measurement system to be retrieved. 199b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Must be a valid pointer to an error code value, 200b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * which must not indicate a failure before the function call. 201b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @return UMeasurementSystem the measurement system used in the locale. 202b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 2.8 203b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 204b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE UMeasurementSystem U_EXPORT2 205b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status); 206b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 207b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 208b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Returns the element gives the normal business letter size, and customary units. 209b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * The units for the numbers are always in <em>milli-meters</em>. 210b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * For US since 8.5 and 11 do not yeild an integral value when converted to milli-meters, 211b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * the values are rounded off. 212b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * So for A4 size paper the height and width are 297 mm and 210 mm repectively, 213b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * and for US letter size the height and width are 279 mm and 216 mm respectively. 214b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Please note that this API will change in ICU 3.6 and will use an ulocdata object. 215b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 216b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param localeID The id of the locale for which the paper size information to be retrieved. 217b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param height A pointer to int to recieve the height information. 218b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param width A pointer to int to recieve the width information. 219b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Must be a valid pointer to an error code value, 220b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * which must not indicate a failure before the function call. 221b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 2.8 222b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 223b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE void U_EXPORT2 224b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status); 225b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 226b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 227b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Return the current CLDR version used by the library. 228b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param versionArray fillin that will recieve the version number 229b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status error code - could be U_MISSING_RESOURCE_ERROR if the version was not found. 230b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 4.2 231b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 232b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE void U_EXPORT2 233b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status); 234b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 235b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 236b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Returns locale display pattern associated with a locale. 237b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 238b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld Pointer to the locale data object from which the 239b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * exemplar character set is to be retrieved. 240b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param pattern locale display pattern for locale. 241b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param patternCapacity the size of the buffer to store the locale display 242b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * pattern with. 243b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Must be a valid pointer to an error code value, 244b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * which must not indicate a failure before the function call. 245b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @return the actual buffer size needed for localeDisplayPattern. If it's greater 246b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * than patternCapacity, the returned pattern will be truncated. 247b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * 248b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang * @stable ICU 4.2 249b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang */ 250b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE int32_t U_EXPORT2 251b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getLocaleDisplayPattern(ULocaleData *uld, 252b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UChar *pattern, 253b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato int32_t patternCapacity, 254b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UErrorCode *status); 255b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 256b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato 257b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato/** 258b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * Returns locale separator associated with a locale. 259b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 260b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param uld Pointer to the locale data object from which the 261b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * exemplar character set is to be retrieved. 262b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param separator locale separator for locale. 263b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param separatorCapacity the size of the buffer to store the locale 264b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * separator with. 265b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @param status Must be a valid pointer to an error code value, 266b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * which must not indicate a failure before the function call. 267b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @return the actual buffer size needed for localeSeparator. If it's greater 268b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * than separatorCapacity, the returned separator will be truncated. 269b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * 270b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato * @stable ICU 4.2 271b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato */ 272b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoU_STABLE int32_t U_EXPORT2 273b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onoratoulocdata_getLocaleSeparator(ULocaleData *uld, 274b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UChar *separator, 275b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato int32_t separatorCapacity, 276b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato UErrorCode *status); 277b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif 278b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato