xref: /freebsd/share/i18n/csmapper/APPLE/KEYBOARD%UCS.src (revision ad30f8e79bd1007cc2476e491bd21b4f5e389e0a)
1*ad30f8e7SGabor Kovesdan# $FreeBSD$
2*ad30f8e7SGabor Kovesdan
3*ad30f8e7SGabor KovesdanTYPE		ROWCOL
4*ad30f8e7SGabor KovesdanNAME		KEYBOARD/UCS
5*ad30f8e7SGabor KovesdanSRC_ZONE	0x00-0x8F
6*ad30f8e7SGabor KovesdanOOB_MODE	ILSEQ
7*ad30f8e7SGabor KovesdanDST_ILSEQ	0xFFFE
8*ad30f8e7SGabor KovesdanDST_UNIT_BITS	16
9*ad30f8e7SGabor Kovesdan#=======================================================================
10*ad30f8e7SGabor Kovesdan#   File name:  KEYBOARD.TXT
11*ad30f8e7SGabor Kovesdan#
12*ad30f8e7SGabor Kovesdan#   Contents:   Map (external version) from Mac OS Keyboard
13*ad30f8e7SGabor Kovesdan#               character set to Unicode 4.0 and later.
14*ad30f8e7SGabor Kovesdan#
15*ad30f8e7SGabor Kovesdan#   Copyright:  (c) 2001-2002, 2005 by Apple Computer, Inc., all rights
16*ad30f8e7SGabor Kovesdan#               reserved.
17*ad30f8e7SGabor Kovesdan#
18*ad30f8e7SGabor Kovesdan#   Contact:    charsets@apple.com
19*ad30f8e7SGabor Kovesdan#
20*ad30f8e7SGabor Kovesdan#   Changes:
21*ad30f8e7SGabor Kovesdan#
22*ad30f8e7SGabor Kovesdan#       c02  2005-Apr-05    Change mappings for 0x09, 0x0F, 0x8C; add
23*ad30f8e7SGabor Kovesdan#                           Mac OS X-only mappings for 0x8D-9x8F.
24*ad30f8e7SGabor Kovesdan#                           Update header comments, including
25*ad30f8e7SGabor Kovesdan#                           clarification of Mac OS X usage. Matches
26*ad30f8e7SGabor Kovesdan#                           internal xml <c1.2> and Text Encoding
27*ad30f8e7SGabor Kovesdan#                           Converter 2.0.
28*ad30f8e7SGabor Kovesdan#      b1,c1 2002-Dec-19    First version. Matches internal utom<b6>.
29*ad30f8e7SGabor Kovesdan#
30*ad30f8e7SGabor Kovesdan# Standard header:
31*ad30f8e7SGabor Kovesdan# ----------------
32*ad30f8e7SGabor Kovesdan#
33*ad30f8e7SGabor Kovesdan#   Apple, the Apple logo, and Macintosh are trademarks of Apple
34*ad30f8e7SGabor Kovesdan#   Computer, Inc., registered in the United States and other countries.
35*ad30f8e7SGabor Kovesdan#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
36*ad30f8e7SGabor Kovesdan#   throughout this document, "Macintosh" can be used to refer to
37*ad30f8e7SGabor Kovesdan#   Macintosh computers and "Unicode" can be used to refer to the
38*ad30f8e7SGabor Kovesdan#   Unicode standard.
39*ad30f8e7SGabor Kovesdan#
40*ad30f8e7SGabor Kovesdan#   Apple Computer, Inc. ("Apple") makes no warranty or representation,
41*ad30f8e7SGabor Kovesdan#   either express or implied, with respect to this document and the
42*ad30f8e7SGabor Kovesdan#   included data, its quality, accuracy, or fitness for a particular
43*ad30f8e7SGabor Kovesdan#   purpose. In no event will Apple be liable for direct, indirect,
44*ad30f8e7SGabor Kovesdan#   special, incidental, or consequential damages resulting from any
45*ad30f8e7SGabor Kovesdan#   defect or inaccuracy in this document or the included data.
46*ad30f8e7SGabor Kovesdan#
47*ad30f8e7SGabor Kovesdan#   These mapping tables and character lists are subject to change.
48*ad30f8e7SGabor Kovesdan#   The latest tables should be available from the following:
49*ad30f8e7SGabor Kovesdan#
50*ad30f8e7SGabor Kovesdan#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
51*ad30f8e7SGabor Kovesdan#
52*ad30f8e7SGabor Kovesdan#   For general information about Mac OS encodings and these mapping
53*ad30f8e7SGabor Kovesdan#   tables, see the file "README.TXT".
54*ad30f8e7SGabor Kovesdan#
55*ad30f8e7SGabor Kovesdan# Format:
56*ad30f8e7SGabor Kovesdan# -------
57*ad30f8e7SGabor Kovesdan#
58*ad30f8e7SGabor Kovesdan#   Three tab-separated columns;
59*ad30f8e7SGabor Kovesdan#   '#' begins a comment which continues to the end of the line.
60*ad30f8e7SGabor Kovesdan#     Column #1 is the Mac OS Keyboard code (in hex as 0xNN)
61*ad30f8e7SGabor Kovesdan#     Column #2 is the corresponding Unicode or Unicode sequence
62*ad30f8e7SGabor Kovesdan#       (in hex as 0xNNNN or 0xNNNN+0xNNNN, etc.).
63*ad30f8e7SGabor Kovesdan#     Column #3 is a comment containing the Unicode name.
64*ad30f8e7SGabor Kovesdan#       In some cases an additional comment follows the Unicode name.
65*ad30f8e7SGabor Kovesdan#
66*ad30f8e7SGabor Kovesdan#   The entries are in Mac OS Keyboard code order.
67*ad30f8e7SGabor Kovesdan#
68*ad30f8e7SGabor Kovesdan#   Some of these mappings require the use of corporate characters.
69*ad30f8e7SGabor Kovesdan#   See the file "CORPCHAR.TXT" and notes below.
70*ad30f8e7SGabor Kovesdan#
71*ad30f8e7SGabor Kovesdan#   The Mac OS Keyboard character set uses the ranges normally set aside
72*ad30f8e7SGabor Kovesdan#   for controls, so those ranges are present in this table.
73*ad30f8e7SGabor Kovesdan#
74*ad30f8e7SGabor Kovesdan# Notes on Mac OS Keyboard:
75*ad30f8e7SGabor Kovesdan# -------------------------
76*ad30f8e7SGabor Kovesdan#
77*ad30f8e7SGabor Kovesdan#   This is the encoding for the legacy font named ".Keyboard". Before
78*ad30f8e7SGabor Kovesdan#   Mac OS X, this font was used by the user-interface system to display
79*ad30f8e7SGabor Kovesdan#   glyphs for special keys on the keyboard. In Mac OS X, that font is
80*ad30f8e7SGabor Kovesdan#   not present and this mapping is not associated with a font; it is
81*ad30f8e7SGabor Kovesdan#   only used as a way to map from a set of Menu Manager constants to
82*ad30f8e7SGabor Kovesdan#   associated Unicode sequences. As such, new mappings added for Mac OS
83*ad30f8e7SGabor Kovesdan#   X only may be one-way mappings: From the Keyboard glyph "encoding"
84*ad30f8e7SGabor Kovesdan#   to Unicode, but not back.
85*ad30f8e7SGabor Kovesdan#
86*ad30f8e7SGabor Kovesdan#   The Mac OS Keyboard encoding shares the script code smRoman
87*ad30f8e7SGabor Kovesdan#   (0) with the Mac OS Roman encoding. To determine if the Keyboard
88*ad30f8e7SGabor Kovesdan#   encoding is being used in Mac OS 8 or Mac OS 9, you must check if
89*ad30f8e7SGabor Kovesdan#   the font name is ".Keyboard".
90*ad30f8e7SGabor Kovesdan#
91*ad30f8e7SGabor Kovesdan# Unicode mapping issues and notes:
92*ad30f8e7SGabor Kovesdan# ---------------------------------
93*ad30f8e7SGabor Kovesdan#
94*ad30f8e7SGabor Kovesdan#   The goals in the mappings provided here are:
95*ad30f8e7SGabor Kovesdan#   - For mappings used in Mac OS 8 and Mac OS 9, ensure roundtrip
96*ad30f8e7SGabor Kovesdan#     mapping from every character in the Mac OS  Keyboard character set
97*ad30f8e7SGabor Kovesdan#     to Unicode and back. This consideration does not apply to mappings
98*ad30f8e7SGabor Kovesdan#     added for Mac OS X only (noted below).
99*ad30f8e7SGabor Kovesdan#   - Use standard Unicode characters as much as possible, to
100*ad30f8e7SGabor Kovesdan#     maximize interchangeability of the resulting Unicode text.
101*ad30f8e7SGabor Kovesdan#     Whenever possible, avoid having content carried by private-use
102*ad30f8e7SGabor Kovesdan#     characters.
103*ad30f8e7SGabor Kovesdan#
104*ad30f8e7SGabor Kovesdan#   Some of the characters in the Mac OS Keyboard character set do not
105*ad30f8e7SGabor Kovesdan#   correspond to distinct, single Unicode characters. To map these
106*ad30f8e7SGabor Kovesdan#   and satisfy both goals above, we employ various strategies.
107*ad30f8e7SGabor Kovesdan#
108*ad30f8e7SGabor Kovesdan#   a) If possible, use private use characters in combination with
109*ad30f8e7SGabor Kovesdan#   standard Unicode characters to mark variants of the standard
110*ad30f8e7SGabor Kovesdan#   Unicode character.
111*ad30f8e7SGabor Kovesdan#
112*ad30f8e7SGabor Kovesdan#   Apple has defined a block of 32 corporate characters as "transcoding
113*ad30f8e7SGabor Kovesdan#   hints." These are used in combination with standard Unicode
114*ad30f8e7SGabor Kovesdan#   characters to force them to be treated in a special way for mapping
115*ad30f8e7SGabor Kovesdan#   to other encodings; they have no other effect. Sixteen of these
116*ad30f8e7SGabor Kovesdan#   transcoding hints are "grouping hints" - they indicate that the next
117*ad30f8e7SGabor Kovesdan#   2-4 Unicode characters should be treated as a single entity for
118*ad30f8e7SGabor Kovesdan#   transcoding. The other sixteen transcoding hints are "variant tags"
119*ad30f8e7SGabor Kovesdan#   - they are like combining characters, and can follow a standard
120*ad30f8e7SGabor Kovesdan#   Unicode (or a sequence consisting of a base character and other
121*ad30f8e7SGabor Kovesdan#   combining characters) to cause it to be treated in a special way for
122*ad30f8e7SGabor Kovesdan#   transcoding. These always terminate a combining-character sequence.
123*ad30f8e7SGabor Kovesdan#
124*ad30f8e7SGabor Kovesdan#   The transcoding coding hints used in this mapping table are two
125*ad30f8e7SGabor Kovesdan#   grouping tags, 0xF860-61, and one variant tag, 0xF87F. Since these
126*ad30f8e7SGabor Kovesdan#   are combined with standard Unicode characters, some characters in
127*ad30f8e7SGabor Kovesdan#   the Mac OS Keyboard character set map to a sequence of two to four
128*ad30f8e7SGabor Kovesdan#   Unicodes instead of a single Unicode character.
129*ad30f8e7SGabor Kovesdan#
130*ad30f8e7SGabor Kovesdan#   For example, the Mac OS Keyboard character at 0x6F, representing the
131*ad30f8e7SGabor Kovesdan#   F1 key, is mapped to Unicode using the grouping tag F860 (group next
132*ad30f8e7SGabor Kovesdan#   two) followed by U+0046 (LATIN CAPITAL LETTER F) and U+0031 (DIGIT
133*ad30f8e7SGabor Kovesdan#   ONE).
134*ad30f8e7SGabor Kovesdan#
135*ad30f8e7SGabor Kovesdan#   b) Otherwise, use private use characters by themselves to map Mac OS
136*ad30f8e7SGabor Kovesdan#   Keyboard characters which have no relationship to any standard
137*ad30f8e7SGabor Kovesdan#   Unicode character.
138*ad30f8e7SGabor Kovesdan#
139*ad30f8e7SGabor Kovesdan#   The following additional corporate zone Unicode characters are
140*ad30f8e7SGabor Kovesdan#   used for this purpose here:
141*ad30f8e7SGabor Kovesdan#
142*ad30f8e7SGabor Kovesdan#     0xF802  Lower left pencil
143*ad30f8e7SGabor Kovesdan#     0xF803  Contextual menu key symbol
144*ad30f8e7SGabor Kovesdan#     0xF8FF  Apple logo
145*ad30f8e7SGabor Kovesdan#
146*ad30f8e7SGabor Kovesdan#   NOTE: The graphic image associated with the Apple logo character
147*ad30f8e7SGabor Kovesdan#   is not authorized for use without permission of Apple, and
148*ad30f8e7SGabor Kovesdan#   unauthorized use might constitute trademark infringement.
149*ad30f8e7SGabor Kovesdan#
150*ad30f8e7SGabor Kovesdan# Details of mapping changes in each version:
151*ad30f8e7SGabor Kovesdan# -------------------------------------------
152*ad30f8e7SGabor Kovesdan#
153*ad30f8e7SGabor Kovesdan#   Changes from version c01 to version c02:
154*ad30f8e7SGabor Kovesdan#
155*ad30f8e7SGabor Kovesdan#   - Mapping for 0x09 changed from 0x0009 (wrong) to 0x2423
156*ad30f8e7SGabor Kovesdan#   - Mapping for 0x0F changed from 0x270E (wrong) to 0xF802
157*ad30f8e7SGabor Kovesdan#   - Mapping for 0x8C changed from 0xF804 to 0x23CF (Unicode 4.0)
158*ad30f8e7SGabor Kovesdan#   - Add Mac OS X-only mappings for 0x8D-0x8F
159*ad30f8e7SGabor Kovesdan#
160*ad30f8e7SGabor Kovesdan##################
161*ad30f8e7SGabor KovesdanBEGIN_MAP
162*ad30f8e7SGabor Kovesdan0x00 = 0x0000
163*ad30f8e7SGabor Kovesdan0x02 = 0x21E5
164*ad30f8e7SGabor Kovesdan0x03 = 0x21E4
165*ad30f8e7SGabor Kovesdan0x04 = 0x2324
166*ad30f8e7SGabor Kovesdan0x05 = 0x21E7
167*ad30f8e7SGabor Kovesdan0x06 = 0x2303
168*ad30f8e7SGabor Kovesdan0x07 = 0x2325
169*ad30f8e7SGabor Kovesdan0x08 = 0x0008
170*ad30f8e7SGabor Kovesdan0x09 = 0x2423
171*ad30f8e7SGabor Kovesdan0x0A = 0x2326
172*ad30f8e7SGabor Kovesdan0x0B = 0x21A9
173*ad30f8e7SGabor Kovesdan0x0C = 0x21AA
174*ad30f8e7SGabor Kovesdan0x0D = 0x000D
175*ad30f8e7SGabor Kovesdan0x0F = 0xF802
176*ad30f8e7SGabor Kovesdan0x10 = 0x21E3
177*ad30f8e7SGabor Kovesdan0x11 = 0x2318
178*ad30f8e7SGabor Kovesdan0x12 = 0x2713
179*ad30f8e7SGabor Kovesdan0x13 = 0x25C6
180*ad30f8e7SGabor Kovesdan0x14 = 0xF8FF
181*ad30f8e7SGabor Kovesdan0x17 = 0x232B
182*ad30f8e7SGabor Kovesdan0x18 = 0x21E0
183*ad30f8e7SGabor Kovesdan0x19 = 0x21E1
184*ad30f8e7SGabor Kovesdan0x1A = 0x21E2
185*ad30f8e7SGabor Kovesdan0x1B = 0x238B
186*ad30f8e7SGabor Kovesdan0x1C = 0x2327
187*ad30f8e7SGabor Kovesdan0x20 = 0x0020
188*ad30f8e7SGabor Kovesdan0x30 = 0x0030
189*ad30f8e7SGabor Kovesdan0x31 = 0x0031
190*ad30f8e7SGabor Kovesdan0x32 = 0x0032
191*ad30f8e7SGabor Kovesdan0x33 = 0x0033
192*ad30f8e7SGabor Kovesdan0x34 = 0x0034
193*ad30f8e7SGabor Kovesdan0x35 = 0x0035
194*ad30f8e7SGabor Kovesdan0x36 = 0x0036
195*ad30f8e7SGabor Kovesdan0x37 = 0x0037
196*ad30f8e7SGabor Kovesdan0x38 = 0x0038
197*ad30f8e7SGabor Kovesdan0x39 = 0x0039
198*ad30f8e7SGabor Kovesdan0x46 = 0x0046
199*ad30f8e7SGabor Kovesdan0x61 = 0x2423
200*ad30f8e7SGabor Kovesdan0x62 = 0x21DE
201*ad30f8e7SGabor Kovesdan0x63 = 0x21EA
202*ad30f8e7SGabor Kovesdan0x64 = 0x2190
203*ad30f8e7SGabor Kovesdan0x65 = 0x2192
204*ad30f8e7SGabor Kovesdan0x66 = 0x2196
205*ad30f8e7SGabor Kovesdan#0x67 = 0x003F+0x20DD
206*ad30f8e7SGabor Kovesdan0x68 = 0x2191
207*ad30f8e7SGabor Kovesdan0x69 = 0x2198
208*ad30f8e7SGabor Kovesdan0x6A = 0x2193
209*ad30f8e7SGabor Kovesdan0x6B = 0x21DF
210*ad30f8e7SGabor Kovesdan#0x6C = 0xF8FF+0xF87F
211*ad30f8e7SGabor Kovesdan0x6D = 0xF803
212*ad30f8e7SGabor Kovesdan#0x6E = 0x2758+0x20DD
213*ad30f8e7SGabor Kovesdan#0x6F = 0xF860+0x0046+0x0031
214*ad30f8e7SGabor Kovesdan#0x70 = 0xF860+0x0046+0x0032
215*ad30f8e7SGabor Kovesdan#0x71 = 0xF860+0x0046+0x0033
216*ad30f8e7SGabor Kovesdan#0x72 = 0xF860+0x0046+0x0034
217*ad30f8e7SGabor Kovesdan#0x73 = 0xF860+0x0046+0x0035
218*ad30f8e7SGabor Kovesdan#0x74 = 0xF860+0x0046+0x0036
219*ad30f8e7SGabor Kovesdan#0x75 = 0xF860+0x0046+0x0037
220*ad30f8e7SGabor Kovesdan#0x76 = 0xF860+0x0046+0x0038
221*ad30f8e7SGabor Kovesdan#0x77 = 0xF860+0x0046+0x0039
222*ad30f8e7SGabor Kovesdan#0x78 = 0xF861+0x0046+0x0031+0x0030
223*ad30f8e7SGabor Kovesdan#0x79 = 0xF861+0x0046+0x0031+0x0031
224*ad30f8e7SGabor Kovesdan#0x7A = 0xF861+0x0046+0x0031+0x0032
225*ad30f8e7SGabor Kovesdan#0x87 = 0xF861+0x0046+0x0031+0x0033
226*ad30f8e7SGabor Kovesdan#0x88 = 0xF861+0x0046+0x0031+0x0034
227*ad30f8e7SGabor Kovesdan#0x89 = 0xF861+0x0046+0x0031+0x0035
228*ad30f8e7SGabor Kovesdan0x8A = 0x2388
229*ad30f8e7SGabor Kovesdan0x8B = 0x2387
230*ad30f8e7SGabor Kovesdan0x8C = 0x23CF
231*ad30f8e7SGabor Kovesdan#0x8D = 0x82F1+0x6570
232*ad30f8e7SGabor Kovesdan#0x8E = 0x304B+0x306A
233*ad30f8e7SGabor Kovesdan#0x8F = 0xF861+0x0046+0x0031+0x0036
234*ad30f8e7SGabor KovesdanEND_MAP
235