|
1 "{ Encoding: utf8 }" |
|
2 |
|
3 "{ Package: 'stx:libbasic' }" |
|
4 |
|
5 "{ NameSpace: CharacterEncoderImplementations }" |
|
6 |
|
7 SingleByteEncoder subclass:#ISO8859_7 |
|
8 instanceVariableNames:'' |
|
9 classVariableNames:'' |
|
10 poolDictionaries:'' |
|
11 category:'Collections-Text-Encodings' |
|
12 ! |
|
13 |
|
14 |
|
15 !ISO8859_7 class methodsFor:'mapping'! |
|
16 |
|
17 mapFileURL1_relativePathName |
|
18 ^ 'ISO8859/8859-7.TXT' |
|
19 ! |
|
20 |
|
21 mapping |
|
22 " |
|
23 # From: http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT |
|
24 |
|
25 # |
|
26 # Name: ISO 8859-7:2003 to Unicode |
|
27 # Unicode version: 4.0 |
|
28 # Table version: 2.0 |
|
29 # Table format: Format A |
|
30 # Date: 2003-Nov-12 |
|
31 # Authors: Ken Whistler <kenw@sybase.com> |
|
32 # |
|
33 # Copyright (c) 1991-2003 Unicode, Inc. All Rights reserved. |
|
34 # |
|
35 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium). |
|
36 # No claims are made as to fitness for any particular purpose. No |
|
37 # warranties of any kind are expressed or implied. The recipient |
|
38 # agrees to determine applicability of information provided. If this |
|
39 # file has been provided on optical media by Unicode, Inc., the sole |
|
40 # remedy for any claim will be exchange of defective media within 90 |
|
41 # days of receipt. |
|
42 # |
|
43 # Unicode, Inc. hereby grants the right to freely use the information |
|
44 # supplied in this file in the creation of products supporting the |
|
45 # Unicode Standard, and to make copies of this file in any form for |
|
46 # internal or external distribution as long as this notice remains |
|
47 # attached. |
|
48 # |
|
49 # General notes: |
|
50 # |
|
51 # This table contains the data the Unicode Consortium has on how |
|
52 # ISO 8859-7:2003 characters map into Unicode. |
|
53 # |
|
54 # ISO 8859-7:1987 is equivalent to ISO-IR-126, ELOT 928, |
|
55 # and ECMA 118. ISO 8859-7:2003 adds two currency signs |
|
56 # and one other character not in the earlier standard. |
|
57 # |
|
58 # Format: Three tab-separated columns |
|
59 # Column #1 is the ISO 8859-7 code (in hex as 0xXX) |
|
60 # Column #2 is the Unicode (in hex as 0xXXXX) |
|
61 # Column #3 the Unicode name (follows a comment sign, '#') |
|
62 # |
|
63 # The entries are in ISO 8859-7 order. |
|
64 # |
|
65 # Version history |
|
66 # 1.0 version updates 0.1 version by adding mappings for all |
|
67 # control characters. |
|
68 # Remap 0xA1 to U+2018 (instead of 0x02BD) to match text of 8859-7 |
|
69 # Remap 0xA2 to U+2019 (instead of 0x02BC) to match text of 8859-7 |
|
70 # |
|
71 # 2.0 version updates 1.0 version by adding mappings for the |
|
72 # three newly added characters 0xA4, 0xA5, 0xAA. |
|
73 # |
|
74 # Updated versions of this file may be found in: |
|
75 # <http://www.unicode.org/Public/MAPPINGS/> |
|
76 # |
|
77 # Any comments or problems, contact the Unicode Consortium at: |
|
78 # <http://www.unicode.org/reporting.html> |
|
79 # |
|
80 0x00 0x0000 # NULL |
|
81 0x01 0x0001 # START OF HEADING |
|
82 0x02 0x0002 # START OF TEXT |
|
83 0x03 0x0003 # END OF TEXT |
|
84 0x04 0x0004 # END OF TRANSMISSION |
|
85 0x05 0x0005 # ENQUIRY |
|
86 0x06 0x0006 # ACKNOWLEDGE |
|
87 0x07 0x0007 # BELL |
|
88 0x08 0x0008 # BACKSPACE |
|
89 0x09 0x0009 # HORIZONTAL TABULATION |
|
90 0x0A 0x000A # LINE FEED |
|
91 0x0B 0x000B # VERTICAL TABULATION |
|
92 0x0C 0x000C # FORM FEED |
|
93 0x0D 0x000D # CARRIAGE RETURN |
|
94 0x0E 0x000E # SHIFT OUT |
|
95 0x0F 0x000F # SHIFT IN |
|
96 0x10 0x0010 # DATA LINK ESCAPE |
|
97 0x11 0x0011 # DEVICE CONTROL ONE |
|
98 0x12 0x0012 # DEVICE CONTROL TWO |
|
99 0x13 0x0013 # DEVICE CONTROL THREE |
|
100 0x14 0x0014 # DEVICE CONTROL FOUR |
|
101 0x15 0x0015 # NEGATIVE ACKNOWLEDGE |
|
102 0x16 0x0016 # SYNCHRONOUS IDLE |
|
103 0x17 0x0017 # END OF TRANSMISSION BLOCK |
|
104 0x18 0x0018 # CANCEL |
|
105 0x19 0x0019 # END OF MEDIUM |
|
106 0x1A 0x001A # SUBSTITUTE |
|
107 0x1B 0x001B # ESCAPE |
|
108 0x1C 0x001C # FILE SEPARATOR |
|
109 0x1D 0x001D # GROUP SEPARATOR |
|
110 0x1E 0x001E # RECORD SEPARATOR |
|
111 0x1F 0x001F # UNIT SEPARATOR |
|
112 0x20 0x0020 # SPACE |
|
113 0x21 0x0021 # EXCLAMATION MARK |
|
114 0x22 0x0022 # QUOTATION MARK |
|
115 0x23 0x0023 # NUMBER SIGN |
|
116 0x24 0x0024 # DOLLAR SIGN |
|
117 0x25 0x0025 # PERCENT SIGN |
|
118 0x26 0x0026 # AMPERSAND |
|
119 0x27 0x0027 # APOSTROPHE |
|
120 0x28 0x0028 # LEFT PARENTHESIS |
|
121 0x29 0x0029 # RIGHT PARENTHESIS |
|
122 0x2A 0x002A # ASTERISK |
|
123 0x2B 0x002B # PLUS SIGN |
|
124 0x2C 0x002C # COMMA |
|
125 0x2D 0x002D # HYPHEN-MINUS |
|
126 0x2E 0x002E # FULL STOP |
|
127 0x2F 0x002F # SOLIDUS |
|
128 0x30 0x0030 # DIGIT ZERO |
|
129 0x31 0x0031 # DIGIT ONE |
|
130 0x32 0x0032 # DIGIT TWO |
|
131 0x33 0x0033 # DIGIT THREE |
|
132 0x34 0x0034 # DIGIT FOUR |
|
133 0x35 0x0035 # DIGIT FIVE |
|
134 0x36 0x0036 # DIGIT SIX |
|
135 0x37 0x0037 # DIGIT SEVEN |
|
136 0x38 0x0038 # DIGIT EIGHT |
|
137 0x39 0x0039 # DIGIT NINE |
|
138 0x3A 0x003A # COLON |
|
139 0x3B 0x003B # SEMICOLON |
|
140 0x3C 0x003C # LESS-THAN SIGN |
|
141 0x3D 0x003D # EQUALS SIGN |
|
142 0x3E 0x003E # GREATER-THAN SIGN |
|
143 0x3F 0x003F # QUESTION MARK |
|
144 0x40 0x0040 # COMMERCIAL AT |
|
145 0x41 0x0041 # LATIN CAPITAL LETTER A |
|
146 0x42 0x0042 # LATIN CAPITAL LETTER B |
|
147 0x43 0x0043 # LATIN CAPITAL LETTER C |
|
148 0x44 0x0044 # LATIN CAPITAL LETTER D |
|
149 0x45 0x0045 # LATIN CAPITAL LETTER E |
|
150 0x46 0x0046 # LATIN CAPITAL LETTER F |
|
151 0x47 0x0047 # LATIN CAPITAL LETTER G |
|
152 0x48 0x0048 # LATIN CAPITAL LETTER H |
|
153 0x49 0x0049 # LATIN CAPITAL LETTER I |
|
154 0x4A 0x004A # LATIN CAPITAL LETTER J |
|
155 0x4B 0x004B # LATIN CAPITAL LETTER K |
|
156 0x4C 0x004C # LATIN CAPITAL LETTER L |
|
157 0x4D 0x004D # LATIN CAPITAL LETTER M |
|
158 0x4E 0x004E # LATIN CAPITAL LETTER N |
|
159 0x4F 0x004F # LATIN CAPITAL LETTER O |
|
160 0x50 0x0050 # LATIN CAPITAL LETTER P |
|
161 0x51 0x0051 # LATIN CAPITAL LETTER Q |
|
162 0x52 0x0052 # LATIN CAPITAL LETTER R |
|
163 0x53 0x0053 # LATIN CAPITAL LETTER S |
|
164 0x54 0x0054 # LATIN CAPITAL LETTER T |
|
165 0x55 0x0055 # LATIN CAPITAL LETTER U |
|
166 0x56 0x0056 # LATIN CAPITAL LETTER V |
|
167 0x57 0x0057 # LATIN CAPITAL LETTER W |
|
168 0x58 0x0058 # LATIN CAPITAL LETTER X |
|
169 0x59 0x0059 # LATIN CAPITAL LETTER Y |
|
170 0x5A 0x005A # LATIN CAPITAL LETTER Z |
|
171 0x5B 0x005B # LEFT SQUARE BRACKET |
|
172 0x5C 0x005C # REVERSE SOLIDUS |
|
173 0x5D 0x005D # RIGHT SQUARE BRACKET |
|
174 0x5E 0x005E # CIRCUMFLEX ACCENT |
|
175 0x5F 0x005F # LOW LINE |
|
176 0x60 0x0060 # GRAVE ACCENT |
|
177 0x61 0x0061 # LATIN SMALL LETTER A |
|
178 0x62 0x0062 # LATIN SMALL LETTER B |
|
179 0x63 0x0063 # LATIN SMALL LETTER C |
|
180 0x64 0x0064 # LATIN SMALL LETTER D |
|
181 0x65 0x0065 # LATIN SMALL LETTER E |
|
182 0x66 0x0066 # LATIN SMALL LETTER F |
|
183 0x67 0x0067 # LATIN SMALL LETTER G |
|
184 0x68 0x0068 # LATIN SMALL LETTER H |
|
185 0x69 0x0069 # LATIN SMALL LETTER I |
|
186 0x6A 0x006A # LATIN SMALL LETTER J |
|
187 0x6B 0x006B # LATIN SMALL LETTER K |
|
188 0x6C 0x006C # LATIN SMALL LETTER L |
|
189 0x6D 0x006D # LATIN SMALL LETTER M |
|
190 0x6E 0x006E # LATIN SMALL LETTER N |
|
191 0x6F 0x006F # LATIN SMALL LETTER O |
|
192 0x70 0x0070 # LATIN SMALL LETTER P |
|
193 0x71 0x0071 # LATIN SMALL LETTER Q |
|
194 0x72 0x0072 # LATIN SMALL LETTER R |
|
195 0x73 0x0073 # LATIN SMALL LETTER S |
|
196 0x74 0x0074 # LATIN SMALL LETTER T |
|
197 0x75 0x0075 # LATIN SMALL LETTER U |
|
198 0x76 0x0076 # LATIN SMALL LETTER V |
|
199 0x77 0x0077 # LATIN SMALL LETTER W |
|
200 0x78 0x0078 # LATIN SMALL LETTER X |
|
201 0x79 0x0079 # LATIN SMALL LETTER Y |
|
202 0x7A 0x007A # LATIN SMALL LETTER Z |
|
203 0x7B 0x007B # LEFT CURLY BRACKET |
|
204 0x7C 0x007C # VERTICAL LINE |
|
205 0x7D 0x007D # RIGHT CURLY BRACKET |
|
206 0x7E 0x007E # TILDE |
|
207 0x7F 0x007F # DELETE |
|
208 0x80 0x0080 # <control> |
|
209 0x81 0x0081 # <control> |
|
210 0x82 0x0082 # <control> |
|
211 0x83 0x0083 # <control> |
|
212 0x84 0x0084 # <control> |
|
213 0x85 0x0085 # <control> |
|
214 0x86 0x0086 # <control> |
|
215 0x87 0x0087 # <control> |
|
216 0x88 0x0088 # <control> |
|
217 0x89 0x0089 # <control> |
|
218 0x8A 0x008A # <control> |
|
219 0x8B 0x008B # <control> |
|
220 0x8C 0x008C # <control> |
|
221 0x8D 0x008D # <control> |
|
222 0x8E 0x008E # <control> |
|
223 0x8F 0x008F # <control> |
|
224 0x90 0x0090 # <control> |
|
225 0x91 0x0091 # <control> |
|
226 0x92 0x0092 # <control> |
|
227 0x93 0x0093 # <control> |
|
228 0x94 0x0094 # <control> |
|
229 0x95 0x0095 # <control> |
|
230 0x96 0x0096 # <control> |
|
231 0x97 0x0097 # <control> |
|
232 0x98 0x0098 # <control> |
|
233 0x99 0x0099 # <control> |
|
234 0x9A 0x009A # <control> |
|
235 0x9B 0x009B # <control> |
|
236 0x9C 0x009C # <control> |
|
237 0x9D 0x009D # <control> |
|
238 0x9E 0x009E # <control> |
|
239 0x9F 0x009F # <control> |
|
240 0xA0 0x00A0 # NO-BREAK SPACE |
|
241 0xA1 0x2018 # LEFT SINGLE QUOTATION MARK |
|
242 0xA2 0x2019 # RIGHT SINGLE QUOTATION MARK |
|
243 0xA3 0x00A3 # POUND SIGN |
|
244 0xA4 0x20AC # EURO SIGN |
|
245 0xA5 0x20AF # DRACHMA SIGN |
|
246 0xA6 0x00A6 # BROKEN BAR |
|
247 0xA7 0x00A7 # SECTION SIGN |
|
248 0xA8 0x00A8 # DIAERESIS |
|
249 0xA9 0x00A9 # COPYRIGHT SIGN |
|
250 0xAA 0x037A # GREEK YPOGEGRAMMENI |
|
251 0xAB 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
252 0xAC 0x00AC # NOT SIGN |
|
253 0xAD 0x00AD # SOFT HYPHEN |
|
254 0xAF 0x2015 # HORIZONTAL BAR |
|
255 0xB0 0x00B0 # DEGREE SIGN |
|
256 0xB1 0x00B1 # PLUS-MINUS SIGN |
|
257 0xB2 0x00B2 # SUPERSCRIPT TWO |
|
258 0xB3 0x00B3 # SUPERSCRIPT THREE |
|
259 0xB4 0x0384 # GREEK TONOS |
|
260 0xB5 0x0385 # GREEK DIALYTIKA TONOS |
|
261 0xB6 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS |
|
262 0xB7 0x00B7 # MIDDLE DOT |
|
263 0xB8 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS |
|
264 0xB9 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS |
|
265 0xBA 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS |
|
266 0xBB 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK |
|
267 0xBC 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS |
|
268 0xBD 0x00BD # VULGAR FRACTION ONE HALF |
|
269 0xBE 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS |
|
270 0xBF 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS |
|
271 0xC0 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS |
|
272 0xC1 0x0391 # GREEK CAPITAL LETTER ALPHA |
|
273 0xC2 0x0392 # GREEK CAPITAL LETTER BETA |
|
274 0xC3 0x0393 # GREEK CAPITAL LETTER GAMMA |
|
275 0xC4 0x0394 # GREEK CAPITAL LETTER DELTA |
|
276 0xC5 0x0395 # GREEK CAPITAL LETTER EPSILON |
|
277 0xC6 0x0396 # GREEK CAPITAL LETTER ZETA |
|
278 0xC7 0x0397 # GREEK CAPITAL LETTER ETA |
|
279 0xC8 0x0398 # GREEK CAPITAL LETTER THETA |
|
280 0xC9 0x0399 # GREEK CAPITAL LETTER IOTA |
|
281 0xCA 0x039A # GREEK CAPITAL LETTER KAPPA |
|
282 0xCB 0x039B # GREEK CAPITAL LETTER LAMDA |
|
283 0xCC 0x039C # GREEK CAPITAL LETTER MU |
|
284 0xCD 0x039D # GREEK CAPITAL LETTER NU |
|
285 0xCE 0x039E # GREEK CAPITAL LETTER XI |
|
286 0xCF 0x039F # GREEK CAPITAL LETTER OMICRON |
|
287 0xD0 0x03A0 # GREEK CAPITAL LETTER PI |
|
288 0xD1 0x03A1 # GREEK CAPITAL LETTER RHO |
|
289 0xD3 0x03A3 # GREEK CAPITAL LETTER SIGMA |
|
290 0xD4 0x03A4 # GREEK CAPITAL LETTER TAU |
|
291 0xD5 0x03A5 # GREEK CAPITAL LETTER UPSILON |
|
292 0xD6 0x03A6 # GREEK CAPITAL LETTER PHI |
|
293 0xD7 0x03A7 # GREEK CAPITAL LETTER CHI |
|
294 0xD8 0x03A8 # GREEK CAPITAL LETTER PSI |
|
295 0xD9 0x03A9 # GREEK CAPITAL LETTER OMEGA |
|
296 0xDA 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA |
|
297 0xDB 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA |
|
298 0xDC 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS |
|
299 0xDD 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS |
|
300 0xDE 0x03AE # GREEK SMALL LETTER ETA WITH TONOS |
|
301 0xDF 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS |
|
302 0xE0 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS |
|
303 0xE1 0x03B1 # GREEK SMALL LETTER ALPHA |
|
304 0xE2 0x03B2 # GREEK SMALL LETTER BETA |
|
305 0xE3 0x03B3 # GREEK SMALL LETTER GAMMA |
|
306 0xE4 0x03B4 # GREEK SMALL LETTER DELTA |
|
307 0xE5 0x03B5 # GREEK SMALL LETTER EPSILON |
|
308 0xE6 0x03B6 # GREEK SMALL LETTER ZETA |
|
309 0xE7 0x03B7 # GREEK SMALL LETTER ETA |
|
310 0xE8 0x03B8 # GREEK SMALL LETTER THETA |
|
311 0xE9 0x03B9 # GREEK SMALL LETTER IOTA |
|
312 0xEA 0x03BA # GREEK SMALL LETTER KAPPA |
|
313 0xEB 0x03BB # GREEK SMALL LETTER LAMDA |
|
314 0xEC 0x03BC # GREEK SMALL LETTER MU |
|
315 0xED 0x03BD # GREEK SMALL LETTER NU |
|
316 0xEE 0x03BE # GREEK SMALL LETTER XI |
|
317 0xEF 0x03BF # GREEK SMALL LETTER OMICRON |
|
318 0xF0 0x03C0 # GREEK SMALL LETTER PI |
|
319 0xF1 0x03C1 # GREEK SMALL LETTER RHO |
|
320 0xF2 0x03C2 # GREEK SMALL LETTER FINAL SIGMA |
|
321 0xF3 0x03C3 # GREEK SMALL LETTER SIGMA |
|
322 0xF4 0x03C4 # GREEK SMALL LETTER TAU |
|
323 0xF5 0x03C5 # GREEK SMALL LETTER UPSILON |
|
324 0xF6 0x03C6 # GREEK SMALL LETTER PHI |
|
325 0xF7 0x03C7 # GREEK SMALL LETTER CHI |
|
326 0xF8 0x03C8 # GREEK SMALL LETTER PSI |
|
327 0xF9 0x03C9 # GREEK SMALL LETTER OMEGA |
|
328 0xFA 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA |
|
329 0xFB 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA |
|
330 0xFC 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS |
|
331 0xFD 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS |
|
332 0xFE 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS |
|
333 |
|
334 " |
|
335 ! ! |
|
336 |
|
337 !ISO8859_7 class methodsFor:'queries'! |
|
338 |
|
339 namesOfEncoding |
|
340 ^ #( 'iso8859-7' 'iso-8859-7' 'greek' 'iso-ir-126' 'ecma-118') |
|
341 ! |
|
342 |
|
343 userFriendlyNameOfEncoding |
|
344 ^ 'Greek' |
|
345 ! ! |
|
346 |
|
347 !ISO8859_7 methodsFor:'encoding & decoding'! |
|
348 |
|
349 decode:codeArg |
|
350 "Automagically generated by generateCode - do not modify. |
|
351 Decode from my encoding into unicode." |
|
352 |
|
353 |code "{ Class: SmallInteger }"| |
|
354 |
|
355 code := codeArg. |
|
356 code <= 16rA0 ifTrue:[ ^ code ]. |
|
357 code > 16rFE ifTrue:[ |
|
358 ^ self decodingError. |
|
359 ]. |
|
360 [ |
|
361 |t| |
|
362 t := #( |
|
363 "16r00A1" 16r2018 " LEFT SINGLE QUOTATION MARK " |
|
364 "16r00A2" 16r2019 " RIGHT SINGLE QUOTATION MARK " |
|
365 "16r00A3" 16r00A3 " POUND SIGN " |
|
366 "16r00A4" 16r20AC " EURO SIGN " |
|
367 "16r00A5" 16r20AF " DRACHMA SIGN " |
|
368 "16r00A6" 16r00A6 " BROKEN BAR " |
|
369 "16r00A7" 16r00A7 " SECTION SIGN " |
|
370 "16r00A8" 16r00A8 " DIAERESIS " |
|
371 "16r00A9" 16r00A9 " COPYRIGHT SIGN " |
|
372 "16r00AA" 16r037A " GREEK YPOGEGRAMMENI " |
|
373 "16r00AB" 16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
374 "16r00AC" 16r00AC " NOT SIGN " |
|
375 "16r00AD" 16r00AD " SOFT HYPHEN " |
|
376 "16r00AE" 16r0000 " invalid " |
|
377 "16r00AF" 16r2015 " HORIZONTAL BAR " |
|
378 "16r00B0" 16r00B0 " DEGREE SIGN " |
|
379 "16r00B1" 16r00B1 " PLUS-MINUS SIGN " |
|
380 "16r00B2" 16r00B2 " SUPERSCRIPT TWO " |
|
381 "16r00B3" 16r00B3 " SUPERSCRIPT THREE " |
|
382 "16r00B4" 16r0384 " GREEK TONOS " |
|
383 "16r00B5" 16r0385 " GREEK DIALYTIKA TONOS " |
|
384 "16r00B6" 16r0386 " GREEK CAPITAL LETTER ALPHA WITH TONOS " |
|
385 "16r00B7" 16r00B7 " MIDDLE DOT " |
|
386 "16r00B8" 16r0388 " GREEK CAPITAL LETTER EPSILON WITH TONOS " |
|
387 "16r00B9" 16r0389 " GREEK CAPITAL LETTER ETA WITH TONOS " |
|
388 "16r00BA" 16r038A " GREEK CAPITAL LETTER IOTA WITH TONOS " |
|
389 "16r00BB" 16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
390 "16r00BC" 16r038C " GREEK CAPITAL LETTER OMICRON WITH TONOS " |
|
391 "16r00BD" 16r00BD " VULGAR FRACTION ONE HALF " |
|
392 "16r00BE" 16r038E " GREEK CAPITAL LETTER UPSILON WITH TONOS " |
|
393 "16r00BF" 16r038F " GREEK CAPITAL LETTER OMEGA WITH TONOS " |
|
394 "16r00C0" 16r0390 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS " |
|
395 "16r00C1" 16r0391 " GREEK CAPITAL LETTER ALPHA " |
|
396 "16r00C2" 16r0392 " GREEK CAPITAL LETTER BETA " |
|
397 "16r00C3" 16r0393 " GREEK CAPITAL LETTER GAMMA " |
|
398 "16r00C4" 16r0394 " GREEK CAPITAL LETTER DELTA " |
|
399 "16r00C5" 16r0395 " GREEK CAPITAL LETTER EPSILON " |
|
400 "16r00C6" 16r0396 " GREEK CAPITAL LETTER ZETA " |
|
401 "16r00C7" 16r0397 " GREEK CAPITAL LETTER ETA " |
|
402 "16r00C8" 16r0398 " GREEK CAPITAL LETTER THETA " |
|
403 "16r00C9" 16r0399 " GREEK CAPITAL LETTER IOTA " |
|
404 "16r00CA" 16r039A " GREEK CAPITAL LETTER KAPPA " |
|
405 "16r00CB" 16r039B " GREEK CAPITAL LETTER LAMDA " |
|
406 "16r00CC" 16r039C " GREEK CAPITAL LETTER MU " |
|
407 "16r00CD" 16r039D " GREEK CAPITAL LETTER NU " |
|
408 "16r00CE" 16r039E " GREEK CAPITAL LETTER XI " |
|
409 "16r00CF" 16r039F " GREEK CAPITAL LETTER OMICRON " |
|
410 "16r00D0" 16r03A0 " GREEK CAPITAL LETTER PI " |
|
411 "16r00D1" 16r03A1 " GREEK CAPITAL LETTER RHO " |
|
412 "16r00D2" 16r0000 " invalid " |
|
413 "16r00D3" 16r03A3 " GREEK CAPITAL LETTER SIGMA " |
|
414 "16r00D4" 16r03A4 " GREEK CAPITAL LETTER TAU " |
|
415 "16r00D5" 16r03A5 " GREEK CAPITAL LETTER UPSILON " |
|
416 "16r00D6" 16r03A6 " GREEK CAPITAL LETTER PHI " |
|
417 "16r00D7" 16r03A7 " GREEK CAPITAL LETTER CHI " |
|
418 "16r00D8" 16r03A8 " GREEK CAPITAL LETTER PSI " |
|
419 "16r00D9" 16r03A9 " GREEK CAPITAL LETTER OMEGA " |
|
420 "16r00DA" 16r03AA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA " |
|
421 "16r00DB" 16r03AB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA " |
|
422 "16r00DC" 16r03AC " GREEK SMALL LETTER ALPHA WITH TONOS " |
|
423 "16r00DD" 16r03AD " GREEK SMALL LETTER EPSILON WITH TONOS " |
|
424 "16r00DE" 16r03AE " GREEK SMALL LETTER ETA WITH TONOS " |
|
425 "16r00DF" 16r03AF " GREEK SMALL LETTER IOTA WITH TONOS " |
|
426 "16r00E0" 16r03B0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS " |
|
427 "16r00E1" 16r03B1 " GREEK SMALL LETTER ALPHA " |
|
428 "16r00E2" 16r03B2 " GREEK SMALL LETTER BETA " |
|
429 "16r00E3" 16r03B3 " GREEK SMALL LETTER GAMMA " |
|
430 "16r00E4" 16r03B4 " GREEK SMALL LETTER DELTA " |
|
431 "16r00E5" 16r03B5 " GREEK SMALL LETTER EPSILON " |
|
432 "16r00E6" 16r03B6 " GREEK SMALL LETTER ZETA " |
|
433 "16r00E7" 16r03B7 " GREEK SMALL LETTER ETA " |
|
434 "16r00E8" 16r03B8 " GREEK SMALL LETTER THETA " |
|
435 "16r00E9" 16r03B9 " GREEK SMALL LETTER IOTA " |
|
436 "16r00EA" 16r03BA " GREEK SMALL LETTER KAPPA " |
|
437 "16r00EB" 16r03BB " GREEK SMALL LETTER LAMDA " |
|
438 "16r00EC" 16r03BC " GREEK SMALL LETTER MU " |
|
439 "16r00ED" 16r03BD " GREEK SMALL LETTER NU " |
|
440 "16r00EE" 16r03BE " GREEK SMALL LETTER XI " |
|
441 "16r00EF" 16r03BF " GREEK SMALL LETTER OMICRON " |
|
442 "16r00F0" 16r03C0 " GREEK SMALL LETTER PI " |
|
443 "16r00F1" 16r03C1 " GREEK SMALL LETTER RHO " |
|
444 "16r00F2" 16r03C2 " GREEK SMALL LETTER FINAL SIGMA " |
|
445 "16r00F3" 16r03C3 " GREEK SMALL LETTER SIGMA " |
|
446 "16r00F4" 16r03C4 " GREEK SMALL LETTER TAU " |
|
447 "16r00F5" 16r03C5 " GREEK SMALL LETTER UPSILON " |
|
448 "16r00F6" 16r03C6 " GREEK SMALL LETTER PHI " |
|
449 "16r00F7" 16r03C7 " GREEK SMALL LETTER CHI " |
|
450 "16r00F8" 16r03C8 " GREEK SMALL LETTER PSI " |
|
451 "16r00F9" 16r03C9 " GREEK SMALL LETTER OMEGA " |
|
452 "16r00FA" 16r03CA " GREEK SMALL LETTER IOTA WITH DIALYTIKA " |
|
453 "16r00FB" 16r03CB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA " |
|
454 "16r00FC" 16r03CC " GREEK SMALL LETTER OMICRON WITH TONOS " |
|
455 "16r00FD" 16r03CD " GREEK SMALL LETTER UPSILON WITH TONOS " |
|
456 "16r00FE" 16r03CE " GREEK SMALL LETTER OMEGA WITH TONOS " |
|
457 ) at:(code - 16rA0). |
|
458 t == 0 ifFalse:[^ t]. |
|
459 ^ self decodingError. |
|
460 ] value. |
|
461 ! |
|
462 |
|
463 encode:unicodeArg |
|
464 "Automagically generated by generateCode - do not modify. |
|
465 Encode from unicode into my encoding." |
|
466 |
|
467 |unicode "{ Class: SmallInteger }"| |
|
468 |
|
469 unicode := unicodeArg. |
|
470 unicode <= 16rA0 ifTrue:[ ^ unicode ]. |
|
471 unicode > 16r20AF ifTrue:[ |
|
472 ^ self encodingError. |
|
473 ]. |
|
474 unicode <= 16r3CE ifTrue:[ |
|
475 unicode <= 16rBD ifTrue:[ |
|
476 [ |
|
477 |t| |
|
478 t := #[ |
|
479 "16r00A1" 16r00 " invalid " |
|
480 "16r00A2" 16r00 " invalid " |
|
481 "16r00A3" 16rA3 " POUND SIGN " |
|
482 "16r00A4" 16r00 " invalid " |
|
483 "16r00A5" 16r00 " invalid " |
|
484 "16r00A6" 16rA6 " BROKEN BAR " |
|
485 "16r00A7" 16rA7 " SECTION SIGN " |
|
486 "16r00A8" 16rA8 " DIAERESIS " |
|
487 "16r00A9" 16rA9 " COPYRIGHT SIGN " |
|
488 "16r00AA" 16r00 " invalid " |
|
489 "16r00AB" 16rAB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
490 "16r00AC" 16rAC " NOT SIGN " |
|
491 "16r00AD" 16rAD " SOFT HYPHEN " |
|
492 "16r00AE" 16r00 " invalid " |
|
493 "16r00AF" 16r00 " invalid " |
|
494 "16r00B0" 16rB0 " DEGREE SIGN " |
|
495 "16r00B1" 16rB1 " PLUS-MINUS SIGN " |
|
496 "16r00B2" 16rB2 " SUPERSCRIPT TWO " |
|
497 "16r00B3" 16rB3 " SUPERSCRIPT THREE " |
|
498 "16r00B4" 16r00 " invalid " |
|
499 "16r00B5" 16r00 " invalid " |
|
500 "16r00B6" 16r00 " invalid " |
|
501 "16r00B7" 16rB7 " MIDDLE DOT " |
|
502 "16r00B8" 16r00 " invalid " |
|
503 "16r00B9" 16r00 " invalid " |
|
504 "16r00BA" 16r00 " invalid " |
|
505 "16r00BB" 16rBB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " |
|
506 "16r00BC" 16r00 " invalid " |
|
507 "16r00BD" 16rBD " VULGAR FRACTION ONE HALF " |
|
508 ] at:(unicode - 16rA0). |
|
509 t == 0 ifFalse:[^ t]. |
|
510 ^ self encodingError |
|
511 ] value. |
|
512 ]. |
|
513 unicode <= 16r379 ifTrue:[ |
|
514 ^ self encodingError. |
|
515 ]. |
|
516 [ |
|
517 |t| |
|
518 t := #[ |
|
519 "16r037A" 16rAA " GREEK YPOGEGRAMMENI " |
|
520 "16r037B" 16r00 " invalid " |
|
521 "16r037C" 16r00 " invalid " |
|
522 "16r037D" 16r00 " invalid " |
|
523 "16r037E" 16r00 " invalid " |
|
524 "16r037F" 16r00 " invalid " |
|
525 "16r0380" 16r00 " invalid " |
|
526 "16r0381" 16r00 " invalid " |
|
527 "16r0382" 16r00 " invalid " |
|
528 "16r0383" 16r00 " invalid " |
|
529 "16r0384" 16rB4 " GREEK TONOS " |
|
530 "16r0385" 16rB5 " GREEK DIALYTIKA TONOS " |
|
531 "16r0386" 16rB6 " GREEK CAPITAL LETTER ALPHA WITH TONOS " |
|
532 "16r0387" 16r00 " invalid " |
|
533 "16r0388" 16rB8 " GREEK CAPITAL LETTER EPSILON WITH TONOS " |
|
534 "16r0389" 16rB9 " GREEK CAPITAL LETTER ETA WITH TONOS " |
|
535 "16r038A" 16rBA " GREEK CAPITAL LETTER IOTA WITH TONOS " |
|
536 "16r038B" 16r00 " invalid " |
|
537 "16r038C" 16rBC " GREEK CAPITAL LETTER OMICRON WITH TONOS " |
|
538 "16r038D" 16r00 " invalid " |
|
539 "16r038E" 16rBE " GREEK CAPITAL LETTER UPSILON WITH TONOS " |
|
540 "16r038F" 16rBF " GREEK CAPITAL LETTER OMEGA WITH TONOS " |
|
541 "16r0390" 16rC0 " GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS " |
|
542 "16r0391" 16rC1 " GREEK CAPITAL LETTER ALPHA " |
|
543 "16r0392" 16rC2 " GREEK CAPITAL LETTER BETA " |
|
544 "16r0393" 16rC3 " GREEK CAPITAL LETTER GAMMA " |
|
545 "16r0394" 16rC4 " GREEK CAPITAL LETTER DELTA " |
|
546 "16r0395" 16rC5 " GREEK CAPITAL LETTER EPSILON " |
|
547 "16r0396" 16rC6 " GREEK CAPITAL LETTER ZETA " |
|
548 "16r0397" 16rC7 " GREEK CAPITAL LETTER ETA " |
|
549 "16r0398" 16rC8 " GREEK CAPITAL LETTER THETA " |
|
550 "16r0399" 16rC9 " GREEK CAPITAL LETTER IOTA " |
|
551 "16r039A" 16rCA " GREEK CAPITAL LETTER KAPPA " |
|
552 "16r039B" 16rCB " GREEK CAPITAL LETTER LAMDA " |
|
553 "16r039C" 16rCC " GREEK CAPITAL LETTER MU " |
|
554 "16r039D" 16rCD " GREEK CAPITAL LETTER NU " |
|
555 "16r039E" 16rCE " GREEK CAPITAL LETTER XI " |
|
556 "16r039F" 16rCF " GREEK CAPITAL LETTER OMICRON " |
|
557 "16r03A0" 16rD0 " GREEK CAPITAL LETTER PI " |
|
558 "16r03A1" 16rD1 " GREEK CAPITAL LETTER RHO " |
|
559 "16r03A2" 16r00 " invalid " |
|
560 "16r03A3" 16rD3 " GREEK CAPITAL LETTER SIGMA " |
|
561 "16r03A4" 16rD4 " GREEK CAPITAL LETTER TAU " |
|
562 "16r03A5" 16rD5 " GREEK CAPITAL LETTER UPSILON " |
|
563 "16r03A6" 16rD6 " GREEK CAPITAL LETTER PHI " |
|
564 "16r03A7" 16rD7 " GREEK CAPITAL LETTER CHI " |
|
565 "16r03A8" 16rD8 " GREEK CAPITAL LETTER PSI " |
|
566 "16r03A9" 16rD9 " GREEK CAPITAL LETTER OMEGA " |
|
567 "16r03AA" 16rDA " GREEK CAPITAL LETTER IOTA WITH DIALYTIKA " |
|
568 "16r03AB" 16rDB " GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA " |
|
569 "16r03AC" 16rDC " GREEK SMALL LETTER ALPHA WITH TONOS " |
|
570 "16r03AD" 16rDD " GREEK SMALL LETTER EPSILON WITH TONOS " |
|
571 "16r03AE" 16rDE " GREEK SMALL LETTER ETA WITH TONOS " |
|
572 "16r03AF" 16rDF " GREEK SMALL LETTER IOTA WITH TONOS " |
|
573 "16r03B0" 16rE0 " GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS " |
|
574 "16r03B1" 16rE1 " GREEK SMALL LETTER ALPHA " |
|
575 "16r03B2" 16rE2 " GREEK SMALL LETTER BETA " |
|
576 "16r03B3" 16rE3 " GREEK SMALL LETTER GAMMA " |
|
577 "16r03B4" 16rE4 " GREEK SMALL LETTER DELTA " |
|
578 "16r03B5" 16rE5 " GREEK SMALL LETTER EPSILON " |
|
579 "16r03B6" 16rE6 " GREEK SMALL LETTER ZETA " |
|
580 "16r03B7" 16rE7 " GREEK SMALL LETTER ETA " |
|
581 "16r03B8" 16rE8 " GREEK SMALL LETTER THETA " |
|
582 "16r03B9" 16rE9 " GREEK SMALL LETTER IOTA " |
|
583 "16r03BA" 16rEA " GREEK SMALL LETTER KAPPA " |
|
584 "16r03BB" 16rEB " GREEK SMALL LETTER LAMDA " |
|
585 "16r03BC" 16rEC " GREEK SMALL LETTER MU " |
|
586 "16r03BD" 16rED " GREEK SMALL LETTER NU " |
|
587 "16r03BE" 16rEE " GREEK SMALL LETTER XI " |
|
588 "16r03BF" 16rEF " GREEK SMALL LETTER OMICRON " |
|
589 "16r03C0" 16rF0 " GREEK SMALL LETTER PI " |
|
590 "16r03C1" 16rF1 " GREEK SMALL LETTER RHO " |
|
591 "16r03C2" 16rF2 " GREEK SMALL LETTER FINAL SIGMA " |
|
592 "16r03C3" 16rF3 " GREEK SMALL LETTER SIGMA " |
|
593 "16r03C4" 16rF4 " GREEK SMALL LETTER TAU " |
|
594 "16r03C5" 16rF5 " GREEK SMALL LETTER UPSILON " |
|
595 "16r03C6" 16rF6 " GREEK SMALL LETTER PHI " |
|
596 "16r03C7" 16rF7 " GREEK SMALL LETTER CHI " |
|
597 "16r03C8" 16rF8 " GREEK SMALL LETTER PSI " |
|
598 "16r03C9" 16rF9 " GREEK SMALL LETTER OMEGA " |
|
599 "16r03CA" 16rFA " GREEK SMALL LETTER IOTA WITH DIALYTIKA " |
|
600 "16r03CB" 16rFB " GREEK SMALL LETTER UPSILON WITH DIALYTIKA " |
|
601 "16r03CC" 16rFC " GREEK SMALL LETTER OMICRON WITH TONOS " |
|
602 "16r03CD" 16rFD " GREEK SMALL LETTER UPSILON WITH TONOS " |
|
603 "16r03CE" 16rFE " GREEK SMALL LETTER OMEGA WITH TONOS " |
|
604 ] at:(unicode - 16r379). |
|
605 t == 0 ifFalse:[^ t]. |
|
606 ^ self encodingError |
|
607 ] value. |
|
608 ]. |
|
609 unicode <= 16r2014 ifTrue:[ |
|
610 ^ self encodingError. |
|
611 ]. |
|
612 unicode <= 16r2019 ifTrue:[ |
|
613 [ |
|
614 |t| |
|
615 t := #[ |
|
616 "16r2015" 16rAF " HORIZONTAL BAR " |
|
617 "16r2016" 16r00 " invalid " |
|
618 "16r2017" 16r00 " invalid " |
|
619 "16r2018" 16rA1 " LEFT SINGLE QUOTATION MARK " |
|
620 "16r2019" 16rA2 " RIGHT SINGLE QUOTATION MARK " |
|
621 ] at:(unicode - 16r2014). |
|
622 t == 0 ifFalse:[^ t]. |
|
623 ^ self encodingError |
|
624 ] value. |
|
625 ]. |
|
626 unicode <= 16r20AB ifTrue:[ |
|
627 ^ self encodingError. |
|
628 ]. |
|
629 [ |
|
630 |t| |
|
631 t := #[ |
|
632 "16r20AC" 16rA4 " EURO SIGN " |
|
633 "16r20AD" 16r00 " invalid " |
|
634 "16r20AE" 16r00 " invalid " |
|
635 "16r20AF" 16rA5 " DRACHMA SIGN " |
|
636 ] at:(unicode - 16r20AB). |
|
637 t == 0 ifFalse:[^ t]. |
|
638 ^ self encodingError |
|
639 ] value. |
|
640 ! ! |
|
641 |
|
642 !ISO8859_7 class methodsFor:'documentation'! |
|
643 |
|
644 version |
|
645 ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_7.st,v 1.1 2004-03-05 17:27:55 cg Exp $' |
|
646 ! ! |