libthai: thai/wtt.h File Reference

libthai 0.1.29

Enumerations | Functions
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

## ◆ WTTClass

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

## ◆ WTTOp

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

## ◆ TACchtype()

WTTClass TACchtype | ( | thchar_t | c | ) |

WTT character class.

Parameters

  c | : the character

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

## ◆ TACio_op()

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 }