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 A1hex und FBhex 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 A0hex 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 0E00hex addiert und A0hex vom Wert abzieht.
…0 | …1 | …2 | …3 | …4 | …5 | …6 | …7 | …8 | …9 | …A | …B | …C | …D | …E | …F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0… | unbenutzt | |||||||||||||||
1… | ||||||||||||||||
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 | |||||||||||||||
9… | ||||||||||||||||
A… | ก | ข | ฃ | ค | ฅ | ฆ | ง | จ | ฉ | ช | ซ | ฌ | ญ | ฎ | ฏ | |
B… | ฐ | ฑ | ฒ | ณ | ด | ต | ถ | ท | ธ | น | บ | ป | ผ | ฝ | พ | ฟ |
C… | ภ | ม | ย | ร | ฤ | ล | ฦ | ว | ศ | ษ | ส | ห | ฬ | อ | ฮ | ฯ |
D… | ะ | ั | า | ำ | ิ | ี | ึ | ื | ุ | ู | ฺ | ฿ | ||||
E… | เ | แ | โ | ใ | ไ | ๅ | ๆ | ็ | ่ | ้ | ๊ | ๋ | ์ | ํ | ๎ | ๏ |
F… | ๐ | ๑ | ๒ | ๓ | ๔ | ๕ | ๖ | ๗ | ๘ | ๙ | ๚ | ๛ |
In der oberen Tabelle ist 20hex das reguläre Leerzeichen. Die Werte 00-1Fhex, 7Fhex. 80-9Fhex, A0hex, DB-DEhex und FC-FFhex sind in TIS-620 keinen Zeichen zugeordnet. Die rot markiert Zeichen sind Diakritika, die mit anderen Zeichen kombiniert werden.
Weblinks
- Offizielle Referenz (auf Thai)
- Mapping von TIS-620 auf ISO 10646 (nicht maßgeblich)