1# $FreeBSD$ 2 3TYPE ROWCOL 4NAME UCS/KEYBOARD 5SRC_ZONE 0x0000-0xF8FF 6OOB_MODE INVALID 7DST_INVALID 0x100 8DST_UNIT_BITS 16 9#======================================================================= 10# File name: KEYBOARD.TXT 11# 12# Contents: Map (external version) from Mac OS Keyboard 13# character set to Unicode 4.0 and later. 14# 15# Copyright: (c) 2001-2002, 2005 by Apple Computer, Inc., all rights 16# reserved. 17# 18# Contact: charsets@apple.com 19# 20# Changes: 21# 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 27# Converter 2.0. 28# b1,c1 2002-Dec-19 First version. Matches internal utom<b6>. 29# 30# Standard header: 31# ---------------- 32# 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 38# Unicode standard. 39# 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. 46# 47# These mapping tables and character lists are subject to change. 48# The latest tables should be available from the following: 49# 50# <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/> 51# 52# For general information about Mac OS encodings and these mapping 53# tables, see the file "README.TXT". 54# 55# Format: 56# ------- 57# 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. 65# 66# The entries are in Mac OS Keyboard code order. 67# 68# Some of these mappings require the use of corporate characters. 69# See the file "CORPCHAR.TXT" and notes below. 70# 71# The Mac OS Keyboard character set uses the ranges normally set aside 72# for controls, so those ranges are present in this table. 73# 74# Notes on Mac OS Keyboard: 75# ------------------------- 76# 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. 85# 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". 90# 91# Unicode mapping issues and notes: 92# --------------------------------- 93# 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 102# characters. 103# 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. 107# 108# a) If possible, use private use characters in combination with 109# standard Unicode characters to mark variants of the standard 110# Unicode character. 111# 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. 123# 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. 129# 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 133# ONE). 134# 135# b) Otherwise, use private use characters by themselves to map Mac OS 136# Keyboard characters which have no relationship to any standard 137# Unicode character. 138# 139# The following additional corporate zone Unicode characters are 140# used for this purpose here: 141# 142# 0xF802 Lower left pencil 143# 0xF803 Contextual menu key symbol 144# 0xF8FF Apple logo 145# 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. 149# 150# Details of mapping changes in each version: 151# ------------------------------------------- 152# 153# Changes from version c01 to version c02: 154# 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 159# 160################## 161BEGIN_MAP 1620x0000 = 0x00 1630x0008 = 0x08 1640x000D = 0x0D 1650x0020 = 0x20 1660x0030 = 0x30 1670x0031 = 0x31 1680x0032 = 0x32 1690x0033 = 0x33 1700x0034 = 0x34 1710x0035 = 0x35 1720x0036 = 0x36 1730x0037 = 0x37 1740x0038 = 0x38 1750x0039 = 0x39 176#0x003F+0x20DD = 0x67 1770x0046 = 0x46 1780x2190 = 0x64 1790x2191 = 0x68 1800x2192 = 0x65 1810x2193 = 0x6A 1820x2196 = 0x66 1830x2198 = 0x69 1840x21A9 = 0x0B 1850x21AA = 0x0C 1860x21DE = 0x62 1870x21DF = 0x6B 1880x21E0 = 0x18 1890x21E1 = 0x19 1900x21E2 = 0x1A 1910x21E3 = 0x10 1920x21E4 = 0x03 1930x21E5 = 0x02 1940x21E7 = 0x05 1950x21EA = 0x63 1960x2303 = 0x06 1970x2318 = 0x11 1980x2324 = 0x04 1990x2325 = 0x07 2000x2326 = 0x0A 2010x2327 = 0x1C 2020x232B = 0x17 2030x2387 = 0x8B 2040x2388 = 0x8A 2050x238B = 0x1B 2060x23CF = 0x8C 2070x2423 = 0x09 2080x2423 = 0x61 2090x25C6 = 0x13 2100x2713 = 0x12 211#0x2758+0x20DD = 0x6E 212#0x304B+0x306A = 0x8E 213#0x82F1+0x6570 = 0x8D 2140xF802 = 0x0F 2150xF803 = 0x6D 216#0xF860+0x0046+0x0031 = 0x6F 217#0xF860+0x0046+0x0032 = 0x70 218#0xF860+0x0046+0x0033 = 0x71 219#0xF860+0x0046+0x0034 = 0x72 220#0xF860+0x0046+0x0035 = 0x73 221#0xF860+0x0046+0x0036 = 0x74 222#0xF860+0x0046+0x0037 = 0x75 223#0xF860+0x0046+0x0038 = 0x76 224#0xF860+0x0046+0x0039 = 0x77 225#0xF861+0x0046+0x0031+0x0030 = 0x78 226#0xF861+0x0046+0x0031+0x0031 = 0x79 227#0xF861+0x0046+0x0031+0x0032 = 0x7A 228#0xF861+0x0046+0x0031+0x0033 = 0x87 229#0xF861+0x0046+0x0031+0x0034 = 0x88 230#0xF861+0x0046+0x0031+0x0035 = 0x89 231#0xF861+0x0046+0x0031+0x0036 = 0x8F 2320xF8FF = 0x14 233#0xF8FF+0xF87F = 0x6C 234END_MAP 235