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 #ifndef U_HIDE_DRAFT_API
00051 ULOCDATA_QUOTATION_START = 0,
00052 ULOCDATA_QUOTATION_END = 1,
00053 ULOCDATA_ALT_QUOTATION_START = 2,
00054 ULOCDATA_ALT_QUOTATION_END = 3,
00055 #endif
00056 ULOCDATA_DELIMITER_COUNT = 4
00057 } ULocaleDataDelimiterType;
00058
00067 U_STABLE ULocaleData* U_EXPORT2
00068 ulocdata_open(const char *localeID, UErrorCode *status);
00069
00076 U_STABLE void U_EXPORT2
00077 ulocdata_close(ULocaleData *uld);
00078
00090 U_STABLE void U_EXPORT2
00091 ulocdata_setNoSubstitute(ULocaleData *uld, UBool setting);
00092
00104 U_STABLE UBool U_EXPORT2
00105 ulocdata_getNoSubstitute(ULocaleData *uld);
00106
00132 U_STABLE USet* U_EXPORT2
00133 ulocdata_getExemplarSet(ULocaleData *uld, USet *fillIn,
00134 uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status);
00135
00149 U_STABLE int32_t U_EXPORT2
00150 ulocdata_getDelimiter(ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status);
00151
00156 typedef enum UMeasurementSystem {
00157 UMS_SI,
00158 UMS_US,
00159 UMS_LIMIT
00160 } UMeasurementSystem;
00161
00172 U_STABLE UMeasurementSystem U_EXPORT2
00173 ulocdata_getMeasurementSystem(const char *localeID, UErrorCode *status);
00174
00191 U_STABLE void U_EXPORT2
00192 ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width, UErrorCode *status);
00193
00194 #endif