summaryrefslogtreecommitdiffstats
path: root/share/i18n/csmapper/APPLE/UCS%THAI.src
blob: 086b344c78be2194af4e69d3f9e32f67eaa46aac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
# $FreeBSD$
# $NetBSD: UCS%THAI.src,v 1.2 2006/04/08 15:47:40 tnozaki Exp $

TYPE		ROWCOL
NAME		UCS/THAI
SRC_ZONE	0x0000-0x2122
OOB_MODE	INVALID
DST_INVALID	0x100
DST_UNIT_BITS	16

BEGIN_MAP
#
# This mapping data is made from the mapping data provided by Unicode, Inc.
# Original notice:
#
#=======================================================================
#   File name:  THAI.TXT
#
#   Contents:   Map (external version) from Mac OS Thai
#               character set to Unicode 3.2 and later.
#
#   Copyright:  (c) 1995-2002, 2005 by Apple Computer, Inc., all rights
#               reserved.
#
#   Contact:    charsets@apple.com
#
#   Changes:
#
#       c02  2005-Apr-05    Update header comments. Matches internal xml
#                           <c1.1> and Text Encoding Converter 2.0.
#      b3,c1 2002-Dec-19    Update mapping for 0xDB to use new Unicode
#                           3.2 WORD JOINER instead of ZWNBSP (BOM).
#                           Update URLs. Matches internal utom<b3>.
#       b02  1999-Sep-22    Update contact e-mail address. Matches
#                           internal utom<b1>, ufrm<b2>, and Text
#                           Encoding Converter version 1.5.
#       n07  1998-Feb-05    Update to match internal utom<n5>, ufrm<n13>
#                           and Text Encoding Converter version 1.3:
#                           Use standard Unicodes plus transcoding hints
#                           instead of single corporate characters; see
#                           details below. Also update header comments
#                           to new format.
#       n04  1995-Nov-17    First version (after fixing some typos).
#                           Matches internal ufrm<n6>.
#
# Standard header:
# ----------------
#
#   Apple, the Apple logo, and Macintosh are trademarks of Apple
#   Computer, Inc., registered in the United States and other countries.
#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
#   throughout this document, "Macintosh" can be used to refer to
#   Macintosh computers and "Unicode" can be used to refer to the
#   Unicode standard.
#
#   Apple Computer, Inc. ("Apple") makes no warranty or representation,
#   either express or implied, with respect to this document and the
#   included data, its quality, accuracy, or fitness for a particular
#   purpose. In no event will Apple be liable for direct, indirect,
#   special, incidental, or consequential damages resulting from any
#   defect or inaccuracy in this document or the included data.
#
#   These mapping tables and character lists are subject to change.
#   The latest tables should be available from the following:
#
#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
#
#   For general information about Mac OS encodings and these mapping
#   tables, see the file "README.TXT".
#
# Format:
# -------
#
#   Three tab-separated columns;
#   '#' begins a comment which continues to the end of the line.
#     Column #1 is the Mac OS Thai code (in hex as 0xNN)
#     Column #2 is the corresponding Unicode or Unicode sequence
#       (in hex as 0xNNNN or 0xNNNN+0xNNNN).
#     Column #3 is a comment containing the Unicode name
#
#   The entries are in Mac OS Thai code order.
#
#   Some of these mappings require the use of corporate characters.
#   See the file "CORPCHAR.TXT" and notes below.
#
#   Control character mappings are not shown in this table, following
#   the conventions of the standard UTC mapping tables. However, the
#   Mac OS Thai character set uses the standard control characters at
#   0x00-0x1F and 0x7F.
#
# Notes on Mac OS Thai:
# ---------------------
#
#   This is a legacy Mac OS encoding; in the Mac OS X Carbon and Cocoa
#   environments, it is only supported via transcoding to and from
#   Unicode.
#
#   Codes 0xA1-0xDA and 0xDF-0xFB are the character set from Thai
#   standard TIS 620-2533, except that the following changes are
#   made:
#     0xEE is TRADE MARK SIGN (instead of THAI CHARACTER YAMAKKAN)
#     0xFA is REGISTERED SIGN (instead of THAI CHARACTER ANGKHANKHU)
#     0xFB is COPYRIGHT SIGN (instead of THAI CHARACTER KHOMUT)
#
#   Codes 0x80-0x82, 0x8D-0x8E, 0x91, 0x9D-0x9E, and 0xDB-0xDE are
#   various additional punctuation marks (e.g. curly quotes,
#   ellipsis), no-break space, and two special characters "word join"
#   and "word break".
#
#   Codes 0x83-0x8C, 0x8F, and 0x92-0x9C are for positional variants
#   of the upper vowels, tone marks, and other signs at 0xD1,
#   0xD4-0xD7, and 0xE7-0xED. The positional variants would normally
#   be considered presentation forms only and not characters. In most
#   cases they are not typed directly; they are selected automatically
#   at display time by the WorldScript software. However, using the
#   Thai-DTP keyboard, the presentation forms can in fact be typed
#   directly using dead keys. Thus they must be treated as real
#   characters in the Mac OS Thai encoding. They are mapped using
#   variant tags; see below.
#
#   Several code points are undefined and unused (they cannot be
#   typed using any of the Mac OS Thai keyboard layouts): 0x90, 0x9F,
#   0xFC-0xFE. These are not shown in the table below.
#
# Unicode mapping issues and notes:
# ---------------------------------
#
#   The goals in the Apple mappings provided here are:
#   - Ensure roundtrip mapping from every character in the Mac OS Thai
#   character set to Unicode and back
#   - Use standard Unicode characters as much as possible, to maximize
#   interchangeability of the resulting Unicode text. Whenever possible,
#   avoid having content carried by private-use characters.
#
#   To satisfy both goals, we use private use characters to mark variants
#   that are similar to a sequence of one or more standard Unicode
#   characters.
#
#   Apple has defined a block of 32 corporate characters as "transcoding
#   hints." These are used in combination with standard Unicode characters
#   to force them to be treated in a special way for mapping to other
#   encodings; they have no other effect. Sixteen of these transcoding
#   hints are "grouping hints" - they indicate that the next 2-4 Unicode
#   characters should be treated as a single entity for transcoding. The
#   other sixteen transcoding hints are "variant tags" - they are like
#   combining characters, and can follow a standard Unicode (or a sequence
#   consisting of a base character and other combining characters) to
#   cause it to be treated in a special way for transcoding. These always
#   terminate a combining-character sequence.
#
#   The transcoding coding hints used in this mapping table are four
#   variant tags in the range 0xF873-75. Since these are combined with
#   standard Unicode characters, some characters in the Mac OS Thai
#   character set map to a sequence of two Unicodes instead of a single
#   Unicode character. For example, the Mac OS Thai character at 0x83 is a
#   low-left positional variant of THAI CHARACTER MAI EK (the standard
#   mapping is for the abstract character at 0xE8). So 0x83 is mapped to
#   0x0E48 (THAI CHARACTER MAI EK) + 0xF875 (a variant tag).
#
# Details of mapping changes in each version:
# -------------------------------------------
#
#   Changes from version b02 to version b03/c01:
#
#   - Update mapping for 0xDB to use new Unicode 3.2 character U+2060
#     WORD JOINER instead of U+FEFF ZERO WIDTH NO-BREAK SPACE (BOM)
#
#   Changes from version n04 to version n07:
#
#   - Changed mappings of the positional variants to use standard
#   Unicodes + transcoding hint, instead of using single corporate
#   zone characters. This affected the mappings for the following:
#   0x83-08C, 0x8F, 0x92-0x9C
#
#   - Just comment out unused code points in the table, instead
#   of mapping them to U+FFFD.
#
##################
0x0000 - 0x007E = 0x00 -
0x00A0 = 0xA0
0x00A9 = 0xFB
0x00AB = 0x80
0x00AE = 0xFA
0x00BB = 0x81
0x0E01 = 0xA1
0x0E02 = 0xA2
0x0E03 = 0xA3
0x0E04 = 0xA4
0x0E05 = 0xA5
0x0E06 = 0xA6
0x0E07 = 0xA7
0x0E08 = 0xA8
0x0E09 = 0xA9
0x0E0A = 0xAA
0x0E0B = 0xAB
0x0E0C = 0xAC
0x0E0D = 0xAD
0x0E0E = 0xAE
0x0E0F = 0xAF
0x0E10 = 0xB0
0x0E11 = 0xB1
0x0E12 = 0xB2
0x0E13 = 0xB3
0x0E14 = 0xB4
0x0E15 = 0xB5
0x0E16 = 0xB6
0x0E17 = 0xB7
0x0E18 = 0xB8
0x0E19 = 0xB9
0x0E1A = 0xBA
0x0E1B = 0xBB
0x0E1C = 0xBC
0x0E1D = 0xBD
0x0E1E = 0xBE
0x0E1F = 0xBF
0x0E20 = 0xC0
0x0E21 = 0xC1
0x0E22 = 0xC2
0x0E23 = 0xC3
0x0E24 = 0xC4
0x0E25 = 0xC5
0x0E26 = 0xC6
0x0E27 = 0xC7
0x0E28 = 0xC8
0x0E29 = 0xC9
0x0E2A = 0xCA
0x0E2B = 0xCB
0x0E2C = 0xCC
0x0E2D = 0xCD
0x0E2E = 0xCE
0x0E2F = 0xCF
0x0E30 = 0xD0
0x0E31 = 0x92
0x0E31 = 0xD1
0x0E32 = 0xD2
0x0E33 = 0xD3
0x0E34 = 0x94
0x0E34 = 0xD4
0x0E35 = 0x95
0x0E35 = 0xD5
0x0E36 = 0x96
0x0E36 = 0xD6
0x0E37 = 0x97
0x0E37 = 0xD7
0x0E38 = 0xD8
0x0E39 = 0xD9
0x0E3A = 0xDA
0x0E3F = 0xDF
0x0E40 = 0xE0
0x0E41 = 0xE1
0x0E42 = 0xE2
0x0E43 = 0xE3
0x0E44 = 0xE4
0x0E45 = 0xE5
0x0E46 = 0xE6
0x0E47 = 0x93
0x0E47 = 0xE7
0x0E48 = 0x83
0x0E48 = 0x88
0x0E48 = 0x98
0x0E48 = 0xE8
0x0E49 = 0x84
0x0E49 = 0x89
0x0E49 = 0x99
0x0E49 = 0xE9
0x0E4A = 0x85
0x0E4A = 0x8A
0x0E4A = 0x9A
0x0E4A = 0xEA
0x0E4B = 0x86
0x0E4B = 0x8B
0x0E4B = 0x9B
0x0E4B = 0xEB
0x0E4C = 0x87
0x0E4C = 0x8C
0x0E4C = 0x9C
0x0E4C = 0xEC
0x0E4D = 0x8F
0x0E4D = 0xED
0x0E4F = 0xEF
0x0E50 = 0xF0
0x0E51 = 0xF1
0x0E52 = 0xF2
0x0E53 = 0xF3
0x0E54 = 0xF4
0x0E55 = 0xF5
0x0E56 = 0xF6
0x0E57 = 0xF7
0x0E58 = 0xF8
0x0E59 = 0xF9
0x200B = 0xDC
0x2013 = 0xDD
0x2014 = 0xDE
0x2018 = 0x9D
0x2019 = 0x9E
0x201C = 0x8D
0x201D = 0x8E
0x2022 = 0x91
0x2026 = 0x82
0x2060 = 0xDB
0x2122 = 0xEE
END_MAP
OpenPOWER on IntegriCloud