00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __ULOCDATA_H__
00018 #define __ULOCDATA_H__
00019
00020 #include "unicode/ures.h"
00021 #include "unicode/uloc.h"
00022 #include "unicode/uset.h"
00023
00030 struct ULocaleData;
00031
00033 typedef struct ULocaleData ULocaleData;
00034
00035
00036
00040 typedef enum ULocaleDataExemplarSetType {
00041 ULOCDATA_ES_STANDARD=0,
00042 ULOCDATA_ES_AUXILIARY=1,
00043 ULOCDATA_ES_COUNT=2
00044 } ULocaleDataExemplarSetType;
00045
00049 typedef enum ULocaleDataDelimiterType {
00050 ULOCDATA_QUOTATION_START = 0,
00051 ULOCDATA_QUOTATION_END = 1,
00052 ULOCDATA_ALT_QUOTATION_START = 2,
00053 ULOCDATA_ALT_QUOTATION_END = 3,
00054 ULOCDATA_DELIMITER_COUNT = 4
00055 } ULocaleDataDelimiterType;
00056
00065 U_STABLE ULocaleData* U_EXPORT2
00066 ulocdata_open(const char *localeID, UErrorCode *status);
00067
00074 U_STABLE void U_EXPORT2
00075 ulocdata_close(ULocaleData *uld);
00076
00088 U_STABLE void U_EXPORT2
00089 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00090
00102 U_STABLE UBool U_EXPORT2
00103 ulocdata_getNoSubstitute(ULocaleData *uld);
00104
00130 U_STABLE USet* U_EXPORT2
00131 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00132 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00133
00147 U_STABLE int32_t U_EXPORT2
00148 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00149
00154 typedef enum UMeasurementSystem {
00155 UMS_SI,
00156 UMS_US,
00157 UMS_LIMIT
00158 } UMeasurementSystem;
00159
00170 U_STABLE UMeasurementSystem U_EXPORT2
00171 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00172
00189 U_STABLE void U_EXPORT2
00190 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00191
00198 U_DRAFT void U_EXPORT2
00199 ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
00200
00216 U_DRAFT int32_t U_EXPORT2
00217 ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
00218 UChar *pattern,
00219 int32_t patternCapacity,
00220 UErrorCode *status);
00221
00222
00238 U_DRAFT int32_t U_EXPORT2
00239 ulocdata_getLocaleSeparator(ULocaleData *uld,
00240 UChar *separator,
00241 int32_t separatorCapacity,
00242 UErrorCode *status);
00243 #endif