# Thai Industrial Standard 620-2533

Thai Industrial Standard 620-2533 ist unter der Abkürzung TIS-620 allgemein bekannt als der verbreitetste Zeichensatz und Zeichenkodierung für die thailändische Schrift. Der Standard wurde vom Thai Industrial Standards Institute (TISI), einem Organ der königlich-thailändischen Regierung, verabschiedet und ist der allein gültige Standard im Königreich Thailand.
Der beschreibende Name des Standards lautet: „Standard für Codes thailändischer Buchstaben zum Gebrauch im Computer“ (Thai: รหัสสำหรับ อักขระไทย ที่ใช้กับ คอมพิวเตอร).
Der Zusatz 2533 bezieht sich auf die Jahreszahl nach dem buddhistischen Kalender (1990), in dem der Standard veröffentlicht wurde. Die Vorgängerversion, TIS-620-2529 (1986), gilt damit nicht mehr.

## Struktur

TIS-620 ist eine konventionelle ASCII-Erweiterung, die zu 7-Bit-ASCII vollständig kompatibel ist und im 8-Bit-Hexadezimal-Bereich zwischen A1$_{hex}$ und FB$_{hex}$ die thailändischen Buchstaben kodiert. Aufgrund der komplexen Platzierung der thailändischen Vokale und Tonzeichen wird TIS-620 nur zum Informationsaustausch verwendet. Für eine korrekte Darstellung wird zusätzlich eine Rendering-Engine für thailändischen Text benötigt.

## Varianten

Eine fast identische Version von TIS-620 wurde 1999 als ISO 8859-11 adaptiert. Der einzige Unterschied ist, dass in ISO 8859-11 das Zeichen A0$_{hex}$ als geschütztes Leerzeichen definiert ist, während es in TIS-620 zwar reserviert, aber nicht definiert ist. (In der Praxis wird dieser kleine Unterschied normalerweise ignoriert.)
Der Zeichensatz ISO 8859-11 wurde auch als ISO-IR-166 bei Ecma International registriert, aber diese Variante enthält auch explizite Escape-Sequenzen, um Anfang und Ende eines thailändischen Wortes zu markieren. (Im Thailändischen werden keine Zwischenräume zwischen den Wörtern gesetzt.)
Die Windows-Codepage 874 basiert ebenfalls auf TIS-620, fügt allerdings einige weitere Zeichen hinzu.
Die Reihenfolge der Zeichen in TIS-620 wurde in Unicode (ISO 10646) ebenfalls übernommen. Der Unicodeblock Thailändisch reicht von U+0E01 bis U+0E7F. TIS-620-Zeichen können nach UTF-16 konvertiert werden, indem man zu jedem Byte 0E00$_{hex}$ addiert und A0$_{hex}$ vom Wert abzieht.
| | …0 | …1 | …2 | …3 | …4 | …5 | …6 | …7 | …8 | …9 | …A | …B | …C | …D | …E | …F |
| 0… | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt |
| 1… | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt |
| 2… | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 3… | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4… | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5… | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 6… | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7… | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | |
| 8… | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt |
| 9… | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt | unbenutzt |
| A… | | ก | ข | ฃ | ค | ฅ | ฆ | ง | จ | ฉ | ช | ซ | ฌ | ญ | ฎ | ฏ |
| B… | ฐ | ฑ | ฒ | ณ | ด | ต | ถ | ท | ธ | น | บ | ป | ผ | ฝ | พ | ฟ |
| C… | ภ | ม | ย | ร | ฤ | ล | ฦ | ว | ศ | ษ | ส | ห | ฬ | อ | ฮ | ฯ |
| D… | ะ | ั | า | ำ | ิ | ี | ึ | ื | ุ | ู | ฺ | | | | | ฿ |
| E… | เ | แ | โ | ใ | ไ | ๅ | ๆ | ็ | ่ | ้ | ๊ | ๋ | ์ | ํ | ๎ | ๏ |
| F… | ๐ | ๑ | ๒ | ๓ | ๔ | ๕ | ๖ | ๗ | ๘ | ๙ | ๚ | ๛ | | | | |
In der oberen Tabelle ist 20$_{hex}$ das reguläre Leerzeichen. Die Werte 00-1F$_{hex}$, 7F$_{hex}$. 80-9F$_{hex}$, A0$_{hex}$, DB-DE$_{hex}$ und FC-FF$_{hex}$ sind in TIS-620 keinen Zeichen zugeordnet. Die rot markiert Zeichen sind Diakritika, die mit anderen Zeichen kombiniert werden.