CharacterEncoderImplementations__KOI8_R.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:#KOI8_R
       
     8 	instanceVariableNames:''
       
     9 	classVariableNames:''
       
    10 	poolDictionaries:''
       
    11 	category:'Collections-Text-Encodings'
       
    12 !
       
    13 
       
    14 
       
    15 !KOI8_R class methodsFor:'mapping'!
       
    16 
       
    17 mapFileURL1_relativePathName
       
    18     ^ 'VENDORS/MISC/KOI8-R.TXT'
       
    19 !
       
    20 
       
    21 mapping
       
    22 "
       
    23 # From: http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT
       
    24 
       
    25 #
       
    26 #       Name:             KOI8-R (RFC1489) to Unicode
       
    27 #       Unicode version:  3.0
       
    28 #       Table version:    1.0
       
    29 #       Table format:     Format A
       
    30 #       Date:             18 August 1999
       
    31 #       Authors:          Helmut Richter <richter@lrz.de>
       
    32 #
       
    33 #       Copyright (c) 1991-1999 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 #       KOI8-R characters map into Unicode. The underlying document is the
       
    53 #       mapping described in RFC 1489. No statements are made as to whether
       
    54 #       this mapping is the same as the mapping defined as 'Code Page 878'
       
    55 #       with some vendors.
       
    56 #
       
    57 #       Format:  Three tab-separated columns
       
    58 #                Column #1 is the KOI8-R code (in hex as 0xXX)
       
    59 #                Column #2 is the Unicode (in hex as 0xXXXX)
       
    60 #                Column #3 the Unicode name (follows a comment sign, '#')
       
    61 #
       
    62 #       The entries are in KOI8-R order.
       
    63 #
       
    64 #       Version history
       
    65 #       1.0 version: created.
       
    66 #
       
    67 #       Any comments or problems, contact <errata@unicode.org>
       
    68 #       Please note that <errata@unicode.org> is an archival address;
       
    69 #       notices will be checked, but do not expect an immediate response.
       
    70 #
       
    71 0x00    0x0000  #       NULL
       
    72 0x01    0x0001  #       START OF HEADING
       
    73 0x02    0x0002  #       START OF TEXT
       
    74 0x03    0x0003  #       END OF TEXT
       
    75 0x04    0x0004  #       END OF TRANSMISSION
       
    76 0x05    0x0005  #       ENQUIRY
       
    77 0x06    0x0006  #       ACKNOWLEDGE
       
    78 0x07    0x0007  #       BELL
       
    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
       
    95 0x18    0x0018  #       CANCEL
       
    96 0x19    0x0019  #       END OF MEDIUM
       
    97 0x1A    0x001A  #       SUBSTITUTE
       
    98 0x1B    0x001B  #       ESCAPE
       
    99 0x1C    0x001C  #       FILE SEPARATOR
       
   100 0x1D    0x001D  #       GROUP SEPARATOR
       
   101 0x1E    0x001E  #       RECORD SEPARATOR
       
   102 0x1F    0x001F  #       UNIT SEPARATOR
       
   103 0x20    0x0020  #       SPACE
       
   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    0x0027  #       APOSTROPHE
       
   111 0x28    0x0028  #       LEFT PARENTHESIS
       
   112 0x29    0x0029  #       RIGHT PARENTHESIS
       
   113 0x2A    0x002A  #       ASTERISK
       
   114 0x2B    0x002B  #       PLUS SIGN
       
   115 0x2C    0x002C  #       COMMA
       
   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
       
   129 0x3A    0x003A  #       COLON
       
   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    0x0060  #       GRAVE ACCENT
       
   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
       
   197 0x7E    0x007E  #       TILDE
       
   198 0x7F    0x007F  #       DELETE
       
   199 0x80    0x2500  #       BOX DRAWINGS LIGHT HORIZONTAL
       
   200 0x81    0x2502  #       BOX DRAWINGS LIGHT VERTICAL
       
   201 0x82    0x250C  #       BOX DRAWINGS LIGHT DOWN AND RIGHT
       
   202 0x83    0x2510  #       BOX DRAWINGS LIGHT DOWN AND LEFT
       
   203 0x84    0x2514  #       BOX DRAWINGS LIGHT UP AND RIGHT
       
   204 0x85    0x2518  #       BOX DRAWINGS LIGHT UP AND LEFT
       
   205 0x86    0x251C  #       BOX DRAWINGS LIGHT VERTICAL AND RIGHT
       
   206 0x87    0x2524  #       BOX DRAWINGS LIGHT VERTICAL AND LEFT
       
   207 0x88    0x252C  #       BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
       
   208 0x89    0x2534  #       BOX DRAWINGS LIGHT UP AND HORIZONTAL
       
   209 0x8A    0x253C  #       BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
       
   210 0x8B    0x2580  #       UPPER HALF BLOCK
       
   211 0x8C    0x2584  #       LOWER HALF BLOCK
       
   212 0x8D    0x2588  #       FULL BLOCK
       
   213 0x8E    0x258C  #       LEFT HALF BLOCK
       
   214 0x8F    0x2590  #       RIGHT HALF BLOCK
       
   215 0x90    0x2591  #       LIGHT SHADE
       
   216 0x91    0x2592  #       MEDIUM SHADE
       
   217 0x92    0x2593  #       DARK SHADE
       
   218 0x93    0x2320  #       TOP HALF INTEGRAL
       
   219 0x94    0x25A0  #       BLACK SQUARE
       
   220 0x95    0x2219  #       BULLET OPERATOR
       
   221 0x96    0x221A  #       SQUARE ROOT
       
   222 0x97    0x2248  #       ALMOST EQUAL TO
       
   223 0x98    0x2264  #       LESS-THAN OR EQUAL TO
       
   224 0x99    0x2265  #       GREATER-THAN OR EQUAL TO
       
   225 0x9A    0x00A0  #       NO-BREAK SPACE
       
   226 0x9B    0x2321  #       BOTTOM HALF INTEGRAL
       
   227 0x9C    0x00B0  #       DEGREE SIGN
       
   228 0x9D    0x00B2  #       SUPERSCRIPT TWO
       
   229 0x9E    0x00B7  #       MIDDLE DOT
       
   230 0x9F    0x00F7  #       DIVISION SIGN
       
   231 0xA0    0x2550  #       BOX DRAWINGS DOUBLE HORIZONTAL
       
   232 0xA1    0x2551  #       BOX DRAWINGS DOUBLE VERTICAL
       
   233 0xA2    0x2552  #       BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
       
   234 0xA3    0x0451  #       CYRILLIC SMALL LETTER IO
       
   235 0xA4    0x2553  #       BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
       
   236 0xA5    0x2554  #       BOX DRAWINGS DOUBLE DOWN AND RIGHT
       
   237 0xA6    0x2555  #       BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
       
   238 0xA7    0x2556  #       BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
       
   239 0xA8    0x2557  #       BOX DRAWINGS DOUBLE DOWN AND LEFT
       
   240 0xA9    0x2558  #       BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
       
   241 0xAA    0x2559  #       BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
       
   242 0xAB    0x255A  #       BOX DRAWINGS DOUBLE UP AND RIGHT
       
   243 0xAC    0x255B  #       BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
       
   244 0xAD    0x255C  #       BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
       
   245 0xAE    0x255D  #       BOX DRAWINGS DOUBLE UP AND LEFT
       
   246 0xAF    0x255E  #       BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
       
   247 0xB0    0x255F  #       BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
       
   248 0xB1    0x2560  #       BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
       
   249 0xB2    0x2561  #       BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
       
   250 0xB3    0x0401  #       CYRILLIC CAPITAL LETTER IO
       
   251 0xB4    0x2562  #       BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
       
   252 0xB5    0x2563  #       BOX DRAWINGS DOUBLE VERTICAL AND LEFT
       
   253 0xB6    0x2564  #       BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
       
   254 0xB7    0x2565  #       BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
       
   255 0xB8    0x2566  #       BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
       
   256 0xB9    0x2567  #       BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
       
   257 0xBA    0x2568  #       BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
       
   258 0xBB    0x2569  #       BOX DRAWINGS DOUBLE UP AND HORIZONTAL
       
   259 0xBC    0x256A  #       BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
       
   260 0xBD    0x256B  #       BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
       
   261 0xBE    0x256C  #       BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
       
   262 0xBF    0x00A9  #       COPYRIGHT SIGN
       
   263 0xC0    0x044E  #       CYRILLIC SMALL LETTER YU
       
   264 0xC1    0x0430  #       CYRILLIC SMALL LETTER A
       
   265 0xC2    0x0431  #       CYRILLIC SMALL LETTER BE
       
   266 0xC3    0x0446  #       CYRILLIC SMALL LETTER TSE
       
   267 0xC4    0x0434  #       CYRILLIC SMALL LETTER DE
       
   268 0xC5    0x0435  #       CYRILLIC SMALL LETTER IE
       
   269 0xC6    0x0444  #       CYRILLIC SMALL LETTER EF
       
   270 0xC7    0x0433  #       CYRILLIC SMALL LETTER GHE
       
   271 0xC8    0x0445  #       CYRILLIC SMALL LETTER HA
       
   272 0xC9    0x0438  #       CYRILLIC SMALL LETTER I
       
   273 0xCA    0x0439  #       CYRILLIC SMALL LETTER SHORT I
       
   274 0xCB    0x043A  #       CYRILLIC SMALL LETTER KA
       
   275 0xCC    0x043B  #       CYRILLIC SMALL LETTER EL
       
   276 0xCD    0x043C  #       CYRILLIC SMALL LETTER EM
       
   277 0xCE    0x043D  #       CYRILLIC SMALL LETTER EN
       
   278 0xCF    0x043E  #       CYRILLIC SMALL LETTER O
       
   279 0xD0    0x043F  #       CYRILLIC SMALL LETTER PE
       
   280 0xD1    0x044F  #       CYRILLIC SMALL LETTER YA
       
   281 0xD2    0x0440  #       CYRILLIC SMALL LETTER ER
       
   282 0xD3    0x0441  #       CYRILLIC SMALL LETTER ES
       
   283 0xD4    0x0442  #       CYRILLIC SMALL LETTER TE
       
   284 0xD5    0x0443  #       CYRILLIC SMALL LETTER U
       
   285 0xD6    0x0436  #       CYRILLIC SMALL LETTER ZHE
       
   286 0xD7    0x0432  #       CYRILLIC SMALL LETTER VE
       
   287 0xD8    0x044C  #       CYRILLIC SMALL LETTER SOFT SIGN
       
   288 0xD9    0x044B  #       CYRILLIC SMALL LETTER YERU
       
   289 0xDA    0x0437  #       CYRILLIC SMALL LETTER ZE
       
   290 0xDB    0x0448  #       CYRILLIC SMALL LETTER SHA
       
   291 0xDC    0x044D  #       CYRILLIC SMALL LETTER E
       
   292 0xDD    0x0449  #       CYRILLIC SMALL LETTER SHCHA
       
   293 0xDE    0x0447  #       CYRILLIC SMALL LETTER CHE
       
   294 0xDF    0x044A  #       CYRILLIC SMALL LETTER HARD SIGN
       
   295 0xE0    0x042E  #       CYRILLIC CAPITAL LETTER YU
       
   296 0xE1    0x0410  #       CYRILLIC CAPITAL LETTER A
       
   297 0xE2    0x0411  #       CYRILLIC CAPITAL LETTER BE
       
   298 0xE3    0x0426  #       CYRILLIC CAPITAL LETTER TSE
       
   299 0xE4    0x0414  #       CYRILLIC CAPITAL LETTER DE
       
   300 0xE5    0x0415  #       CYRILLIC CAPITAL LETTER IE
       
   301 0xE6    0x0424  #       CYRILLIC CAPITAL LETTER EF
       
   302 0xE7    0x0413  #       CYRILLIC CAPITAL LETTER GHE
       
   303 0xE8    0x0425  #       CYRILLIC CAPITAL LETTER HA
       
   304 0xE9    0x0418  #       CYRILLIC CAPITAL LETTER I
       
   305 0xEA    0x0419  #       CYRILLIC CAPITAL LETTER SHORT I
       
   306 0xEB    0x041A  #       CYRILLIC CAPITAL LETTER KA
       
   307 0xEC    0x041B  #       CYRILLIC CAPITAL LETTER EL
       
   308 0xED    0x041C  #       CYRILLIC CAPITAL LETTER EM
       
   309 0xEE    0x041D  #       CYRILLIC CAPITAL LETTER EN
       
   310 0xEF    0x041E  #       CYRILLIC CAPITAL LETTER O
       
   311 0xF0    0x041F  #       CYRILLIC CAPITAL LETTER PE
       
   312 0xF1    0x042F  #       CYRILLIC CAPITAL LETTER YA
       
   313 0xF2    0x0420  #       CYRILLIC CAPITAL LETTER ER
       
   314 0xF3    0x0421  #       CYRILLIC CAPITAL LETTER ES
       
   315 0xF4    0x0422  #       CYRILLIC CAPITAL LETTER TE
       
   316 0xF5    0x0423  #       CYRILLIC CAPITAL LETTER U
       
   317 0xF6    0x0416  #       CYRILLIC CAPITAL LETTER ZHE
       
   318 0xF7    0x0412  #       CYRILLIC CAPITAL LETTER VE
       
   319 0xF8    0x042C  #       CYRILLIC CAPITAL LETTER SOFT SIGN
       
   320 0xF9    0x042B  #       CYRILLIC CAPITAL LETTER YERU
       
   321 0xFA    0x0417  #       CYRILLIC CAPITAL LETTER ZE
       
   322 0xFB    0x0428  #       CYRILLIC CAPITAL LETTER SHA
       
   323 0xFC    0x042D  #       CYRILLIC CAPITAL LETTER E
       
   324 0xFD    0x0429  #       CYRILLIC CAPITAL LETTER SHCHA
       
   325 0xFE    0x0427  #       CYRILLIC CAPITAL LETTER CHE
       
   326 0xFF    0x042A  #       CYRILLIC CAPITAL LETTER HARD SIGN
       
   327 
       
   328 "
       
   329 ! !
       
   330 
       
   331 !KOI8_R class methodsFor:'queries'!
       
   332 
       
   333 namesOfEncoding
       
   334     ^ #( #'koi8-r' 'cp878' )
       
   335 !
       
   336 
       
   337 userFriendlyNameOfEncoding
       
   338     ^ 'Cyrillic'
       
   339 ! !
       
   340 
       
   341 !KOI8_R methodsFor:'encoding & decoding'!
       
   342 
       
   343 decode:codeArg
       
   344     "Automagically generated by generateCode - do not modify.
       
   345      Decode from my encoding into unicode."
       
   346 
       
   347     |code "{ Class: SmallInteger }"|
       
   348 
       
   349     code := codeArg.
       
   350     code <= 16r7F ifTrue:[ ^ code ].
       
   351     code > 16rFF ifTrue:[
       
   352 	^ self decodingError.
       
   353     ].
       
   354     ^ #(
       
   355        "16r0080"    16r2500 " BOX DRAWINGS LIGHT HORIZONTAL " 
       
   356        "16r0081"    16r2502 " BOX DRAWINGS LIGHT VERTICAL " 
       
   357        "16r0082"    16r250C " BOX DRAWINGS LIGHT DOWN AND RIGHT " 
       
   358        "16r0083"    16r2510 " BOX DRAWINGS LIGHT DOWN AND LEFT " 
       
   359        "16r0084"    16r2514 " BOX DRAWINGS LIGHT UP AND RIGHT " 
       
   360        "16r0085"    16r2518 " BOX DRAWINGS LIGHT UP AND LEFT " 
       
   361        "16r0086"    16r251C " BOX DRAWINGS LIGHT VERTICAL AND RIGHT " 
       
   362        "16r0087"    16r2524 " BOX DRAWINGS LIGHT VERTICAL AND LEFT " 
       
   363        "16r0088"    16r252C " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL " 
       
   364        "16r0089"    16r2534 " BOX DRAWINGS LIGHT UP AND HORIZONTAL " 
       
   365        "16r008A"    16r253C " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL " 
       
   366        "16r008B"    16r2580 " UPPER HALF BLOCK " 
       
   367        "16r008C"    16r2584 " LOWER HALF BLOCK " 
       
   368        "16r008D"    16r2588 " FULL BLOCK " 
       
   369        "16r008E"    16r258C " LEFT HALF BLOCK " 
       
   370        "16r008F"    16r2590 " RIGHT HALF BLOCK " 
       
   371        "16r0090"    16r2591 " LIGHT SHADE " 
       
   372        "16r0091"    16r2592 " MEDIUM SHADE " 
       
   373        "16r0092"    16r2593 " DARK SHADE " 
       
   374        "16r0093"    16r2320 " TOP HALF INTEGRAL " 
       
   375        "16r0094"    16r25A0 " BLACK SQUARE " 
       
   376        "16r0095"    16r2219 " BULLET OPERATOR " 
       
   377        "16r0096"    16r221A " SQUARE ROOT " 
       
   378        "16r0097"    16r2248 " ALMOST EQUAL TO " 
       
   379        "16r0098"    16r2264 " LESS-THAN OR EQUAL TO " 
       
   380        "16r0099"    16r2265 " GREATER-THAN OR EQUAL TO " 
       
   381        "16r009A"    16r00A0 " NO-BREAK SPACE " 
       
   382        "16r009B"    16r2321 " BOTTOM HALF INTEGRAL " 
       
   383        "16r009C"    16r00B0 " DEGREE SIGN " 
       
   384        "16r009D"    16r00B2 " SUPERSCRIPT TWO " 
       
   385        "16r009E"    16r00B7 " MIDDLE DOT " 
       
   386        "16r009F"    16r00F7 " DIVISION SIGN " 
       
   387        "16r00A0"    16r2550 " BOX DRAWINGS DOUBLE HORIZONTAL " 
       
   388        "16r00A1"    16r2551 " BOX DRAWINGS DOUBLE VERTICAL " 
       
   389        "16r00A2"    16r2552 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE " 
       
   390        "16r00A3"    16r0451 " CYRILLIC SMALL LETTER IO " 
       
   391        "16r00A4"    16r2553 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE " 
       
   392        "16r00A5"    16r2554 " BOX DRAWINGS DOUBLE DOWN AND RIGHT " 
       
   393        "16r00A6"    16r2555 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE " 
       
   394        "16r00A7"    16r2556 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE " 
       
   395        "16r00A8"    16r2557 " BOX DRAWINGS DOUBLE DOWN AND LEFT " 
       
   396        "16r00A9"    16r2558 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE " 
       
   397        "16r00AA"    16r2559 " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE " 
       
   398        "16r00AB"    16r255A " BOX DRAWINGS DOUBLE UP AND RIGHT " 
       
   399        "16r00AC"    16r255B " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE " 
       
   400        "16r00AD"    16r255C " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE " 
       
   401        "16r00AE"    16r255D " BOX DRAWINGS DOUBLE UP AND LEFT " 
       
   402        "16r00AF"    16r255E " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE " 
       
   403        "16r00B0"    16r255F " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE " 
       
   404        "16r00B1"    16r2560 " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT " 
       
   405        "16r00B2"    16r2561 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE " 
       
   406        "16r00B3"    16r0401 " CYRILLIC CAPITAL LETTER IO " 
       
   407        "16r00B4"    16r2562 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE " 
       
   408        "16r00B5"    16r2563 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT " 
       
   409        "16r00B6"    16r2564 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE " 
       
   410        "16r00B7"    16r2565 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE " 
       
   411        "16r00B8"    16r2566 " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL " 
       
   412        "16r00B9"    16r2567 " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE " 
       
   413        "16r00BA"    16r2568 " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE " 
       
   414        "16r00BB"    16r2569 " BOX DRAWINGS DOUBLE UP AND HORIZONTAL " 
       
   415        "16r00BC"    16r256A " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE " 
       
   416        "16r00BD"    16r256B " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE " 
       
   417        "16r00BE"    16r256C " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL " 
       
   418        "16r00BF"    16r00A9 " COPYRIGHT SIGN " 
       
   419        "16r00C0"    16r044E " CYRILLIC SMALL LETTER YU " 
       
   420        "16r00C1"    16r0430 " CYRILLIC SMALL LETTER A " 
       
   421        "16r00C2"    16r0431 " CYRILLIC SMALL LETTER BE " 
       
   422        "16r00C3"    16r0446 " CYRILLIC SMALL LETTER TSE " 
       
   423        "16r00C4"    16r0434 " CYRILLIC SMALL LETTER DE " 
       
   424        "16r00C5"    16r0435 " CYRILLIC SMALL LETTER IE " 
       
   425        "16r00C6"    16r0444 " CYRILLIC SMALL LETTER EF " 
       
   426        "16r00C7"    16r0433 " CYRILLIC SMALL LETTER GHE " 
       
   427        "16r00C8"    16r0445 " CYRILLIC SMALL LETTER HA " 
       
   428        "16r00C9"    16r0438 " CYRILLIC SMALL LETTER I " 
       
   429        "16r00CA"    16r0439 " CYRILLIC SMALL LETTER SHORT I " 
       
   430        "16r00CB"    16r043A " CYRILLIC SMALL LETTER KA " 
       
   431        "16r00CC"    16r043B " CYRILLIC SMALL LETTER EL " 
       
   432        "16r00CD"    16r043C " CYRILLIC SMALL LETTER EM " 
       
   433        "16r00CE"    16r043D " CYRILLIC SMALL LETTER EN " 
       
   434        "16r00CF"    16r043E " CYRILLIC SMALL LETTER O " 
       
   435        "16r00D0"    16r043F " CYRILLIC SMALL LETTER PE " 
       
   436        "16r00D1"    16r044F " CYRILLIC SMALL LETTER YA " 
       
   437        "16r00D2"    16r0440 " CYRILLIC SMALL LETTER ER " 
       
   438        "16r00D3"    16r0441 " CYRILLIC SMALL LETTER ES " 
       
   439        "16r00D4"    16r0442 " CYRILLIC SMALL LETTER TE " 
       
   440        "16r00D5"    16r0443 " CYRILLIC SMALL LETTER U " 
       
   441        "16r00D6"    16r0436 " CYRILLIC SMALL LETTER ZHE " 
       
   442        "16r00D7"    16r0432 " CYRILLIC SMALL LETTER VE " 
       
   443        "16r00D8"    16r044C " CYRILLIC SMALL LETTER SOFT SIGN " 
       
   444        "16r00D9"    16r044B " CYRILLIC SMALL LETTER YERU " 
       
   445        "16r00DA"    16r0437 " CYRILLIC SMALL LETTER ZE " 
       
   446        "16r00DB"    16r0448 " CYRILLIC SMALL LETTER SHA " 
       
   447        "16r00DC"    16r044D " CYRILLIC SMALL LETTER E " 
       
   448        "16r00DD"    16r0449 " CYRILLIC SMALL LETTER SHCHA " 
       
   449        "16r00DE"    16r0447 " CYRILLIC SMALL LETTER CHE " 
       
   450        "16r00DF"    16r044A " CYRILLIC SMALL LETTER HARD SIGN " 
       
   451        "16r00E0"    16r042E " CYRILLIC CAPITAL LETTER YU " 
       
   452        "16r00E1"    16r0410 " CYRILLIC CAPITAL LETTER A " 
       
   453        "16r00E2"    16r0411 " CYRILLIC CAPITAL LETTER BE " 
       
   454        "16r00E3"    16r0426 " CYRILLIC CAPITAL LETTER TSE " 
       
   455        "16r00E4"    16r0414 " CYRILLIC CAPITAL LETTER DE " 
       
   456        "16r00E5"    16r0415 " CYRILLIC CAPITAL LETTER IE " 
       
   457        "16r00E6"    16r0424 " CYRILLIC CAPITAL LETTER EF " 
       
   458        "16r00E7"    16r0413 " CYRILLIC CAPITAL LETTER GHE " 
       
   459        "16r00E8"    16r0425 " CYRILLIC CAPITAL LETTER HA " 
       
   460        "16r00E9"    16r0418 " CYRILLIC CAPITAL LETTER I " 
       
   461        "16r00EA"    16r0419 " CYRILLIC CAPITAL LETTER SHORT I " 
       
   462        "16r00EB"    16r041A " CYRILLIC CAPITAL LETTER KA " 
       
   463        "16r00EC"    16r041B " CYRILLIC CAPITAL LETTER EL " 
       
   464        "16r00ED"    16r041C " CYRILLIC CAPITAL LETTER EM " 
       
   465        "16r00EE"    16r041D " CYRILLIC CAPITAL LETTER EN " 
       
   466        "16r00EF"    16r041E " CYRILLIC CAPITAL LETTER O " 
       
   467        "16r00F0"    16r041F " CYRILLIC CAPITAL LETTER PE " 
       
   468        "16r00F1"    16r042F " CYRILLIC CAPITAL LETTER YA " 
       
   469        "16r00F2"    16r0420 " CYRILLIC CAPITAL LETTER ER " 
       
   470        "16r00F3"    16r0421 " CYRILLIC CAPITAL LETTER ES " 
       
   471        "16r00F4"    16r0422 " CYRILLIC CAPITAL LETTER TE " 
       
   472        "16r00F5"    16r0423 " CYRILLIC CAPITAL LETTER U " 
       
   473        "16r00F6"    16r0416 " CYRILLIC CAPITAL LETTER ZHE " 
       
   474        "16r00F7"    16r0412 " CYRILLIC CAPITAL LETTER VE " 
       
   475        "16r00F8"    16r042C " CYRILLIC CAPITAL LETTER SOFT SIGN " 
       
   476        "16r00F9"    16r042B " CYRILLIC CAPITAL LETTER YERU " 
       
   477        "16r00FA"    16r0417 " CYRILLIC CAPITAL LETTER ZE " 
       
   478        "16r00FB"    16r0428 " CYRILLIC CAPITAL LETTER SHA " 
       
   479        "16r00FC"    16r042D " CYRILLIC CAPITAL LETTER E " 
       
   480        "16r00FD"    16r0429 " CYRILLIC CAPITAL LETTER SHCHA " 
       
   481        "16r00FE"    16r0427 " CYRILLIC CAPITAL LETTER CHE " 
       
   482        "16r00FF"    16r042A " CYRILLIC CAPITAL LETTER HARD SIGN " 
       
   483        ) at:(code - 16r7F).
       
   484 !
       
   485 
       
   486 encode:unicodeArg
       
   487     "Automagically generated by generateCode - do not modify.
       
   488      Encode from unicode into my encoding."
       
   489 
       
   490     |unicode "{ Class: SmallInteger }"|
       
   491 
       
   492     unicode := unicodeArg.
       
   493     unicode <= 16r7F ifTrue:[ ^ unicode ].
       
   494     unicode > 16r25A0 ifTrue:[
       
   495 	^ self encodingError.
       
   496     ].
       
   497     unicode <= 16r9F ifTrue:[
       
   498 	^ self encodingError.
       
   499     ].
       
   500     unicode <= 16r451 ifTrue:[
       
   501 	unicode <= 16rF7 ifTrue:[
       
   502 	    unicode <= 16rB7 ifTrue:[
       
   503 		[
       
   504 		    |t|
       
   505 		    t := #[
       
   506 		       "16r00A0"    16r9A " NO-BREAK SPACE " 
       
   507 		       "16r00A1"    16r00 " invalid " 
       
   508 		       "16r00A2"    16r00 " invalid " 
       
   509 		       "16r00A3"    16r00 " invalid " 
       
   510 		       "16r00A4"    16r00 " invalid " 
       
   511 		       "16r00A5"    16r00 " invalid " 
       
   512 		       "16r00A6"    16r00 " invalid " 
       
   513 		       "16r00A7"    16r00 " invalid " 
       
   514 		       "16r00A8"    16r00 " invalid " 
       
   515 		       "16r00A9"    16rBF " COPYRIGHT SIGN " 
       
   516 		       "16r00AA"    16r00 " invalid " 
       
   517 		       "16r00AB"    16r00 " invalid " 
       
   518 		       "16r00AC"    16r00 " invalid " 
       
   519 		       "16r00AD"    16r00 " invalid " 
       
   520 		       "16r00AE"    16r00 " invalid " 
       
   521 		       "16r00AF"    16r00 " invalid " 
       
   522 		       "16r00B0"    16r9C " DEGREE SIGN " 
       
   523 		       "16r00B1"    16r00 " invalid " 
       
   524 		       "16r00B2"    16r9D " SUPERSCRIPT TWO " 
       
   525 		       "16r00B3"    16r00 " invalid " 
       
   526 		       "16r00B4"    16r00 " invalid " 
       
   527 		       "16r00B5"    16r00 " invalid " 
       
   528 		       "16r00B6"    16r00 " invalid " 
       
   529 		       "16r00B7"    16r9E " MIDDLE DOT " 
       
   530 		       ] at:(unicode - 16r9F).
       
   531 		    t == 0 ifFalse:[^ t].
       
   532 		    ^ self encodingError
       
   533 		] value.
       
   534 	    ].
       
   535 	    unicode <= 16rF6 ifTrue:[
       
   536 		^ self encodingError.
       
   537 	    ].
       
   538 	    ^  "16r00F7" 16r009F " DIVISION SIGN " 
       
   539 	].
       
   540 	unicode <= 16r400 ifTrue:[
       
   541 	    ^ self encodingError.
       
   542 	].
       
   543 	[
       
   544 	    |t|
       
   545 	    t := #[
       
   546 	       "16r0401"    16rB3 " CYRILLIC CAPITAL LETTER IO " 
       
   547 	       "16r0402"    16r00 " invalid " 
       
   548 	       "16r0403"    16r00 " invalid " 
       
   549 	       "16r0404"    16r00 " invalid " 
       
   550 	       "16r0405"    16r00 " invalid " 
       
   551 	       "16r0406"    16r00 " invalid " 
       
   552 	       "16r0407"    16r00 " invalid " 
       
   553 	       "16r0408"    16r00 " invalid " 
       
   554 	       "16r0409"    16r00 " invalid " 
       
   555 	       "16r040A"    16r00 " invalid " 
       
   556 	       "16r040B"    16r00 " invalid " 
       
   557 	       "16r040C"    16r00 " invalid " 
       
   558 	       "16r040D"    16r00 " invalid " 
       
   559 	       "16r040E"    16r00 " invalid " 
       
   560 	       "16r040F"    16r00 " invalid " 
       
   561 	       "16r0410"    16rE1 " CYRILLIC CAPITAL LETTER A " 
       
   562 	       "16r0411"    16rE2 " CYRILLIC CAPITAL LETTER BE " 
       
   563 	       "16r0412"    16rF7 " CYRILLIC CAPITAL LETTER VE " 
       
   564 	       "16r0413"    16rE7 " CYRILLIC CAPITAL LETTER GHE " 
       
   565 	       "16r0414"    16rE4 " CYRILLIC CAPITAL LETTER DE " 
       
   566 	       "16r0415"    16rE5 " CYRILLIC CAPITAL LETTER IE " 
       
   567 	       "16r0416"    16rF6 " CYRILLIC CAPITAL LETTER ZHE " 
       
   568 	       "16r0417"    16rFA " CYRILLIC CAPITAL LETTER ZE " 
       
   569 	       "16r0418"    16rE9 " CYRILLIC CAPITAL LETTER I " 
       
   570 	       "16r0419"    16rEA " CYRILLIC CAPITAL LETTER SHORT I " 
       
   571 	       "16r041A"    16rEB " CYRILLIC CAPITAL LETTER KA " 
       
   572 	       "16r041B"    16rEC " CYRILLIC CAPITAL LETTER EL " 
       
   573 	       "16r041C"    16rED " CYRILLIC CAPITAL LETTER EM " 
       
   574 	       "16r041D"    16rEE " CYRILLIC CAPITAL LETTER EN " 
       
   575 	       "16r041E"    16rEF " CYRILLIC CAPITAL LETTER O " 
       
   576 	       "16r041F"    16rF0 " CYRILLIC CAPITAL LETTER PE " 
       
   577 	       "16r0420"    16rF2 " CYRILLIC CAPITAL LETTER ER " 
       
   578 	       "16r0421"    16rF3 " CYRILLIC CAPITAL LETTER ES " 
       
   579 	       "16r0422"    16rF4 " CYRILLIC CAPITAL LETTER TE " 
       
   580 	       "16r0423"    16rF5 " CYRILLIC CAPITAL LETTER U " 
       
   581 	       "16r0424"    16rE6 " CYRILLIC CAPITAL LETTER EF " 
       
   582 	       "16r0425"    16rE8 " CYRILLIC CAPITAL LETTER HA " 
       
   583 	       "16r0426"    16rE3 " CYRILLIC CAPITAL LETTER TSE " 
       
   584 	       "16r0427"    16rFE " CYRILLIC CAPITAL LETTER CHE " 
       
   585 	       "16r0428"    16rFB " CYRILLIC CAPITAL LETTER SHA " 
       
   586 	       "16r0429"    16rFD " CYRILLIC CAPITAL LETTER SHCHA " 
       
   587 	       "16r042A"    16rFF " CYRILLIC CAPITAL LETTER HARD SIGN " 
       
   588 	       "16r042B"    16rF9 " CYRILLIC CAPITAL LETTER YERU " 
       
   589 	       "16r042C"    16rF8 " CYRILLIC CAPITAL LETTER SOFT SIGN " 
       
   590 	       "16r042D"    16rFC " CYRILLIC CAPITAL LETTER E " 
       
   591 	       "16r042E"    16rE0 " CYRILLIC CAPITAL LETTER YU " 
       
   592 	       "16r042F"    16rF1 " CYRILLIC CAPITAL LETTER YA " 
       
   593 	       "16r0430"    16rC1 " CYRILLIC SMALL LETTER A " 
       
   594 	       "16r0431"    16rC2 " CYRILLIC SMALL LETTER BE " 
       
   595 	       "16r0432"    16rD7 " CYRILLIC SMALL LETTER VE " 
       
   596 	       "16r0433"    16rC7 " CYRILLIC SMALL LETTER GHE " 
       
   597 	       "16r0434"    16rC4 " CYRILLIC SMALL LETTER DE " 
       
   598 	       "16r0435"    16rC5 " CYRILLIC SMALL LETTER IE " 
       
   599 	       "16r0436"    16rD6 " CYRILLIC SMALL LETTER ZHE " 
       
   600 	       "16r0437"    16rDA " CYRILLIC SMALL LETTER ZE " 
       
   601 	       "16r0438"    16rC9 " CYRILLIC SMALL LETTER I " 
       
   602 	       "16r0439"    16rCA " CYRILLIC SMALL LETTER SHORT I " 
       
   603 	       "16r043A"    16rCB " CYRILLIC SMALL LETTER KA " 
       
   604 	       "16r043B"    16rCC " CYRILLIC SMALL LETTER EL " 
       
   605 	       "16r043C"    16rCD " CYRILLIC SMALL LETTER EM " 
       
   606 	       "16r043D"    16rCE " CYRILLIC SMALL LETTER EN " 
       
   607 	       "16r043E"    16rCF " CYRILLIC SMALL LETTER O " 
       
   608 	       "16r043F"    16rD0 " CYRILLIC SMALL LETTER PE " 
       
   609 	       "16r0440"    16rD2 " CYRILLIC SMALL LETTER ER " 
       
   610 	       "16r0441"    16rD3 " CYRILLIC SMALL LETTER ES " 
       
   611 	       "16r0442"    16rD4 " CYRILLIC SMALL LETTER TE " 
       
   612 	       "16r0443"    16rD5 " CYRILLIC SMALL LETTER U " 
       
   613 	       "16r0444"    16rC6 " CYRILLIC SMALL LETTER EF " 
       
   614 	       "16r0445"    16rC8 " CYRILLIC SMALL LETTER HA " 
       
   615 	       "16r0446"    16rC3 " CYRILLIC SMALL LETTER TSE " 
       
   616 	       "16r0447"    16rDE " CYRILLIC SMALL LETTER CHE " 
       
   617 	       "16r0448"    16rDB " CYRILLIC SMALL LETTER SHA " 
       
   618 	       "16r0449"    16rDD " CYRILLIC SMALL LETTER SHCHA " 
       
   619 	       "16r044A"    16rDF " CYRILLIC SMALL LETTER HARD SIGN " 
       
   620 	       "16r044B"    16rD9 " CYRILLIC SMALL LETTER YERU " 
       
   621 	       "16r044C"    16rD8 " CYRILLIC SMALL LETTER SOFT SIGN " 
       
   622 	       "16r044D"    16rDC " CYRILLIC SMALL LETTER E " 
       
   623 	       "16r044E"    16rC0 " CYRILLIC SMALL LETTER YU " 
       
   624 	       "16r044F"    16rD1 " CYRILLIC SMALL LETTER YA " 
       
   625 	       "16r0450"    16r00 " invalid " 
       
   626 	       "16r0451"    16rA3 " CYRILLIC SMALL LETTER IO " 
       
   627 	       ] at:(unicode - 16r400).
       
   628 	    t == 0 ifFalse:[^ t].
       
   629 	    ^ self encodingError
       
   630 	] value.
       
   631     ].
       
   632     unicode <= 16r2218 ifTrue:[
       
   633 	^ self encodingError.
       
   634     ].
       
   635     unicode <= 16r2321 ifTrue:[
       
   636 	unicode <= 16r2265 ifTrue:[
       
   637 	    unicode <= 16r221A ifTrue:[
       
   638 		^ #[
       
   639 		   "16r2219"    16r95 " BULLET OPERATOR " 
       
   640 		   "16r221A"    16r96 " SQUARE ROOT " 
       
   641 		   ] at:(unicode - 16r2218).
       
   642 	    ].
       
   643 	    unicode <= 16r2247 ifTrue:[
       
   644 		^ self encodingError.
       
   645 	    ].
       
   646 	    unicode == 16r2248 ifTrue:[
       
   647 		^  "16r2248" 16r0097 " ALMOST EQUAL TO " 
       
   648 	    ].
       
   649 	    unicode <= 16r2263 ifTrue:[
       
   650 		^ self encodingError.
       
   651 	    ].
       
   652 	    ^ #[
       
   653 	       "16r2264"    16r98 " LESS-THAN OR EQUAL TO " 
       
   654 	       "16r2265"    16r99 " GREATER-THAN OR EQUAL TO " 
       
   655 	       ] at:(unicode - 16r2263).
       
   656 	].
       
   657 	unicode <= 16r231F ifTrue:[
       
   658 	    ^ self encodingError.
       
   659 	].
       
   660 	^ #[
       
   661 	   "16r2320"    16r93 " TOP HALF INTEGRAL " 
       
   662 	   "16r2321"    16r9B " BOTTOM HALF INTEGRAL " 
       
   663 	   ] at:(unicode - 16r231F).
       
   664     ].
       
   665     unicode <= 16r24FF ifTrue:[
       
   666 	^ self encodingError.
       
   667     ].
       
   668     [
       
   669 	|t|
       
   670 	t := #[
       
   671 	   "16r2500"    16r80 " BOX DRAWINGS LIGHT HORIZONTAL " 
       
   672 	   "16r2501"    16r00 " invalid " 
       
   673 	   "16r2502"    16r81 " BOX DRAWINGS LIGHT VERTICAL " 
       
   674 	   "16r2503"    16r00 " invalid " 
       
   675 	   "16r2504"    16r00 " invalid " 
       
   676 	   "16r2505"    16r00 " invalid " 
       
   677 	   "16r2506"    16r00 " invalid " 
       
   678 	   "16r2507"    16r00 " invalid " 
       
   679 	   "16r2508"    16r00 " invalid " 
       
   680 	   "16r2509"    16r00 " invalid " 
       
   681 	   "16r250A"    16r00 " invalid " 
       
   682 	   "16r250B"    16r00 " invalid " 
       
   683 	   "16r250C"    16r82 " BOX DRAWINGS LIGHT DOWN AND RIGHT " 
       
   684 	   "16r250D"    16r00 " invalid " 
       
   685 	   "16r250E"    16r00 " invalid " 
       
   686 	   "16r250F"    16r00 " invalid " 
       
   687 	   "16r2510"    16r83 " BOX DRAWINGS LIGHT DOWN AND LEFT " 
       
   688 	   "16r2511"    16r00 " invalid " 
       
   689 	   "16r2512"    16r00 " invalid " 
       
   690 	   "16r2513"    16r00 " invalid " 
       
   691 	   "16r2514"    16r84 " BOX DRAWINGS LIGHT UP AND RIGHT " 
       
   692 	   "16r2515"    16r00 " invalid " 
       
   693 	   "16r2516"    16r00 " invalid " 
       
   694 	   "16r2517"    16r00 " invalid " 
       
   695 	   "16r2518"    16r85 " BOX DRAWINGS LIGHT UP AND LEFT " 
       
   696 	   "16r2519"    16r00 " invalid " 
       
   697 	   "16r251A"    16r00 " invalid " 
       
   698 	   "16r251B"    16r00 " invalid " 
       
   699 	   "16r251C"    16r86 " BOX DRAWINGS LIGHT VERTICAL AND RIGHT " 
       
   700 	   "16r251D"    16r00 " invalid " 
       
   701 	   "16r251E"    16r00 " invalid " 
       
   702 	   "16r251F"    16r00 " invalid " 
       
   703 	   "16r2520"    16r00 " invalid " 
       
   704 	   "16r2521"    16r00 " invalid " 
       
   705 	   "16r2522"    16r00 " invalid " 
       
   706 	   "16r2523"    16r00 " invalid " 
       
   707 	   "16r2524"    16r87 " BOX DRAWINGS LIGHT VERTICAL AND LEFT " 
       
   708 	   "16r2525"    16r00 " invalid " 
       
   709 	   "16r2526"    16r00 " invalid " 
       
   710 	   "16r2527"    16r00 " invalid " 
       
   711 	   "16r2528"    16r00 " invalid " 
       
   712 	   "16r2529"    16r00 " invalid " 
       
   713 	   "16r252A"    16r00 " invalid " 
       
   714 	   "16r252B"    16r00 " invalid " 
       
   715 	   "16r252C"    16r88 " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL " 
       
   716 	   "16r252D"    16r00 " invalid " 
       
   717 	   "16r252E"    16r00 " invalid " 
       
   718 	   "16r252F"    16r00 " invalid " 
       
   719 	   "16r2530"    16r00 " invalid " 
       
   720 	   "16r2531"    16r00 " invalid " 
       
   721 	   "16r2532"    16r00 " invalid " 
       
   722 	   "16r2533"    16r00 " invalid " 
       
   723 	   "16r2534"    16r89 " BOX DRAWINGS LIGHT UP AND HORIZONTAL " 
       
   724 	   "16r2535"    16r00 " invalid " 
       
   725 	   "16r2536"    16r00 " invalid " 
       
   726 	   "16r2537"    16r00 " invalid " 
       
   727 	   "16r2538"    16r00 " invalid " 
       
   728 	   "16r2539"    16r00 " invalid " 
       
   729 	   "16r253A"    16r00 " invalid " 
       
   730 	   "16r253B"    16r00 " invalid " 
       
   731 	   "16r253C"    16r8A " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL " 
       
   732 	   "16r253D"    16r00 " invalid " 
       
   733 	   "16r253E"    16r00 " invalid " 
       
   734 	   "16r253F"    16r00 " invalid " 
       
   735 	   "16r2540"    16r00 " invalid " 
       
   736 	   "16r2541"    16r00 " invalid " 
       
   737 	   "16r2542"    16r00 " invalid " 
       
   738 	   "16r2543"    16r00 " invalid " 
       
   739 	   "16r2544"    16r00 " invalid " 
       
   740 	   "16r2545"    16r00 " invalid " 
       
   741 	   "16r2546"    16r00 " invalid " 
       
   742 	   "16r2547"    16r00 " invalid " 
       
   743 	   "16r2548"    16r00 " invalid " 
       
   744 	   "16r2549"    16r00 " invalid " 
       
   745 	   "16r254A"    16r00 " invalid " 
       
   746 	   "16r254B"    16r00 " invalid " 
       
   747 	   "16r254C"    16r00 " invalid " 
       
   748 	   "16r254D"    16r00 " invalid " 
       
   749 	   "16r254E"    16r00 " invalid " 
       
   750 	   "16r254F"    16r00 " invalid " 
       
   751 	   "16r2550"    16rA0 " BOX DRAWINGS DOUBLE HORIZONTAL " 
       
   752 	   "16r2551"    16rA1 " BOX DRAWINGS DOUBLE VERTICAL " 
       
   753 	   "16r2552"    16rA2 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE " 
       
   754 	   "16r2553"    16rA4 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE " 
       
   755 	   "16r2554"    16rA5 " BOX DRAWINGS DOUBLE DOWN AND RIGHT " 
       
   756 	   "16r2555"    16rA6 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE " 
       
   757 	   "16r2556"    16rA7 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE " 
       
   758 	   "16r2557"    16rA8 " BOX DRAWINGS DOUBLE DOWN AND LEFT " 
       
   759 	   "16r2558"    16rA9 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE " 
       
   760 	   "16r2559"    16rAA " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE " 
       
   761 	   "16r255A"    16rAB " BOX DRAWINGS DOUBLE UP AND RIGHT " 
       
   762 	   "16r255B"    16rAC " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE " 
       
   763 	   "16r255C"    16rAD " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE " 
       
   764 	   "16r255D"    16rAE " BOX DRAWINGS DOUBLE UP AND LEFT " 
       
   765 	   "16r255E"    16rAF " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE " 
       
   766 	   "16r255F"    16rB0 " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE " 
       
   767 	   "16r2560"    16rB1 " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT " 
       
   768 	   "16r2561"    16rB2 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE " 
       
   769 	   "16r2562"    16rB4 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE " 
       
   770 	   "16r2563"    16rB5 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT " 
       
   771 	   "16r2564"    16rB6 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE " 
       
   772 	   "16r2565"    16rB7 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE " 
       
   773 	   "16r2566"    16rB8 " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL " 
       
   774 	   "16r2567"    16rB9 " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE " 
       
   775 	   "16r2568"    16rBA " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE " 
       
   776 	   "16r2569"    16rBB " BOX DRAWINGS DOUBLE UP AND HORIZONTAL " 
       
   777 	   "16r256A"    16rBC " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE " 
       
   778 	   "16r256B"    16rBD " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE " 
       
   779 	   "16r256C"    16rBE " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL " 
       
   780 	   "16r256D"    16r00 " invalid " 
       
   781 	   "16r256E"    16r00 " invalid " 
       
   782 	   "16r256F"    16r00 " invalid " 
       
   783 	   "16r2570"    16r00 " invalid " 
       
   784 	   "16r2571"    16r00 " invalid " 
       
   785 	   "16r2572"    16r00 " invalid " 
       
   786 	   "16r2573"    16r00 " invalid " 
       
   787 	   "16r2574"    16r00 " invalid " 
       
   788 	   "16r2575"    16r00 " invalid " 
       
   789 	   "16r2576"    16r00 " invalid " 
       
   790 	   "16r2577"    16r00 " invalid " 
       
   791 	   "16r2578"    16r00 " invalid " 
       
   792 	   "16r2579"    16r00 " invalid " 
       
   793 	   "16r257A"    16r00 " invalid " 
       
   794 	   "16r257B"    16r00 " invalid " 
       
   795 	   "16r257C"    16r00 " invalid " 
       
   796 	   "16r257D"    16r00 " invalid " 
       
   797 	   "16r257E"    16r00 " invalid " 
       
   798 	   "16r257F"    16r00 " invalid " 
       
   799 	   "16r2580"    16r8B " UPPER HALF BLOCK " 
       
   800 	   "16r2581"    16r00 " invalid " 
       
   801 	   "16r2582"    16r00 " invalid " 
       
   802 	   "16r2583"    16r00 " invalid " 
       
   803 	   "16r2584"    16r8C " LOWER HALF BLOCK " 
       
   804 	   "16r2585"    16r00 " invalid " 
       
   805 	   "16r2586"    16r00 " invalid " 
       
   806 	   "16r2587"    16r00 " invalid " 
       
   807 	   "16r2588"    16r8D " FULL BLOCK " 
       
   808 	   "16r2589"    16r00 " invalid " 
       
   809 	   "16r258A"    16r00 " invalid " 
       
   810 	   "16r258B"    16r00 " invalid " 
       
   811 	   "16r258C"    16r8E " LEFT HALF BLOCK " 
       
   812 	   "16r258D"    16r00 " invalid " 
       
   813 	   "16r258E"    16r00 " invalid " 
       
   814 	   "16r258F"    16r00 " invalid " 
       
   815 	   "16r2590"    16r8F " RIGHT HALF BLOCK " 
       
   816 	   "16r2591"    16r90 " LIGHT SHADE " 
       
   817 	   "16r2592"    16r91 " MEDIUM SHADE " 
       
   818 	   "16r2593"    16r92 " DARK SHADE " 
       
   819 	   "16r2594"    16r00 " invalid " 
       
   820 	   "16r2595"    16r00 " invalid " 
       
   821 	   "16r2596"    16r00 " invalid " 
       
   822 	   "16r2597"    16r00 " invalid " 
       
   823 	   "16r2598"    16r00 " invalid " 
       
   824 	   "16r2599"    16r00 " invalid " 
       
   825 	   "16r259A"    16r00 " invalid " 
       
   826 	   "16r259B"    16r00 " invalid " 
       
   827 	   "16r259C"    16r00 " invalid " 
       
   828 	   "16r259D"    16r00 " invalid " 
       
   829 	   "16r259E"    16r00 " invalid " 
       
   830 	   "16r259F"    16r00 " invalid " 
       
   831 	   "16r25A0"    16r94 " BLACK SQUARE " 
       
   832 	   ] at:(unicode - 16r24FF).
       
   833 	t == 0 ifFalse:[^ t].
       
   834 	^ self encodingError
       
   835     ] value.
       
   836 ! !
       
   837 
       
   838 !KOI8_R class methodsFor:'documentation'!
       
   839 
       
   840 version
       
   841     ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__KOI8_R.st,v 1.1 2004-03-05 17:26:56 cg Exp $'
       
   842 ! !