xref: /freebsd/share/i18n/csmapper/APPLE/UCS%KEYBOARD.src (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1
2TYPE		ROWCOL
3NAME		UCS/KEYBOARD
4SRC_ZONE	0x0000-0xF8FF
5OOB_MODE	INVALID
6DST_INVALID	0x100
7DST_UNIT_BITS	16
8#=======================================================================
9#   File name:  KEYBOARD.TXT
10#
11#   Contents:   Map (external version) from Mac OS Keyboard
12#               character set to Unicode 4.0 and later.
13#
14#   Copyright:  (c) 2001-2002, 2005 by Apple Computer, Inc., all rights
15#               reserved.
16#
17#   Contact:    charsets@apple.com
18#
19#   Changes:
20#
21#       c02  2005-Apr-05    Change mappings for 0x09, 0x0F, 0x8C; add
22#                           Mac OS X-only mappings for 0x8D-9x8F.
23#                           Update header comments, including
24#                           clarification of Mac OS X usage. Matches
25#                           internal xml <c1.2> and Text Encoding
26#                           Converter 2.0.
27#      b1,c1 2002-Dec-19    First version. Matches internal utom<b6>.
28#
29# Standard header:
30# ----------------
31#
32#   Apple, the Apple logo, and Macintosh are trademarks of Apple
33#   Computer, Inc., registered in the United States and other countries.
34#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
35#   throughout this document, "Macintosh" can be used to refer to
36#   Macintosh computers and "Unicode" can be used to refer to the
37#   Unicode standard.
38#
39#   Apple Computer, Inc. ("Apple") makes no warranty or representation,
40#   either express or implied, with respect to this document and the
41#   included data, its quality, accuracy, or fitness for a particular
42#   purpose. In no event will Apple be liable for direct, indirect,
43#   special, incidental, or consequential damages resulting from any
44#   defect or inaccuracy in this document or the included data.
45#
46#   These mapping tables and character lists are subject to change.
47#   The latest tables should be available from the following:
48#
49#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
50#
51#   For general information about Mac OS encodings and these mapping
52#   tables, see the file "README.TXT".
53#
54# Format:
55# -------
56#
57#   Three tab-separated columns;
58#   '#' begins a comment which continues to the end of the line.
59#     Column #1 is the Mac OS Keyboard code (in hex as 0xNN)
60#     Column #2 is the corresponding Unicode or Unicode sequence
61#       (in hex as 0xNNNN or 0xNNNN+0xNNNN, etc.).
62#     Column #3 is a comment containing the Unicode name.
63#       In some cases an additional comment follows the Unicode name.
64#
65#   The entries are in Mac OS Keyboard code order.
66#
67#   Some of these mappings require the use of corporate characters.
68#   See the file "CORPCHAR.TXT" and notes below.
69#
70#   The Mac OS Keyboard character set uses the ranges normally set aside
71#   for controls, so those ranges are present in this table.
72#
73# Notes on Mac OS Keyboard:
74# -------------------------
75#
76#   This is the encoding for the legacy font named ".Keyboard". Before
77#   Mac OS X, this font was used by the user-interface system to display
78#   glyphs for special keys on the keyboard. In Mac OS X, that font is
79#   not present and this mapping is not associated with a font; it is
80#   only used as a way to map from a set of Menu Manager constants to
81#   associated Unicode sequences. As such, new mappings added for Mac OS
82#   X only may be one-way mappings: From the Keyboard glyph "encoding"
83#   to Unicode, but not back.
84#
85#   The Mac OS Keyboard encoding shares the script code smRoman
86#   (0) with the Mac OS Roman encoding. To determine if the Keyboard
87#   encoding is being used in Mac OS 8 or Mac OS 9, you must check if
88#   the font name is ".Keyboard".
89#
90# Unicode mapping issues and notes:
91# ---------------------------------
92#
93#   The goals in the mappings provided here are:
94#   - For mappings used in Mac OS 8 and Mac OS 9, ensure roundtrip
95#     mapping from every character in the Mac OS  Keyboard character set
96#     to Unicode and back. This consideration does not apply to mappings
97#     added for Mac OS X only (noted below).
98#   - Use standard Unicode characters as much as possible, to
99#     maximize interchangeability of the resulting Unicode text.
100#     Whenever possible, avoid having content carried by private-use
101#     characters.
102#
103#   Some of the characters in the Mac OS Keyboard character set do not
104#   correspond to distinct, single Unicode characters. To map these
105#   and satisfy both goals above, we employ various strategies.
106#
107#   a) If possible, use private use characters in combination with
108#   standard Unicode characters to mark variants of the standard
109#   Unicode character.
110#
111#   Apple has defined a block of 32 corporate characters as "transcoding
112#   hints." These are used in combination with standard Unicode
113#   characters to force them to be treated in a special way for mapping
114#   to other encodings; they have no other effect. Sixteen of these
115#   transcoding hints are "grouping hints" - they indicate that the next
116#   2-4 Unicode characters should be treated as a single entity for
117#   transcoding. The other sixteen transcoding hints are "variant tags"
118#   - they are like combining characters, and can follow a standard
119#   Unicode (or a sequence consisting of a base character and other
120#   combining characters) to cause it to be treated in a special way for
121#   transcoding. These always terminate a combining-character sequence.
122#
123#   The transcoding coding hints used in this mapping table are two
124#   grouping tags, 0xF860-61, and one variant tag, 0xF87F. Since these
125#   are combined with standard Unicode characters, some characters in
126#   the Mac OS Keyboard character set map to a sequence of two to four
127#   Unicodes instead of a single Unicode character.
128#
129#   For example, the Mac OS Keyboard character at 0x6F, representing the
130#   F1 key, is mapped to Unicode using the grouping tag F860 (group next
131#   two) followed by U+0046 (LATIN CAPITAL LETTER F) and U+0031 (DIGIT
132#   ONE).
133#
134#   b) Otherwise, use private use characters by themselves to map Mac OS
135#   Keyboard characters which have no relationship to any standard
136#   Unicode character.
137#
138#   The following additional corporate zone Unicode characters are
139#   used for this purpose here:
140#
141#     0xF802  Lower left pencil
142#     0xF803  Contextual menu key symbol
143#     0xF8FF  Apple logo
144#
145#   NOTE: The graphic image associated with the Apple logo character
146#   is not authorized for use without permission of Apple, and
147#   unauthorized use might constitute trademark infringement.
148#
149# Details of mapping changes in each version:
150# -------------------------------------------
151#
152#   Changes from version c01 to version c02:
153#
154#   - Mapping for 0x09 changed from 0x0009 (wrong) to 0x2423
155#   - Mapping for 0x0F changed from 0x270E (wrong) to 0xF802
156#   - Mapping for 0x8C changed from 0xF804 to 0x23CF (Unicode 4.0)
157#   - Add Mac OS X-only mappings for 0x8D-0x8F
158#
159##################
160BEGIN_MAP
1610x0000 = 0x00
1620x0008 = 0x08
1630x000D = 0x0D
1640x0020 = 0x20
1650x0030 = 0x30
1660x0031 = 0x31
1670x0032 = 0x32
1680x0033 = 0x33
1690x0034 = 0x34
1700x0035 = 0x35
1710x0036 = 0x36
1720x0037 = 0x37
1730x0038 = 0x38
1740x0039 = 0x39
175#0x003F+0x20DD = 0x67
1760x0046 = 0x46
1770x2190 = 0x64
1780x2191 = 0x68
1790x2192 = 0x65
1800x2193 = 0x6A
1810x2196 = 0x66
1820x2198 = 0x69
1830x21A9 = 0x0B
1840x21AA = 0x0C
1850x21DE = 0x62
1860x21DF = 0x6B
1870x21E0 = 0x18
1880x21E1 = 0x19
1890x21E2 = 0x1A
1900x21E3 = 0x10
1910x21E4 = 0x03
1920x21E5 = 0x02
1930x21E7 = 0x05
1940x21EA = 0x63
1950x2303 = 0x06
1960x2318 = 0x11
1970x2324 = 0x04
1980x2325 = 0x07
1990x2326 = 0x0A
2000x2327 = 0x1C
2010x232B = 0x17
2020x2387 = 0x8B
2030x2388 = 0x8A
2040x238B = 0x1B
2050x23CF = 0x8C
2060x2423 = 0x09
2070x2423 = 0x61
2080x25C6 = 0x13
2090x2713 = 0x12
210#0x2758+0x20DD = 0x6E
211#0x304B+0x306A = 0x8E
212#0x82F1+0x6570 = 0x8D
2130xF802 = 0x0F
2140xF803 = 0x6D
215#0xF860+0x0046+0x0031 = 0x6F
216#0xF860+0x0046+0x0032 = 0x70
217#0xF860+0x0046+0x0033 = 0x71
218#0xF860+0x0046+0x0034 = 0x72
219#0xF860+0x0046+0x0035 = 0x73
220#0xF860+0x0046+0x0036 = 0x74
221#0xF860+0x0046+0x0037 = 0x75
222#0xF860+0x0046+0x0038 = 0x76
223#0xF860+0x0046+0x0039 = 0x77
224#0xF861+0x0046+0x0031+0x0030 = 0x78
225#0xF861+0x0046+0x0031+0x0031 = 0x79
226#0xF861+0x0046+0x0031+0x0032 = 0x7A
227#0xF861+0x0046+0x0031+0x0033 = 0x87
228#0xF861+0x0046+0x0031+0x0034 = 0x88
229#0xF861+0x0046+0x0031+0x0035 = 0x89
230#0xF861+0x0046+0x0031+0x0036 = 0x8F
2310xF8FF = 0x14
232#0xF8FF+0xF87F = 0x6C
233END_MAP
234