# ulocdata.h File Reference

C API: Provides access to locale data. More...

`#include "unicode/ures.h"`
`#include "unicode/uloc.h"`
`#include "unicode/uset.h"`

Go to the source code of this file.

## Typedefs
typedef struct ULocaleData | ULocaleData
| A locale data object.
## Enumerations
enum | ULocaleDataExemplarSetType { ULOCDATA_ES_STANDARD = 0, ULOCDATA_ES_AUXILIARY = 1, ULOCDATA_ES_COUNT = 2 }
| The possible types of exemplar character sets. More...
enum | ULocaleDataDelimiterType { ULOCDATA_QUOTATION_START = 0, ULOCDATA_QUOTATION_END = 1, ULOCDATA_ALT_QUOTATION_START = 2, ULOCDATA_ALT_QUOTATION_END = 3, ULOCDATA_DELIMITER_COUNT = 4 }
| The possible types of delimiters. More...
enum | UMeasurementSystem { UMS_SI, UMS_US, UMS_LIMIT }
| Enumeration for representing the measurement systems. More...
## Functions
ULocaleData * | ulocdata_open (const char *localeID, UErrorCode *status)
| Opens a locale data object for the given locale.
void | ulocdata_close (ULocaleData *uld)
| Closes a locale data object.
void | ulocdata_setNoSubstitute (ULocaleData *uld, UBool setting)
| Sets the "no Substitute" attribute of the locale data object.
UBool | ulocdata_getNoSubstitute (ULocaleData *uld)
| Retrieves the current "no Substitute" value of the locale data object.
USet * | ulocdata_getExemplarSet (ULocaleData *uld, USet *fillIn, uint32_t options, ULocaleDataExemplarSetType extype, UErrorCode *status)
| Returns the set of exemplar characters for a locale.
int32_t | ulocdata_getDelimiter (ULocaleData *uld, ULocaleDataDelimiterType type, UChar *result, int32_t resultLength, UErrorCode *status)
| Returns one of the delimiter strings associated with a locale.
UMeasurementSystem | ulocdata_getMeasurementSystem (const char *localeID, UErrorCode *status)
| Returns the measurement system used in the locale specified by the localeID.
void | ulocdata_getPaperSize (const char *localeID, int32_t *height, int32_t *width, UErrorCode *status)
| Returns the element gives the normal business letter size, and customary units.
void | ulocdata_getCLDRVersion (UVersionInfo versionArray, UErrorCode *status)
| Return the current CLDR version used by the library.
int32_t | ulocdata_getLocaleDisplayPattern (ULocaleData *uld, UChar *pattern, int32_t patternCapacity, UErrorCode *status)
| Returns locale display pattern associated with a locale.
int32_t | ulocdata_getLocaleSeparator (ULocaleData *uld, UChar *separator, int32_t separatorCapacity, UErrorCode *status)
| Returns locale separator associated with a locale.

## Detailed Description

C API: Provides access to locale data.

Definition in file ulocdata.h.

## Typedef Documentation

typedef struct ULocaleData ULocaleData

A locale data object.

Stable:
  ICU 3.6

Definition at line 33 of file ulocdata.h.

## Enumeration Type Documentation

enum ULocaleDataDelimiterType

The possible types of delimiters.

Stable:
  ICU 3.4

Definition at line 49 of file ulocdata.h.

enum ULocaleDataExemplarSetType

The possible types of exemplar character sets.

Stable:
  ICU 3.4

Definition at line 40 of file ulocdata.h.

enum UMeasurementSystem

Enumeration for representing the measurement systems.

Stable:
  ICU 2.8

Enumerator:

  UMS_US | Measurement system specified by SI otherwise known as Metric system.
  UMS_LIMIT | Measurement system followed in the United States of America.

Definition at line 154 of file ulocdata.h.

## Function Documentation

void ulocdata_close | ( | ULocaleData * | uld | ) |

Closes a locale data object.

Parameters:

  | uld | The locale data object to close

Stable:
  ICU 3.4

void ulocdata_getCLDRVersion | ( | UVersionInfo | versionArray,
|  | UErrorCode * | status |
| ) |  |  |

Return the current CLDR version used by the library.

Parameters:

  | versionArray | fillin that will recieve the version number
  | status | error code - could be U_MISSING_RESOURCE_ERROR if the version was not found.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

int32_t ulocdata_getDelimiter | ( | ULocaleData * | uld,
|  | ULocaleDataDelimiterType | type,
|  | UChar * | result,
|  | int32_t | resultLength,
|  | UErrorCode * | status |
| ) |  |  |

Returns one of the delimiter strings associated with a locale.

Parameters:

  | uld | Pointer to the locale data object from which the delimiter string is to be retrieved.
  | type | the type of delimiter to be retrieved.
  | result | A pointer to a buffer to receive the result.
  | resultLength | The maximum size of result.
  | status | Pointer to an error code value

Returns:
  int32_t The total buffer size needed; if greater than resultLength, the output was truncated.

Stable:
  ICU 3.4

USet* ulocdata_getExemplarSet | ( | ULocaleData * | uld,
|  | USet * | fillIn,
|  | uint32_t | options,
|  | ULocaleDataExemplarSetType | extype,
|  | UErrorCode * | status |
| ) |  |  |

Returns the set of exemplar characters for a locale.

Parameters:

  | uld | Pointer to the locale data object from which the exemplar character set is to be retrieved.
  | fillIn | Pointer to a USet object to receive the exemplar character set for the given locale. Previous contents of fillIn are lost. If fillIn is NULL, then a new USet is created and returned. The caller owns the result and must dispose of it by calling uset_close.
  | options | Bitmask for options to apply to the exemplar pattern. Specify zero to retrieve the exemplar set as it is defined in the locale data. Specify USET_CASE_INSENSITIVE to retrieve a case-folded exemplar set. See uset_applyPattern for a complete list of valid options. The USET_IGNORE_SPACE bit is always set, regardless of the value of 'options'.
  | extype | Specifies the type of exemplar set to be retrieved.
  | status | Pointer to an input-output error code value; must not be NULL.

Returns:
  USet* Either fillIn, or if fillIn is NULL, a pointer to a newly-allocated USet that the user must close.

Stable:
  ICU 3.4

int32_t ulocdata_getLocaleDisplayPattern | ( | ULocaleData * | uld,
|  | UChar * | pattern,
|  | int32_t | patternCapacity,
|  | UErrorCode * | status |
| ) |  |  |

Returns locale display pattern associated with a locale.

Parameters:

  | uld | Pointer to the locale data object from which the exemplar character set is to be retrieved.
  | pattern | locale display pattern for locale.
  | patternCapacity | the size of the buffer to store the locale display pattern with.
  | status | Must be a valid pointer to an error code value, which must not indicate a failure before the function call.

Returns:
  the actual buffer size needed for localeDisplayPattern. If it's greater than patternCapacity, the returned pattern will be truncated.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

int32_t ulocdata_getLocaleSeparator | ( | ULocaleData * | uld,
|  | UChar * | separator,
|  | int32_t | separatorCapacity,
|  | UErrorCode * | status |
| ) |  |  |

Returns locale separator associated with a locale.

Parameters:

  | uld | Pointer to the locale data object from which the exemplar character set is to be retrieved.
  | separator | locale separator for locale.
  | separatorCapacity | the size of the buffer to store the locale separator with.
  | status | Must be a valid pointer to an error code value, which must not indicate a failure before the function call.

Returns:
  the actual buffer size needed for localeSeparator. If it's greater than separatorCapacity, the returned separator will be truncated.

Draft:
  This API may be changed in the future versions and was introduced in ICU 4.2

UMeasurementSystem ulocdata_getMeasurementSystem | ( | const char * | localeID,
|  | UErrorCode * | status |
| ) |  |  |

Returns the measurement system used in the locale specified by the localeID.

Please note that this API will change in ICU 3.6 and will use an ulocdata object.

Parameters:

  | localeID | The id of the locale for which the measurement system to be retrieved.
  | status | Must be a valid pointer to an error code value, which must not indicate a failure before the function call.

Returns:
  UMeasurementSystem the measurement system used in the locale.

Stable:
  ICU 2.8

UBool ulocdata_getNoSubstitute | ( | ULocaleData * | uld | ) |

Retrieves the current "no Substitute" value of the locale data object.

If true, then any methods associated with the locale data object will return null when there is no data available for that method, given the locale ID supplied to ulocdata_open().

Parameters:

  | uld | Pointer to the The locale data object to set.

Returns:
  UBool Value of the "no substitute" attribute.

Stable:
  ICU 3.4

void ulocdata_getPaperSize | ( | const char * | localeID,
|  | int32_t * | height,
|  | int32_t * | width,
|  | UErrorCode * | status |
| ) |  |  |

Returns the element gives the normal business letter size, and customary units.

The units for the numbers are always in milli-meters. For US since 8.5 and 11 do not yeild an integral value when converted to milli-meters, the values are rounded off. So for A4 size paper the height and width are 297 mm and 210 mm repectively, and for US letter size the height and width are 279 mm and 216 mm respectively. Please note that this API will change in ICU 3.6 and will use an ulocdata object.

Parameters:

  | localeID | The id of the locale for which the paper size information to be retrieved.
  | height | A pointer to int to recieve the height information.
  | width | A pointer to int to recieve the width information.
  | status | Must be a valid pointer to an error code value, which must not indicate a failure before the function call.

Stable:
  ICU 2.8

ULocaleData* ulocdata_open | ( | const char * | localeID,
|  | UErrorCode * | status |
| ) |  |  |

Opens a locale data object for the given locale.

Parameters:

  | localeID | Specifies the locale associated with this locale data object.
  | status | Pointer to error status code.

Stable:
  ICU 3.4

void ulocdata_setNoSubstitute | ( | ULocaleData * | uld,
|  | UBool | setting |
| ) |  |  |

Sets the "no Substitute" attribute of the locale data object.

If true, then any methods associated with the locale data object will return null when there is no data available for that method, given the locale ID supplied to ulocdata_open().

Parameters:

  | uld | The locale data object to set.
  | setting | Value of the "no substitute" attribute.

Stable:
  ICU 3.4