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