---
name: "wtt.h"
section: "3"
platform: "linux"
package: "libthai-dev"
version: "0.1.6-1+etch1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/wtt.h"
---

# wtt.h(3)

## NAME

thai/wtt.h -

## 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.

## SYNOPSIS

### 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.*  enum **WTTOp** { **CP** =  1, **XC** =  2, **AC** =  3, **RJ** =  4, **SR** =  5 }\
 *Composibility checking tables.*

### Functions

**WTTClass** **TACchtype** (**thchar\_t** c)\
 *WTT character class.*  **WTTOp** **TACio\_op** (**thchar\_t** c1, **thchar\_t** c2)\
 *WTT I/O operation.*

## 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 }*

## Author

*Generated automatically by Doxygen for libthai from the source code.*
