2 # Name: ANSI X3.4-1968 (US-ASCII) with 0x60/0x27 as
3 # left/right single quotation mark to Unicode
6 # Table format: Format A
8 # Authors: Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/>
12 # The coded character set commonly known as "American Standard
13 # Code for Information Interchange (ASCII)" originated in the
14 # early 1960s international standardization project that led to
15 # ECMA-6 (1965) and ISO 646 (1972). When the American National
16 # Standards Institute adopted this specification as national
17 # standard X3.4 in 1968, it added a national provision for
18 # overloading the code positions 0x60 and 0x27 with the
19 # typographic characters left and right single quotation mark.
20 # This usage was not reflected in the international standard and
21 # other national adoptions of it, but become widely used in some
22 # communities in the United States and is now found in numerous
23 # historic and still even some contemporary English-language
24 # 7-bit ASCII text files. The Unicode Standard followed
25 # explicitly the international standard, in which 0x27 encodes
26 # the directionally neutral (vertical) character that is used as
27 # both an opening and closing quotation mark as well as an
28 # apostrophe on traditional typewriters, and where 0x60 is a
29 # spacing grave accent that matches the spacing acute accent
30 # found in ISO 8859-1 on position 0xb4.
32 # To facilitate the correct display and conversion of such ASCII
33 # documents with directional quotation marks to Unicode, this
34 # encoding table defines a 7-bit coded character set mapping
35 # that differs from ISO 646-IRV in that the characters 0x60 and
36 # 0x27 are mapped to Unicode's typographic directional quotation
37 # marks on U+2018 and U+2019, respectively.
41 # - This historic ASCII interpretation is also used in the left
42 # half of the PostScript StandardEncoding and (erroneously)
43 # ISOLatin1Encoding encoding vectors.
45 # - Unicode features a SINGLE HIGH-REVERSED-9 QUOTATION MARK
46 # (U+201B), whose provided example glyph has a slightly
47 # closer ressemblance to the compromise glyphs found in many
48 # historic US-ASCII fonts that try to represent both a left
49 # quotation mark and a grave accent. However, since U+201B
50 # is not actually intended to encode correct English
51 # typographic quotation conventions, this table maps 0x60 to
52 # the the correct English opening quotation mark U+2018
53 # instead (as did PostScript).
57 # - Markus Kuhn: ASCII and Unicode quotation marks.
58 # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
60 # - Jukka Korpela: Character histories: notes on some Ascii
62 # http://www.cs.tut.fi/~jkorpela/latin1/ascii-hist.html
64 # Format: Three tab-separated columns
65 # Column #1 is the ANSI X3.4 code (in hex as 0xXX)
66 # Column #2 is the Unicode (in hex as 0xXXXX)
67 # Column #3 the Unicode name (follows a comment sign, '#')
69 # The entries are in ANSI X3.4 order.
72 0x01 0x0001 # START OF HEADING
73 0x02 0x0002 # START OF TEXT
74 0x03 0x0003 # END OF TEXT
75 0x04 0x0004 # END OF TRANSMISSION
77 0x06 0x0006 # ACKNOWLEDGE
79 0x08 0x0008 # BACKSPACE
80 0x09 0x0009 # HORIZONTAL TABULATION
81 0x0A 0x000A # LINE FEED
82 0x0B 0x000B # VERTICAL TABULATION
83 0x0C 0x000C # FORM FEED
84 0x0D 0x000D # CARRIAGE RETURN
85 0x0E 0x000E # SHIFT OUT
86 0x0F 0x000F # SHIFT IN
87 0x10 0x0010 # DATA LINK ESCAPE
88 0x11 0x0011 # DEVICE CONTROL ONE
89 0x12 0x0012 # DEVICE CONTROL TWO
90 0x13 0x0013 # DEVICE CONTROL THREE
91 0x14 0x0014 # DEVICE CONTROL FOUR
92 0x15 0x0015 # NEGATIVE ACKNOWLEDGE
93 0x16 0x0016 # SYNCHRONOUS IDLE
94 0x17 0x0017 # END OF TRANSMISSION BLOCK
96 0x19 0x0019 # END OF MEDIUM
97 0x1A 0x001A # SUBSTITUTE
99 0x1C 0x001C # FILE SEPARATOR
100 0x1D 0x001D # GROUP SEPARATOR
101 0x1E 0x001E # RECORD SEPARATOR
102 0x1F 0x001F # UNIT SEPARATOR
104 0x21 0x0021 # EXCLAMATION MARK
105 0x22 0x0022 # QUOTATION MARK
106 0x23 0x0023 # NUMBER SIGN
107 0x24 0x0024 # DOLLAR SIGN
108 0x25 0x0025 # PERCENT SIGN
109 0x26 0x0026 # AMPERSAND
110 0x27 0x2019 # RIGHT SINGLE QUOTATION MARK
111 0x28 0x0028 # LEFT PARENTHESIS
112 0x29 0x0029 # RIGHT PARENTHESIS
113 0x2A 0x002A # ASTERISK
114 0x2B 0x002B # PLUS SIGN
116 0x2D 0x002D # HYPHEN-MINUS
117 0x2E 0x002E # FULL STOP
118 0x2F 0x002F # SOLIDUS
119 0x30 0x0030 # DIGIT ZERO
120 0x31 0x0031 # DIGIT ONE
121 0x32 0x0032 # DIGIT TWO
122 0x33 0x0033 # DIGIT THREE
123 0x34 0x0034 # DIGIT FOUR
124 0x35 0x0035 # DIGIT FIVE
125 0x36 0x0036 # DIGIT SIX
126 0x37 0x0037 # DIGIT SEVEN
127 0x38 0x0038 # DIGIT EIGHT
128 0x39 0x0039 # DIGIT NINE
130 0x3B 0x003B # SEMICOLON
131 0x3C 0x003C # LESS-THAN SIGN
132 0x3D 0x003D # EQUALS SIGN
133 0x3E 0x003E # GREATER-THAN SIGN
134 0x3F 0x003F # QUESTION MARK
135 0x40 0x0040 # COMMERCIAL AT
136 0x41 0x0041 # LATIN CAPITAL LETTER A
137 0x42 0x0042 # LATIN CAPITAL LETTER B
138 0x43 0x0043 # LATIN CAPITAL LETTER C
139 0x44 0x0044 # LATIN CAPITAL LETTER D
140 0x45 0x0045 # LATIN CAPITAL LETTER E
141 0x46 0x0046 # LATIN CAPITAL LETTER F
142 0x47 0x0047 # LATIN CAPITAL LETTER G
143 0x48 0x0048 # LATIN CAPITAL LETTER H
144 0x49 0x0049 # LATIN CAPITAL LETTER I
145 0x4A 0x004A # LATIN CAPITAL LETTER J
146 0x4B 0x004B # LATIN CAPITAL LETTER K
147 0x4C 0x004C # LATIN CAPITAL LETTER L
148 0x4D 0x004D # LATIN CAPITAL LETTER M
149 0x4E 0x004E # LATIN CAPITAL LETTER N
150 0x4F 0x004F # LATIN CAPITAL LETTER O
151 0x50 0x0050 # LATIN CAPITAL LETTER P
152 0x51 0x0051 # LATIN CAPITAL LETTER Q
153 0x52 0x0052 # LATIN CAPITAL LETTER R
154 0x53 0x0053 # LATIN CAPITAL LETTER S
155 0x54 0x0054 # LATIN CAPITAL LETTER T
156 0x55 0x0055 # LATIN CAPITAL LETTER U
157 0x56 0x0056 # LATIN CAPITAL LETTER V
158 0x57 0x0057 # LATIN CAPITAL LETTER W
159 0x58 0x0058 # LATIN CAPITAL LETTER X
160 0x59 0x0059 # LATIN CAPITAL LETTER Y
161 0x5A 0x005A # LATIN CAPITAL LETTER Z
162 0x5B 0x005B # LEFT SQUARE BRACKET
163 0x5C 0x005C # REVERSE SOLIDUS
164 0x5D 0x005D # RIGHT SQUARE BRACKET
165 0x5E 0x005E # CIRCUMFLEX ACCENT
166 0x5F 0x005F # LOW LINE
167 0x60 0x2018 # LEFT SINGLE QUOTATION MARK
168 0x61 0x0061 # LATIN SMALL LETTER A
169 0x62 0x0062 # LATIN SMALL LETTER B
170 0x63 0x0063 # LATIN SMALL LETTER C
171 0x64 0x0064 # LATIN SMALL LETTER D
172 0x65 0x0065 # LATIN SMALL LETTER E
173 0x66 0x0066 # LATIN SMALL LETTER F
174 0x67 0x0067 # LATIN SMALL LETTER G
175 0x68 0x0068 # LATIN SMALL LETTER H
176 0x69 0x0069 # LATIN SMALL LETTER I
177 0x6A 0x006A # LATIN SMALL LETTER J
178 0x6B 0x006B # LATIN SMALL LETTER K
179 0x6C 0x006C # LATIN SMALL LETTER L
180 0x6D 0x006D # LATIN SMALL LETTER M
181 0x6E 0x006E # LATIN SMALL LETTER N
182 0x6F 0x006F # LATIN SMALL LETTER O
183 0x70 0x0070 # LATIN SMALL LETTER P
184 0x71 0x0071 # LATIN SMALL LETTER Q
185 0x72 0x0072 # LATIN SMALL LETTER R
186 0x73 0x0073 # LATIN SMALL LETTER S
187 0x74 0x0074 # LATIN SMALL LETTER T
188 0x75 0x0075 # LATIN SMALL LETTER U
189 0x76 0x0076 # LATIN SMALL LETTER V
190 0x77 0x0077 # LATIN SMALL LETTER W
191 0x78 0x0078 # LATIN SMALL LETTER X
192 0x79 0x0079 # LATIN SMALL LETTER Y
193 0x7A 0x007A # LATIN SMALL LETTER Z
194 0x7B 0x007B # LEFT CURLY BRACKET
195 0x7C 0x007C # VERTICAL LINE
196 0x7D 0x007D # RIGHT CURLY BRACKET