thwchar.h File Reference

Wide char support for Thai. More...

## Macros

#define | THWCHAR_ERR (~(thwchar_t)0)
| Wide-character value indicating error.

## Typedefs

typedef wchar_t | thwchar_t
| Thai character type for storing Unicode character.

## Functions

thwchar_t | th_tis2uni (thchar_t c)
| Convert character code from TIS-620 to Unicode.
int | th_tis2uni_line (const thchar_t *s, thwchar_t *result, size_t n)
| Convert string from TIS-620 to Unicode.
thwchar_t | th_winthai2uni (thchar_t c)
| Convert character code from Thai Windows extended code to Unicode.
thwchar_t | th_macthai2uni (thchar_t c)
| Convert character code from Mac Thai extended code to Unicode.
thchar_t | th_uni2tis (thwchar_t wc)
| Convert character code from Unicode to TIS-620.
int | th_uni2tis_line (const thwchar_t *s, thchar_t *result, size_t n)
| Convert string from Unicode to TIS-620.
thchar_t | th_uni2winthai (thwchar_t wc)
| Convert character code from Unicode to Thai Windows extended code.
thchar_t | th_uni2macthai (thwchar_t wc)
| Convert character code from Unicode to Mac Thai extended code.

## Detailed Description

Wide char support for Thai.

## Function Documentation

## th_macthai2uni()

thwchar_t th_macthai2uni | ( | thchar_t | c | ) |

extern

Convert character code from Mac Thai extended code to Unicode.

Parameters

  c | : Mac Thai character/glyph to convert

Returns
  Corresponding Unicode code

## th_tis2uni()

thwchar_t th_tis2uni | ( | thchar_t | c | ) |

extern

Convert character code from TIS-620 to Unicode.

Parameters

  c | : TIS-620 character to convert

Returns
  Corresponding Unicode code

## th_tis2uni_line()

int th_tis2uni_line | ( | const thchar_t * | s,
|  | thwchar_t * | result,
|  | size_t | n )

extern

Convert string from TIS-620 to Unicode.

Parameters

  s | : source TIS-620 string (null-terminated)
  result | : buffer for storing resulting Unicode string
  n | : size of result buffer (as number of elements)

Returns
  the length of the output Unicode string, or INT_MAX, if the result exceeds the range of `int`, in which case the real result has to computed by the caller as the lesser of ``{n - 1} and ``{strlen(s)}.

## th_uni2macthai()

thchar_t th_uni2macthai | ( | thwchar_t | wc | ) |

extern

Convert character code from Unicode to Mac Thai extended code.

Parameters

  wc | : Unicode code to convert

Returns
  Corresponding Mac Thai extended code, or `TH_ERR` if conversion is impossible

## th_uni2tis()

thchar_t th_uni2tis | ( | thwchar_t | wc | ) |

extern

Convert character code from Unicode to TIS-620.

Parameters

  wc | : Unicode character to convert

Returns
  Corresponding TIS-620 code, or `TH_ERR` if conversion is impossible

## th_uni2tis_line()

int th_uni2tis_line | ( | const thwchar_t * | s,
|  | thchar_t * | result,
|  | size_t | n )

extern

Convert string from Unicode to TIS-620.

Parameters

  s | : source Unicode string (null-terminated)
  result | : buffer for storing resulting TIS-620 string
  n | : size of result buffer (as number of elements)

Returns
  the length of the output TIS-620 string, or INT_MAX, if the result exceeds the range of `int`, in which case the real result has to computed by the caller as the lesser of ``{n - 1} and ``{strlen(s)}.

Note that, since the conversion is lossy, some characters in the convesion result may be `TH_ERR`, indicating conversion error.

## th_uni2winthai()

thchar_t th_uni2winthai | ( | thwchar_t | wc | ) |

extern

Convert character code from Unicode to Thai Windows extended code.

Parameters

  wc | : Unicode code to convert

Returns
  Corresponding Thai Windows extended code, or `TH_ERR` if conversion is impossible

## th_winthai2uni()

thwchar_t th_winthai2uni | ( | thchar_t | c | ) |

extern

Convert character code from Thai Windows extended code to Unicode.

Parameters

  c | : Thai Windows character/glyph to convert

Returns
  Corresponding Unicode code