9 #=======================================================================
10 # File name: KEYBOARD.TXT
12 # Contents: Map (external version) from Mac OS Keyboard
13 # character set to Unicode 4.0 and later.
15 # Copyright: (c) 2001-2002, 2005 by Apple Computer, Inc., all rights
18 # Contact: charsets@apple.com
22 # c02 2005-Apr-05 Change mappings for 0x09, 0x0F, 0x8C; add
23 # Mac OS X-only mappings for 0x8D-9x8F.
24 # Update header comments, including
25 # clarification of Mac OS X usage. Matches
26 # internal xml <c1.2> and Text Encoding
28 # b1,c1 2002-Dec-19 First version. Matches internal utom<b6>.
33 # Apple, the Apple logo, and Macintosh are trademarks of Apple
34 # Computer, Inc., registered in the United States and other countries.
35 # Unicode is a trademark of Unicode Inc. For the sake of brevity,
36 # throughout this document, "Macintosh" can be used to refer to
37 # Macintosh computers and "Unicode" can be used to refer to the
40 # Apple Computer, Inc. ("Apple") makes no warranty or representation,
41 # either express or implied, with respect to this document and the
42 # included data, its quality, accuracy, or fitness for a particular
43 # purpose. In no event will Apple be liable for direct, indirect,
44 # special, incidental, or consequential damages resulting from any
45 # defect or inaccuracy in this document or the included data.
47 # These mapping tables and character lists are subject to change.
48 # The latest tables should be available from the following:
50 # <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
52 # For general information about Mac OS encodings and these mapping
53 # tables, see the file "README.TXT".
58 # Three tab-separated columns;
59 # '#' begins a comment which continues to the end of the line.
60 # Column #1 is the Mac OS Keyboard code (in hex as 0xNN)
61 # Column #2 is the corresponding Unicode or Unicode sequence
62 # (in hex as 0xNNNN or 0xNNNN+0xNNNN, etc.).
63 # Column #3 is a comment containing the Unicode name.
64 # In some cases an additional comment follows the Unicode name.
66 # The entries are in Mac OS Keyboard code order.
68 # Some of these mappings require the use of corporate characters.
69 # See the file "CORPCHAR.TXT" and notes below.
71 # The Mac OS Keyboard character set uses the ranges normally set aside
72 # for controls, so those ranges are present in this table.
74 # Notes on Mac OS Keyboard:
75 # -------------------------
77 # This is the encoding for the legacy font named ".Keyboard". Before
78 # Mac OS X, this font was used by the user-interface system to display
79 # glyphs for special keys on the keyboard. In Mac OS X, that font is
80 # not present and this mapping is not associated with a font; it is
81 # only used as a way to map from a set of Menu Manager constants to
82 # associated Unicode sequences. As such, new mappings added for Mac OS
83 # X only may be one-way mappings: From the Keyboard glyph "encoding"
84 # to Unicode, but not back.
86 # The Mac OS Keyboard encoding shares the script code smRoman
87 # (0) with the Mac OS Roman encoding. To determine if the Keyboard
88 # encoding is being used in Mac OS 8 or Mac OS 9, you must check if
89 # the font name is ".Keyboard".
91 # Unicode mapping issues and notes:
92 # ---------------------------------
94 # The goals in the mappings provided here are:
95 # - For mappings used in Mac OS 8 and Mac OS 9, ensure roundtrip
96 # mapping from every character in the Mac OS Keyboard character set
97 # to Unicode and back. This consideration does not apply to mappings
98 # added for Mac OS X only (noted below).
99 # - Use standard Unicode characters as much as possible, to
100 # maximize interchangeability of the resulting Unicode text.
101 # Whenever possible, avoid having content carried by private-use
104 # Some of the characters in the Mac OS Keyboard character set do not
105 # correspond to distinct, single Unicode characters. To map these
106 # and satisfy both goals above, we employ various strategies.
108 # a) If possible, use private use characters in combination with
109 # standard Unicode characters to mark variants of the standard
112 # Apple has defined a block of 32 corporate characters as "transcoding
113 # hints." These are used in combination with standard Unicode
114 # characters to force them to be treated in a special way for mapping
115 # to other encodings; they have no other effect. Sixteen of these
116 # transcoding hints are "grouping hints" - they indicate that the next
117 # 2-4 Unicode characters should be treated as a single entity for
118 # transcoding. The other sixteen transcoding hints are "variant tags"
119 # - they are like combining characters, and can follow a standard
120 # Unicode (or a sequence consisting of a base character and other
121 # combining characters) to cause it to be treated in a special way for
122 # transcoding. These always terminate a combining-character sequence.
124 # The transcoding coding hints used in this mapping table are two
125 # grouping tags, 0xF860-61, and one variant tag, 0xF87F. Since these
126 # are combined with standard Unicode characters, some characters in
127 # the Mac OS Keyboard character set map to a sequence of two to four
128 # Unicodes instead of a single Unicode character.
130 # For example, the Mac OS Keyboard character at 0x6F, representing the
131 # F1 key, is mapped to Unicode using the grouping tag F860 (group next
132 # two) followed by U+0046 (LATIN CAPITAL LETTER F) and U+0031 (DIGIT
135 # b) Otherwise, use private use characters by themselves to map Mac OS
136 # Keyboard characters which have no relationship to any standard
139 # The following additional corporate zone Unicode characters are
140 # used for this purpose here:
142 # 0xF802 Lower left pencil
143 # 0xF803 Contextual menu key symbol
146 # NOTE: The graphic image associated with the Apple logo character
147 # is not authorized for use without permission of Apple, and
148 # unauthorized use might constitute trademark infringement.
150 # Details of mapping changes in each version:
151 # -------------------------------------------
153 # Changes from version c01 to version c02:
155 # - Mapping for 0x09 changed from 0x0009 (wrong) to 0x2423
156 # - Mapping for 0x0F changed from 0x270E (wrong) to 0xF802
157 # - Mapping for 0x8C changed from 0xF804 to 0x23CF (Unicode 4.0)
158 # - Add Mac OS X-only mappings for 0x8D-0x8F
205 #0x67 = 0x003F+0x20DD
210 #0x6C = 0xF8FF+0xF87F
212 #0x6E = 0x2758+0x20DD
213 #0x6F = 0xF860+0x0046+0x0031
214 #0x70 = 0xF860+0x0046+0x0032
215 #0x71 = 0xF860+0x0046+0x0033
216 #0x72 = 0xF860+0x0046+0x0034
217 #0x73 = 0xF860+0x0046+0x0035
218 #0x74 = 0xF860+0x0046+0x0036
219 #0x75 = 0xF860+0x0046+0x0037
220 #0x76 = 0xF860+0x0046+0x0038
221 #0x77 = 0xF860+0x0046+0x0039
222 #0x78 = 0xF861+0x0046+0x0031+0x0030
223 #0x79 = 0xF861+0x0046+0x0031+0x0031
224 #0x7A = 0xF861+0x0046+0x0031+0x0032
225 #0x87 = 0xF861+0x0046+0x0031+0x0033
226 #0x88 = 0xF861+0x0046+0x0031+0x0034
227 #0x89 = 0xF861+0x0046+0x0031+0x0035
231 #0x8D = 0x82F1+0x6570
232 #0x8E = 0x304B+0x306A
233 #0x8F = 0xF861+0x0046+0x0031+0x0036