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