CharacterEncoderImplementations__ISO8859_7.st
changeset 8081 b468050174a9
child 8114 05274a80fcc4
equal deleted inserted replaced
8080:db22e5dcf518 8081:b468050174a9
       
     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 ! !