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 #include "unicode/localpointer.h"
00024
00031 struct ULocaleData;
00032
00034 typedef struct ULocaleData ULocaleData;
00035
00036
00037
00041 typedef enum ULocaleDataExemplarSetType {
00043 ULOCDATA_ES_STANDARD=0,
00045 ULOCDATA_ES_AUXILIARY=1,
00047 ULOCDATA_ES_INDEX=2,
00049 ULOCDATA_ES_PUNCTUATION=3,
00051 ULOCDATA_ES_COUNT=4
00052 } ULocaleDataExemplarSetType;
00053
00057 typedef enum ULocaleDataDelimiterType {
00059 ULOCDATA_QUOTATION_START = 0,
00061 ULOCDATA_QUOTATION_END = 1,
00063 ULOCDATA_ALT_QUOTATION_START = 2,
00065 ULOCDATA_ALT_QUOTATION_END = 3,
00067 ULOCDATA_DELIMITER_COUNT = 4
00068 } ULocaleDataDelimiterType;
00069
00078 U_STABLE ULocaleData* U_EXPORT2
00079 ulocdata_open(const char *localeID, UErrorCode *status);
00080
00087 U_STABLE void U_EXPORT2
00088 ulocdata_close(ULocaleData *uld);
00089
00090 #if U_SHOW_CPLUSPLUS_API
00091
00092 U_NAMESPACE_BEGIN
00093
00103 U_DEFINE_LOCAL_OPEN_POINTER(LocalULocaleDataPointer, ULocaleData, ulocdata_close);
00104
00105 U_NAMESPACE_END
00106
00107 #endif
00108
00120 U_STABLE void U_EXPORT2
00121 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00122
00134 U_STABLE UBool U_EXPORT2
00135 ulocdata_getNoSubstitute(ULocaleData *uld);
00136
00164 U_STABLE USet* U_EXPORT2
00165 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00166 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00167
00181 U_STABLE int32_t U_EXPORT2
00182 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00183
00188 typedef enum UMeasurementSystem {
00189 UMS_SI,
00190 UMS_US,
00191 UMS_UK,
00192 UMS_LIMIT
00193 } UMeasurementSystem;
00194
00205 U_STABLE UMeasurementSystem U_EXPORT2
00206 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00207
00224 U_STABLE void U_EXPORT2
00225 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00226
00233 U_STABLE void U_EXPORT2
00234 ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
00235
00251 U_STABLE int32_t U_EXPORT2
00252 ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
00253 UChar *pattern,
00254 int32_t patternCapacity,
00255 UErrorCode *status);
00256
00257
00273 U_STABLE int32_t U_EXPORT2
00274 ulocdata_getLocaleSeparator(ULocaleData *uld,
00275 UChar *separator,
00276 int32_t separatorCapacity,
00277 UErrorCode *status);
00278 #endif