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