|
1 "{ Encoding: utf8 }" |
|
2 |
|
3 "{ Package: 'stx:libbasic' }" |
|
4 |
|
5 "{ NameSpace: CharacterEncoderImplementations }" |
|
6 |
|
7 SingleByteEncoder subclass:#CP437 |
|
8 instanceVariableNames:'' |
|
9 classVariableNames:'' |
|
10 poolDictionaries:'' |
|
11 category:'Collections-Text-Encodings' |
|
12 ! |
|
13 |
|
14 |
|
15 !CP437 class methodsFor:'encoding & decoding'! |
|
16 |
|
17 mapFileURL2_relativePathName |
|
18 ^ 'CP437' |
|
19 |
|
20 " |
|
21 self generateCode |
|
22 " |
|
23 ! ! |
|
24 |
|
25 !CP437 class methodsFor:'mapping'! |
|
26 |
|
27 mapping |
|
28 " |
|
29 # From: http://std.dkuug.dk/i18n/charmaps/CP437 |
|
30 |
|
31 <code_set_name> IBM437 |
|
32 <comment_char> % |
|
33 <escape_char> / |
|
34 % version: 1.0 |
|
35 % repertoiremap: mnemonic,ds |
|
36 % source: IBM NLS RM Vol2 SE09-8002-01, March 1990 |
|
37 |
|
38 % alias CP437 |
|
39 % alias 437 |
|
40 CHARMAP |
|
41 <NU> /x00 <U0000> NULL (NUL) |
|
42 <SH> /x01 <U0001> START OF HEADING (SOH) |
|
43 <SX> /x02 <U0002> START OF TEXT (STX) |
|
44 <EX> /x03 <U0003> END OF TEXT (ETX) |
|
45 <ET> /x04 <U0004> END OF TRANSMISSION (EOT) |
|
46 <EQ> /x05 <U0005> ENQUIRY (ENQ) |
|
47 <AK> /x06 <U0006> ACKNOWLEDGE (ACK) |
|
48 <BL> /x07 <U0007> BELL (BEL) |
|
49 <BS> /x08 <U0008> BACKSPACE (BS) |
|
50 <HT> /x09 <U0009> CHARACTER TABULATION (HT) |
|
51 <LF> /x0A <U000A> LINE FEED (LF) |
|
52 <VT> /x0B <U000B> LINE TABULATION (VT) |
|
53 <FF> /x0C <U000C> FORM FEED (FF) |
|
54 <CR> /x0D <U000D> CARRIAGE RETURN (CR) |
|
55 <SO> /x0E <U000E> SHIFT OUT (SO) |
|
56 <SI> /x0F <U000F> SHIFT IN (SI) |
|
57 <DL> /x10 <U0010> DATALINK ESCAPE (DLE) |
|
58 <D1> /x11 <U0011> DEVICE CONTROL ONE (DC1) |
|
59 <D2> /x12 <U0012> DEVICE CONTROL TWO (DC2) |
|
60 <D3> /x13 <U0013> DEVICE CONTROL THREE (DC3) |
|
61 <D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4) |
|
62 <NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK) |
|
63 <SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN) |
|
64 <EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB) |
|
65 <CN> /x18 <U0018> CANCEL (CAN) |
|
66 <EM> /x19 <U0019> END OF MEDIUM (EM) |
|
67 <SB> /x1A <U001A> SUBSTITUTE (SUB) |
|
68 <EC> /x1B <U001B> ESCAPE (ESC) |
|
69 <FS> /x1C <U001C> FILE SEPARATOR (IS4) |
|
70 <GS> /x1D <U001D> GROUP SEPARATOR (IS3) |
|
71 <RS> /x1E <U001E> RECORD SEPARATOR (IS2) |
|
72 <US> /x1F <U001F> UNIT SEPARATOR (IS1) |
|
73 <SP> /x20 <U0020> SPACE |
|
74 <!!> /x21 <U0021> EXCLAMATION MARK |
|
75 <'> /x22 <U0022> QUOTATION MARK |
|
76 <Nb> /x23 <U0023> NUMBER SIGN |
|
77 <DO> /x24 <U0024> DOLLAR SIGN |
|
78 <%> /x25 <U0025> PERCENT SIGN |
|
79 <&> /x26 <U0026> AMPERSAND |
|
80 <'> /x27 <U0027> APOSTROPHE |
|
81 <(> /x28 <U0028> LEFT PARENTHESIS |
|
82 <)> /x29 <U0029> RIGHT PARENTHESIS |
|
83 <*> /x2A <U002A> ASTERISK |
|
84 <+> /x2B <U002B> PLUS SIGN |
|
85 <,> /x2C <U002C> COMMA |
|
86 <-> /x2D <U002D> HYPHEN-MINUS |
|
87 <.> /x2E <U002E> FULL STOP |
|
88 <//> /x2F <U002F> SOLIDUS |
|
89 <0> /x30 <U0030> DIGIT ZERO |
|
90 <1> /x31 <U0031> DIGIT ONE |
|
91 <2> /x32 <U0032> DIGIT TWO |
|
92 <3> /x33 <U0033> DIGIT THREE |
|
93 <4> /x34 <U0034> DIGIT FOUR |
|
94 <5> /x35 <U0035> DIGIT FIVE |
|
95 <6> /x36 <U0036> DIGIT SIX |
|
96 <7> /x37 <U0037> DIGIT SEVEN |
|
97 <8> /x38 <U0038> DIGIT EIGHT |
|
98 <9> /x39 <U0039> DIGIT NINE |
|
99 <:> /x3A <U003A> COLON |
|
100 <;> /x3B <U003B> SEMICOLON |
|
101 <<> /x3C <U003C> LESS-THAN SIGN |
|
102 <=> /x3D <U003D> EQUALS SIGN |
|
103 </>> /x3E <U003E> GREATER-THAN SIGN |
|
104 <?> /x3F <U003F> QUESTION MARK |
|
105 <At> /x40 <U0040> COMMERCIAL AT |
|
106 <A> /x41 <U0041> LATIN CAPITAL LETTER A |
|
107 <B> /x42 <U0042> LATIN CAPITAL LETTER B |
|
108 <C> /x43 <U0043> LATIN CAPITAL LETTER C |
|
109 <D> /x44 <U0044> LATIN CAPITAL LETTER D |
|
110 <E> /x45 <U0045> LATIN CAPITAL LETTER E |
|
111 <F> /x46 <U0046> LATIN CAPITAL LETTER F |
|
112 <G> /x47 <U0047> LATIN CAPITAL LETTER G |
|
113 <H> /x48 <U0048> LATIN CAPITAL LETTER H |
|
114 <I> /x49 <U0049> LATIN CAPITAL LETTER I |
|
115 <J> /x4A <U004A> LATIN CAPITAL LETTER J |
|
116 <K> /x4B <U004B> LATIN CAPITAL LETTER K |
|
117 <L> /x4C <U004C> LATIN CAPITAL LETTER L |
|
118 <M> /x4D <U004D> LATIN CAPITAL LETTER M |
|
119 <N> /x4E <U004E> LATIN CAPITAL LETTER N |
|
120 <O> /x4F <U004F> LATIN CAPITAL LETTER O |
|
121 <P> /x50 <U0050> LATIN CAPITAL LETTER P |
|
122 <Q> /x51 <U0051> LATIN CAPITAL LETTER Q |
|
123 <R> /x52 <U0052> LATIN CAPITAL LETTER R |
|
124 <S> /x53 <U0053> LATIN CAPITAL LETTER S |
|
125 <T> /x54 <U0054> LATIN CAPITAL LETTER T |
|
126 <U> /x55 <U0055> LATIN CAPITAL LETTER U |
|
127 <V> /x56 <U0056> LATIN CAPITAL LETTER V |
|
128 <W> /x57 <U0057> LATIN CAPITAL LETTER W |
|
129 <X> /x58 <U0058> LATIN CAPITAL LETTER X |
|
130 <Y> /x59 <U0059> LATIN CAPITAL LETTER Y |
|
131 <Z> /x5A <U005A> LATIN CAPITAL LETTER Z |
|
132 <<(> /x5B <U005B> LEFT SQUARE BRACKET |
|
133 <////> /x5C <U005C> REVERSE SOLIDUS |
|
134 <)/>> /x5D <U005D> RIGHT SQUARE BRACKET |
|
135 <'/>> /x5E <U005E> CIRCUMFLEX ACCENT |
|
136 <_> /x5F <U005F> LOW LINE |
|
137 <'!!> /x60 <U0060> GRAVE ACCENT |
|
138 <a> /x61 <U0061> LATIN SMALL LETTER A |
|
139 <b> /x62 <U0062> LATIN SMALL LETTER B |
|
140 <c> /x63 <U0063> LATIN SMALL LETTER C |
|
141 <d> /x64 <U0064> LATIN SMALL LETTER D |
|
142 <e> /x65 <U0065> LATIN SMALL LETTER E |
|
143 <f> /x66 <U0066> LATIN SMALL LETTER F |
|
144 <g> /x67 <U0067> LATIN SMALL LETTER G |
|
145 <h> /x68 <U0068> LATIN SMALL LETTER H |
|
146 <i> /x69 <U0069> LATIN SMALL LETTER I |
|
147 <j> /x6A <U006A> LATIN SMALL LETTER J |
|
148 <k> /x6B <U006B> LATIN SMALL LETTER K |
|
149 <l> /x6C <U006C> LATIN SMALL LETTER L |
|
150 <m> /x6D <U006D> LATIN SMALL LETTER M |
|
151 <n> /x6E <U006E> LATIN SMALL LETTER N |
|
152 <o> /x6F <U006F> LATIN SMALL LETTER O |
|
153 <p> /x70 <U0070> LATIN SMALL LETTER P |
|
154 <q> /x71 <U0071> LATIN SMALL LETTER Q |
|
155 <r> /x72 <U0072> LATIN SMALL LETTER R |
|
156 <s> /x73 <U0073> LATIN SMALL LETTER S |
|
157 <t> /x74 <U0074> LATIN SMALL LETTER T |
|
158 <u> /x75 <U0075> LATIN SMALL LETTER U |
|
159 <v> /x76 <U0076> LATIN SMALL LETTER V |
|
160 <w> /x77 <U0077> LATIN SMALL LETTER W |
|
161 <x> /x78 <U0078> LATIN SMALL LETTER X |
|
162 <y> /x79 <U0079> LATIN SMALL LETTER Y |
|
163 <z> /x7A <U007A> LATIN SMALL LETTER Z |
|
164 <(!!> /x7B <U007B> LEFT CURLY BRACKET |
|
165 <!!!!> /x7C <U007C> VERTICAL LINE |
|
166 <!!)> /x7D <U007D> RIGHT CURLY BRACKET |
|
167 <'?> /x7E <U007E> TILDE |
|
168 <DT> /x7F <U007F> DELETE (DEL) |
|
169 <C,> /x80 <U00C7> LATIN CAPITAL LETTER C WITH CEDILLA |
|
170 <u:> /x81 <U00FC> LATIN SMALL LETTER U WITH DIAERESIS |
|
171 <e'> /x82 <U00E9> LATIN SMALL LETTER E WITH ACUTE |
|
172 <a/>> /x83 <U00E2> LATIN SMALL LETTER A WITH CIRCUMFLEX |
|
173 <a:> /x84 <U00E4> LATIN SMALL LETTER A WITH DIAERESIS |
|
174 <a!!> /x85 <U00E0> LATIN SMALL LETTER A WITH GRAVE |
|
175 <aa> /x86 <U00E5> LATIN SMALL LETTER A WITH RING ABOVE |
|
176 <c,> /x87 <U00E7> LATIN SMALL LETTER C WITH CEDILLA |
|
177 <e/>> /x88 <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX |
|
178 <e:> /x89 <U00EB> LATIN SMALL LETTER E WITH DIAERESIS |
|
179 <e!!> /x8A <U00E8> LATIN SMALL LETTER E WITH GRAVE |
|
180 <i:> /x8B <U00EF> LATIN SMALL LETTER I WITH DIAERESIS |
|
181 <i/>> /x8C <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX |
|
182 <i!!> /x8D <U00EC> LATIN SMALL LETTER I WITH GRAVE |
|
183 <A:> /x8E <U00C4> LATIN CAPITAL LETTER A WITH DIAERESIS |
|
184 <AA> /x8F <U00C5> LATIN CAPITAL LETTER A WITH RING ABOVE |
|
185 <E'> /x90 <U00C9> LATIN CAPITAL LETTER E WITH ACUTE |
|
186 <ae> /x91 <U00E6> LATIN SMALL LETTER AE |
|
187 <AE> /x92 <U00C6> LATIN CAPITAL LETTER AE |
|
188 <o/>> /x93 <U00F4> LATIN SMALL LETTER O WITH CIRCUMFLEX |
|
189 <o:> /x94 <U00F6> LATIN SMALL LETTER O WITH DIAERESIS |
|
190 <o!!> /x95 <U00F2> LATIN SMALL LETTER O WITH GRAVE |
|
191 <u/>> /x96 <U00FB> LATIN SMALL LETTER U WITH CIRCUMFLEX |
|
192 <u!!> /x97 <U00F9> LATIN SMALL LETTER U WITH GRAVE |
|
193 <y:> /x98 <U00FF> LATIN SMALL LETTER Y WITH DIAERESIS |
|
194 <O:> /x99 <U00D6> LATIN CAPITAL LETTER O WITH DIAERESIS |
|
195 <U:> /x9A <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS |
|
196 <Ct> /x9B <U00A2> CENT SIGN |
|
197 <Pd> /x9C <U00A3> POUND SIGN |
|
198 <Ye> /x9D <U00A5> YEN SIGN |
|
199 <Pt> /x9E <U20A7> PESETA SIGN |
|
200 <f2> /x9F <U0192> LATIN SMALL LETTER F WITH HOOK |
|
201 <a'> /xA0 <U00E1> LATIN SMALL LETTER A WITH ACUTE |
|
202 <i'> /xA1 <U00ED> LATIN SMALL LETTER I WITH ACUTE |
|
203 <o'> /xA2 <U00F3> LATIN SMALL LETTER O WITH ACUTE |
|
204 <u'> /xA3 <U00FA> LATIN SMALL LETTER U WITH ACUTE |
|
205 <n?> /xA4 <U00F1> LATIN SMALL LETTER N WITH TILDE |
|
206 <N?> /xA5 <U00D1> LATIN CAPITAL LETTER N WITH TILDE |
|
207 <-a> /xA6 <U00AA> FEMININE ORDINAL INDICATOR |
|
208 <-o> /xA7 <U00BA> MASCULINE ORDINAL INDICATOR |
|
209 <?I> /xA8 <U00BF> INVERTED QUESTION MARK |
|
210 <NI> /xA9 <U2310> REVERSED NOT SIGN |
|
211 <NO> /xAA <U00AC> NOT SIGN |
|
212 <12> /xAB <U00BD> VULGAR FRACTION ONE HALF |
|
213 <14> /xAC <U00BC> VULGAR FRACTION ONE QUARTER |
|
214 <!!I> /xAD <U00A1> INVERTED EXCLAMATION MARK |
|
215 <<<> /xAE <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
216 </>/>> /xAF <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
217 <.S> /xB0 <U2591> LIGHT SHADE |
|
218 <:S> /xB1 <U2592> MEDIUM SHADE |
|
219 <?S> /xB2 <U2593> DARK SHADE |
|
220 <vv> /xB3 <U2502> BOX DRAWINGS LIGHT VERTICAL |
|
221 <vl> /xB4 <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT |
|
222 <vL> /xB5 <U2561> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE |
|
223 <Vl> /xB6 <U2562> BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE |
|
224 <Dl> /xB7 <U2556> BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE |
|
225 <dL> /xB8 <U2555> BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE |
|
226 <VL> /xB9 <U2563> BOX DRAWINGS DOUBLE VERTICAL AND LEFT |
|
227 <VV> /xBA <U2551> BOX DRAWINGS DOUBLE VERTICAL |
|
228 <LD> /xBB <U2557> BOX DRAWINGS DOUBLE DOWN AND LEFT |
|
229 <UL> /xBC <U255D> BOX DRAWINGS DOUBLE UP AND LEFT |
|
230 <Ul> /xBD <U255C> BOX DRAWINGS UP DOUBLE AND LEFT SINGLE |
|
231 <uL> /xBE <U255B> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE |
|
232 <dl> /xBF <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT |
|
233 <ur> /xC0 <U2514> BOX DRAWINGS LIGHT UP AND RIGHT |
|
234 <uh> /xC1 <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL |
|
235 <dh> /xC2 <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL |
|
236 <vr> /xC3 <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT |
|
237 <hh> /xC4 <U2500> BOX DRAWINGS LIGHT HORIZONTAL |
|
238 <vh> /xC5 <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL |
|
239 <vR> /xC6 <U255E> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE |
|
240 <Vr> /xC7 <U255F> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE |
|
241 <UR> /xC8 <U255A> BOX DRAWINGS DOUBLE UP AND RIGHT |
|
242 <DR> /xC9 <U2554> BOX DRAWINGS DOUBLE DOWN AND RIGHT |
|
243 <UH> /xCA <U2569> BOX DRAWINGS DOUBLE UP AND HORIZONTAL |
|
244 <DH> /xCB <U2566> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL |
|
245 <VR> /xCC <U2560> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT |
|
246 <HH> /xCD <U2550> BOX DRAWINGS DOUBLE HORIZONTAL |
|
247 <VH> /xCE <U256C> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL |
|
248 <uH> /xCF <U2567> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE |
|
249 <Uh> /xD0 <U2568> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE |
|
250 <dH> /xD1 <U2564> BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE |
|
251 <Dh> /xD2 <U2565> BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE |
|
252 <Ur> /xD3 <U2559> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE |
|
253 <uR> /xD4 <U2558> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE |
|
254 <dR> /xD5 <U2552> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE |
|
255 <Dr> /xD6 <U2553> BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE |
|
256 <Vh> /xD7 <U256B> BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE |
|
257 <vH> /xD8 <U256A> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE |
|
258 <ul> /xD9 <U2518> BOX DRAWINGS LIGHT UP AND LEFT |
|
259 <dr> /xDA <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT |
|
260 <FB> /xDB <U2588> FULL BLOCK |
|
261 <LB> /xDC <U2584> LOWER HALF BLOCK |
|
262 <lB> /xDD <U258C> LEFT HALF BLOCK |
|
263 <RB> /xDE <U2590> RIGHT HALF BLOCK |
|
264 <TB> /xDF <U2580> UPPER HALF BLOCK |
|
265 <a*> /xE0 <U03B1> GREEK SMALL LETTER ALPHA |
|
266 <ss> /xE1 <U00DF> LATIN SMALL LETTER SHARP S (German) |
|
267 <G*> /xE2 <U0393> GREEK CAPITAL LETTER GAMMA |
|
268 <p*> /xE3 <U03C0> GREEK SMALL LETTER PI |
|
269 <S*> /xE4 <U03A3> GREEK CAPITAL LETTER SIGMA |
|
270 <s*> /xE5 <U03C3> GREEK SMALL LETTER SIGMA |
|
271 <My> /xE6 <U00B5> MICRO SIGN |
|
272 <t*> /xE7 <U03C4> GREEK SMALL LETTER TAU |
|
273 <F*> /xE8 <U03A6> GREEK CAPITAL LETTER PHI |
|
274 <H*> /xE9 <U0398> GREEK CAPITAL LETTER THETA |
|
275 <W*> /xEA <U03A9> GREEK CAPITAL LETTER OMEGA |
|
276 <d*> /xEB <U03B4> GREEK SMALL LETTER DELTA |
|
277 <00> /xEC <U221E> INFINITY |
|
278 <f*> /xED <U03C6> GREEK SMALL LETTER PHI |
|
279 <e*> /xEE <U03B5> GREEK SMALL LETTER EPSILON |
|
280 <(U> /xEF <U2229> INTERSECTION |
|
281 <=3> /xF0 <U2261> IDENTICAL TO |
|
282 <+-> /xF1 <U00B1> PLUS-MINUS SIGN |
|
283 </>=> /xF2 <U2265> GREATER-THAN OR EQUAL TO |
|
284 <=<> /xF3 <U2264> LESS-THAN OR EQUAL TO |
|
285 <Iu> /xF4 <U2320> TOP HALF INTEGRAL |
|
286 <Il> /xF5 <U2321> BOTTOM HALF INTEGRAL |
|
287 <-:> /xF6 <U00F7> DIVISION SIGN |
|
288 <?2> /xF7 <U2248> ALMOST EQUAL TO |
|
289 <DG> /xF8 <U00B0> DEGREE SIGN |
|
290 <.M> /xF9 <U00B7> MIDDLE DOT |
|
291 <sb> /xFA <U2022> BULLET |
|
292 <RT> /xFB <U221A> SQUARE ROOT |
|
293 <nS> /xFC <U207F> SUPERSCRIPT LATIN SMALL LETTER N |
|
294 <2S> /xFD <U00B2> SUPERSCRIPT TWO |
|
295 <fS> /xFE <U25A0> BLACK SQUARE |
|
296 <NS> /xFF <U00A0> NO-BREAK SPACE |
|
297 END CHARMAP |
|
298 |
|
299 " |
|
300 ! ! |
|
301 |
|
302 !CP437 class methodsFor:'queries'! |
|
303 |
|
304 namesOfEncoding |
|
305 ^ #( 'cp437' 'cp-437' 'ibm-437' 'ms-cp437' 'microsoft-cp437' 'ibm-cp437' ) |
|
306 ! ! |
|
307 |
|
308 !CP437 class methodsFor:'documentation'! |
|
309 |
|
310 version |
|
311 ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__CP437.st,v 1.1 2004-03-05 17:21:50 cg Exp $' |
|
312 ! ! |