libthai: thai/wtt.h File Reference

# thai/wtt.h File Reference

WTT I/O implementation. More...

## Enumerations
enum | WTTClass { CTRL = 0, NON = 1, CONS = 2, LV = 3, FV1 = 4, FV2 = 5, FV3 = 6, BV1 = 7, BV2 = 8, BD = 9, TONE = 10, AD1 = 11, AD2 = 12, AD3 = 13, AV1 = 14, AV2 = 15, AV3 = 16 }
| Classification of characters in TIS620 according to WTT. More...
enum | WTTOp { CP = 1, XC = 2, AC = 3, RJ = 4, SR = 5 }
| Composibility checking tables. More...
## Functions
WTTClass | TACchtype (thchar_t c)
| WTT character class.
WTTOp | TACio_op (thchar_t c1, thchar_t c2)
| WTT I/O operation.

## Detailed Description

WTT I/O implementation.

WTT stands for Wing Tuk Tee (in Thai, Runs everywhere). It was defined by TACTIS (Thai API Consortium/Thai Industrial Standard) in the NECTEC Thai Software Standard Project (1989-1991), and later endorsed by Thai Industrial Standard Institute (TISI) as TIS 1566-2541 in 1998.

WTT classifies Thai chracter(TIS-620) into 17 types below.

     ITYPE  VALUE SHORT_DESCRIPTION
     CTRL    0    control characters
     NON     1    non composible characters
     CONS    2    consonants
     LV      3    leading vowels
     FV1     4    following vowels 1
     FV2     5    following vowels 2
     FV3     6    following vowels 3
     BV1     7    below vowels 1
     BV2     8    below vowels 2
     BD      9    below diacritics
     TONE    10   tonemarks
     AD1     11   above diacritics 1
     AD2     12   above diacritics 2
     AD3     13   above diacritics 3
     AV1     14   above vowels 1
     AV2     15   above vowels 2
     AV3     16   above vowels 3

Functions in thctype.h do basic character classifications while wtt.h classifies a chracter in detail. Please refer to the reference.

TACio_op() checks how to compose two given chracters. The possiblities are Composible (CP), Non-display (XC), Accept (AC), Reject (RJ) and Strict Reject (SR). The values of CP, XC, AC, RJ and SR are difined in wtt.h. And their meanings are:

- CP : second character is displayed in the same cell as the first, also implies an acceptance.
- XC : Do nothing.
- AC : Display second character in the next cell.
- RJ : Discard second character.
- SR : Reject second character only in strict mode.

## Enumeration Type Documentation

enum WTTClass

Classification of characters in TIS620 according to WTT.

Enumerator:

  CTRL | control chars
  NON | non composibles
  CONS | consonants
  LV | leading vowels
  FV1 | following vowels 1
  FV2 | following vowels 2
  FV3 | following vowels 3
  BV1 | below vowels 1
  BV2 | below vowels 2
  BD | below diacritics
  TONE | tonemarks
  AD1 | above diacritics 1
  AD2 | above diacritics 2
  AD3 | above diacritics 3
  AV1 | above vowels 1
  AV2 | above vowels 2
  AV3 | above vowels 3

enum WTTOp

Composibility checking tables.

Enumerator:

  CP | COMPOSIBLE - following char is displayed in the same cell as leading char, also implies ACCEPT
  XC | Non-display
  AC | ACCEPT - display the following char in the next cell
  RJ | REJECT - discard that following char, ignore it
  SR | STRICT REJECT - REJECT only if in strict mode

## Function Documentation

WTTClass TACchtype | ( | thchar_t | c | ) |

WTT character class.

Parameters:

  | c | : the character

Returns:
  WTT character class { CTRL, ..., AV3 }

WTTOp TACio_op | ( | thchar_t | c1,
|  | thchar_t | c2 |
| ) |  |  |

WTT I/O operation.

Parameters:

  | c1 | : previous character
  | c2 | : next character

Returns:
  WTT I/O operation { CP, XC, AC, RJ, SR }