documentation
authorClaus Gittinger <cg@exept.de>
Thu, 31 Mar 2005 20:13:33 +0200
changeset 8811 b2a78fe1d44f
parent 8810 8f509238ef9f
child 8812 de70efb478c4
documentation
CharacterEncoderImplementations__ASCII.st
CharacterEncoderImplementations__CP1250.st
CharacterEncoderImplementations__CP437.st
CharacterEncoderImplementations__ISO8859_1.st
CharacterEncoderImplementations__ISO8859_10.st
CharacterEncoderImplementations__ISO8859_11.st
CharacterEncoderImplementations__ISO8859_13.st
CharacterEncoderImplementations__ISO8859_14.st
CharacterEncoderImplementations__ISO8859_15.st
CharacterEncoderImplementations__ISO8859_16.st
CharacterEncoderImplementations__ISO8859_2.st
CharacterEncoderImplementations__ISO8859_3.st
CharacterEncoderImplementations__ISO8859_4.st
CharacterEncoderImplementations__ISO8859_5.st
CharacterEncoderImplementations__ISO8859_6.st
CharacterEncoderImplementations__ISO8859_7.st
CharacterEncoderImplementations__ISO8859_8.st
CharacterEncoderImplementations__ISO8859_9.st
CharacterEncoderImplementations__SingleByteEncoder.st
Encoder_ASCII.st
Encoder_CP437.st
Encoder_ISO8859_1.st
Encoder_ISO8859_10.st
Encoder_ISO8859_11.st
Encoder_ISO8859_13.st
Encoder_ISO8859_14.st
Encoder_ISO8859_15.st
Encoder_ISO8859_16.st
Encoder_ISO8859_2.st
Encoder_ISO8859_3.st
Encoder_ISO8859_4.st
Encoder_ISO8859_5.st
Encoder_ISO8859_6.st
Encoder_ISO8859_7.st
Encoder_ISO8859_8.st
Encoder_ISO8859_9.st
Encoder_SingleByteEncoder.st
--- a/CharacterEncoderImplementations__ASCII.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ASCII.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,15 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    Ascii - 7bit identity subset of Unicode.
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ASCII class methodsFor:'mapping'!
@@ -232,5 +241,5 @@
 !ASCII class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ASCII.st,v 1.3 2004-03-09 21:58:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ASCII.st,v 1.4 2005-03-31 18:12:07 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__CP1250.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__CP1250.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,19 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    CodePage 1250 / MSDOS Latin2.
+    Notice: This is not the same as 8859-2
+
+    [see with:]
+        CharacterEncoderImplementations::CP1250 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !CP1250 class methodsFor:'encoding & decoding'!
@@ -886,5 +899,5 @@
 !CP1250 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CharacterEncoderImplementations__CP1250.st,v 1.1 2005-03-31 17:45:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/CharacterEncoderImplementations__CP1250.st,v 1.2 2005-03-31 18:12:15 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__CP437.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__CP437.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    CodePage 437 / MSDOS Latin US.
+
+    [see with:]
+        CharacterEncoderImplementations::CP437 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !CP437 class methodsFor:'encoding & decoding'!
@@ -324,8 +336,602 @@
 "
 ! !
 
+!CP437 methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code <= 16r7F ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+        ^ self decodingError.
+    ].
+    ^ #(
+       "16r0080"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+       "16r0081"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+       "16r0082"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+       "16r0083"    16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+       "16r0084"    16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS " 
+       "16r0085"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+       "16r0086"    16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE " 
+       "16r0087"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+       "16r0088"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+       "16r0089"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+       "16r008A"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+       "16r008B"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+       "16r008C"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+       "16r008D"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+       "16r008E"    16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+       "16r008F"    16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+       "16r0090"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+       "16r0091"    16r00E6 " LATIN SMALL LETTER AE " 
+       "16r0092"    16r00C6 " LATIN CAPITAL LETTER AE " 
+       "16r0093"    16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+       "16r0094"    16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS " 
+       "16r0095"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+       "16r0096"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+       "16r0097"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+       "16r0098"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+       "16r0099"    16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+       "16r009A"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+       "16r009B"    16r00A2 " CENT SIGN " 
+       "16r009C"    16r00A3 " POUND SIGN " 
+       "16r009D"    16r00A5 " YEN SIGN " 
+       "16r009E"    16r20A7 " PESETA SIGN " 
+       "16r009F"    16r0192 " LATIN SMALL LETTER F WITH HOOK " 
+       "16r00A0"    16r00E1 " LATIN SMALL LETTER A WITH ACUTE " 
+       "16r00A1"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+       "16r00A2"    16r00F3 " LATIN SMALL LETTER O WITH ACUTE " 
+       "16r00A3"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+       "16r00A4"    16r00F1 " LATIN SMALL LETTER N WITH TILDE " 
+       "16r00A5"    16r00D1 " LATIN CAPITAL LETTER N WITH TILDE " 
+       "16r00A6"    16r00AA " FEMININE ORDINAL INDICATOR " 
+       "16r00A7"    16r00BA " MASCULINE ORDINAL INDICATOR " 
+       "16r00A8"    16r00BF " INVERTED QUESTION MARK " 
+       "16r00A9"    16r2310 " REVERSED NOT SIGN " 
+       "16r00AA"    16r00AC " NOT SIGN " 
+       "16r00AB"    16r00BD " VULGAR FRACTION ONE HALF " 
+       "16r00AC"    16r00BC " VULGAR FRACTION ONE QUARTER " 
+       "16r00AD"    16r00A1 " INVERTED EXCLAMATION MARK " 
+       "16r00AE"    16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00AF"    16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00B0"    16r2591 " LIGHT SHADE " 
+       "16r00B1"    16r2592 " MEDIUM SHADE " 
+       "16r00B2"    16r2593 " DARK SHADE " 
+       "16r00B3"    16r2502 " BOX DRAWINGS LIGHT VERTICAL " 
+       "16r00B4"    16r2524 " BOX DRAWINGS LIGHT VERTICAL AND LEFT " 
+       "16r00B5"    16r2561 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE " 
+       "16r00B6"    16r2562 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE " 
+       "16r00B7"    16r2556 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE " 
+       "16r00B8"    16r2555 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE " 
+       "16r00B9"    16r2563 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT " 
+       "16r00BA"    16r2551 " BOX DRAWINGS DOUBLE VERTICAL " 
+       "16r00BB"    16r2557 " BOX DRAWINGS DOUBLE DOWN AND LEFT " 
+       "16r00BC"    16r255D " BOX DRAWINGS DOUBLE UP AND LEFT " 
+       "16r00BD"    16r255C " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE " 
+       "16r00BE"    16r255B " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE " 
+       "16r00BF"    16r2510 " BOX DRAWINGS LIGHT DOWN AND LEFT " 
+       "16r00C0"    16r2514 " BOX DRAWINGS LIGHT UP AND RIGHT " 
+       "16r00C1"    16r2534 " BOX DRAWINGS LIGHT UP AND HORIZONTAL " 
+       "16r00C2"    16r252C " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL " 
+       "16r00C3"    16r251C " BOX DRAWINGS LIGHT VERTICAL AND RIGHT " 
+       "16r00C4"    16r2500 " BOX DRAWINGS LIGHT HORIZONTAL " 
+       "16r00C5"    16r253C " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL " 
+       "16r00C6"    16r255E " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE " 
+       "16r00C7"    16r255F " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE " 
+       "16r00C8"    16r255A " BOX DRAWINGS DOUBLE UP AND RIGHT " 
+       "16r00C9"    16r2554 " BOX DRAWINGS DOUBLE DOWN AND RIGHT " 
+       "16r00CA"    16r2569 " BOX DRAWINGS DOUBLE UP AND HORIZONTAL " 
+       "16r00CB"    16r2566 " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL " 
+       "16r00CC"    16r2560 " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT " 
+       "16r00CD"    16r2550 " BOX DRAWINGS DOUBLE HORIZONTAL " 
+       "16r00CE"    16r256C " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL " 
+       "16r00CF"    16r2567 " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE " 
+       "16r00D0"    16r2568 " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE " 
+       "16r00D1"    16r2564 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE " 
+       "16r00D2"    16r2565 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE " 
+       "16r00D3"    16r2559 " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE " 
+       "16r00D4"    16r2558 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE " 
+       "16r00D5"    16r2552 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE " 
+       "16r00D6"    16r2553 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE " 
+       "16r00D7"    16r256B " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE " 
+       "16r00D8"    16r256A " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE " 
+       "16r00D9"    16r2518 " BOX DRAWINGS LIGHT UP AND LEFT " 
+       "16r00DA"    16r250C " BOX DRAWINGS LIGHT DOWN AND RIGHT " 
+       "16r00DB"    16r2588 " FULL BLOCK " 
+       "16r00DC"    16r2584 " LOWER HALF BLOCK " 
+       "16r00DD"    16r258C " LEFT HALF BLOCK " 
+       "16r00DE"    16r2590 " RIGHT HALF BLOCK " 
+       "16r00DF"    16r2580 " UPPER HALF BLOCK " 
+       "16r00E0"    16r03B1 " GREEK SMALL LETTER ALPHA " 
+       "16r00E1"    16r00DF " LATIN SMALL LETTER SHARP S (German) " 
+       "16r00E2"    16r0393 " GREEK CAPITAL LETTER GAMMA " 
+       "16r00E3"    16r03C0 " GREEK SMALL LETTER PI " 
+       "16r00E4"    16r03A3 " GREEK CAPITAL LETTER SIGMA " 
+       "16r00E5"    16r03C3 " GREEK SMALL LETTER SIGMA " 
+       "16r00E6"    16r00B5 " MICRO SIGN " 
+       "16r00E7"    16r03C4 " GREEK SMALL LETTER TAU " 
+       "16r00E8"    16r03A6 " GREEK CAPITAL LETTER PHI " 
+       "16r00E9"    16r0398 " GREEK CAPITAL LETTER THETA " 
+       "16r00EA"    16r03A9 " GREEK CAPITAL LETTER OMEGA " 
+       "16r00EB"    16r03B4 " GREEK SMALL LETTER DELTA " 
+       "16r00EC"    16r221E " INFINITY " 
+       "16r00ED"    16r03C6 " GREEK SMALL LETTER PHI " 
+       "16r00EE"    16r03B5 " GREEK SMALL LETTER EPSILON " 
+       "16r00EF"    16r2229 " INTERSECTION " 
+       "16r00F0"    16r2261 " IDENTICAL TO " 
+       "16r00F1"    16r00B1 " PLUS-MINUS SIGN " 
+       "16r00F2"    16r2265 " GREATER-THAN OR EQUAL TO " 
+       "16r00F3"    16r2264 " LESS-THAN OR EQUAL TO " 
+       "16r00F4"    16r2320 " TOP HALF INTEGRAL " 
+       "16r00F5"    16r2321 " BOTTOM HALF INTEGRAL " 
+       "16r00F6"    16r00F7 " DIVISION SIGN " 
+       "16r00F7"    16r2248 " ALMOST EQUAL TO " 
+       "16r00F8"    16r00B0 " DEGREE SIGN " 
+       "16r00F9"    16r00B7 " MIDDLE DOT " 
+       "16r00FA"    16r2022 " BULLET " 
+       "16r00FB"    16r221A " SQUARE ROOT " 
+       "16r00FC"    16r207F " SUPERSCRIPT LATIN SMALL LETTER N " 
+       "16r00FD"    16r00B2 " SUPERSCRIPT TWO " 
+       "16r00FE"    16r25A0 " BLACK SQUARE " 
+       "16r00FF"    16r00A0 " NO-BREAK SPACE " 
+       ) at:(code - 16r7F).
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode <= 16r7F ifTrue:[ ^ unicode ].
+    unicode > 16r25A0 ifTrue:[
+        ^ self encodingError.
+    ].
+    unicode <= 16r9F ifTrue:[
+        ^ self encodingError
+    ].
+    unicode <= 16r3C6 ifTrue:[
+        unicode <= 16r192 ifTrue:[
+            unicode <= 16rFF ifTrue:[
+                [
+                    |t|
+                    t := #[
+                       "16r00A0"    16rFF " NO-BREAK SPACE " 
+                       "16r00A1"    16rAD " INVERTED EXCLAMATION MARK " 
+                       "16r00A2"    16r9B " CENT SIGN " 
+                       "16r00A3"    16r9C " POUND SIGN " 
+                       "16r00A4"    16r00 " invalid " 
+                       "16r00A5"    16r9D " YEN SIGN " 
+                       "16r00A6"    16r00 " invalid " 
+                       "16r00A7"    16r00 " invalid " 
+                       "16r00A8"    16r00 " invalid " 
+                       "16r00A9"    16r00 " invalid " 
+                       "16r00AA"    16rA6 " FEMININE ORDINAL INDICATOR " 
+                       "16r00AB"    16rAE " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+                       "16r00AC"    16rAA " NOT SIGN " 
+                       "16r00AD"    16r00 " invalid " 
+                       "16r00AE"    16r00 " invalid " 
+                       "16r00AF"    16r00 " invalid " 
+                       "16r00B0"    16rF8 " DEGREE SIGN " 
+                       "16r00B1"    16rF1 " PLUS-MINUS SIGN " 
+                       "16r00B2"    16rFD " SUPERSCRIPT TWO " 
+                       "16r00B3"    16r00 " invalid " 
+                       "16r00B4"    16r00 " invalid " 
+                       "16r00B5"    16rE6 " MICRO SIGN " 
+                       "16r00B6"    16r00 " invalid " 
+                       "16r00B7"    16rF9 " MIDDLE DOT " 
+                       "16r00B8"    16r00 " invalid " 
+                       "16r00B9"    16r00 " invalid " 
+                       "16r00BA"    16rA7 " MASCULINE ORDINAL INDICATOR " 
+                       "16r00BB"    16rAF " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+                       "16r00BC"    16rAC " VULGAR FRACTION ONE QUARTER " 
+                       "16r00BD"    16rAB " VULGAR FRACTION ONE HALF " 
+                       "16r00BE"    16r00 " invalid " 
+                       "16r00BF"    16rA8 " INVERTED QUESTION MARK " 
+                       "16r00C0"    16r00 " invalid " 
+                       "16r00C1"    16r00 " invalid " 
+                       "16r00C2"    16r00 " invalid " 
+                       "16r00C3"    16r00 " invalid " 
+                       "16r00C4"    16r8E " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+                       "16r00C5"    16r8F " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+                       "16r00C6"    16r92 " LATIN CAPITAL LETTER AE " 
+                       "16r00C7"    16r80 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+                       "16r00C8"    16r00 " invalid " 
+                       "16r00C9"    16r90 " LATIN CAPITAL LETTER E WITH ACUTE " 
+                       "16r00CA"    16r00 " invalid " 
+                       "16r00CB"    16r00 " invalid " 
+                       "16r00CC"    16r00 " invalid " 
+                       "16r00CD"    16r00 " invalid " 
+                       "16r00CE"    16r00 " invalid " 
+                       "16r00CF"    16r00 " invalid " 
+                       "16r00D0"    16r00 " invalid " 
+                       "16r00D1"    16rA5 " LATIN CAPITAL LETTER N WITH TILDE " 
+                       "16r00D2"    16r00 " invalid " 
+                       "16r00D3"    16r00 " invalid " 
+                       "16r00D4"    16r00 " invalid " 
+                       "16r00D5"    16r00 " invalid " 
+                       "16r00D6"    16r99 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+                       "16r00D7"    16r00 " invalid " 
+                       "16r00D8"    16r00 " invalid " 
+                       "16r00D9"    16r00 " invalid " 
+                       "16r00DA"    16r00 " invalid " 
+                       "16r00DB"    16r00 " invalid " 
+                       "16r00DC"    16r9A " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+                       "16r00DD"    16r00 " invalid " 
+                       "16r00DE"    16r00 " invalid " 
+                       "16r00DF"    16rE1 " LATIN SMALL LETTER SHARP S (German) " 
+                       "16r00E0"    16r85 " LATIN SMALL LETTER A WITH GRAVE " 
+                       "16r00E1"    16rA0 " LATIN SMALL LETTER A WITH ACUTE " 
+                       "16r00E2"    16r83 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+                       "16r00E3"    16r00 " invalid " 
+                       "16r00E4"    16r84 " LATIN SMALL LETTER A WITH DIAERESIS " 
+                       "16r00E5"    16r86 " LATIN SMALL LETTER A WITH RING ABOVE " 
+                       "16r00E6"    16r91 " LATIN SMALL LETTER AE " 
+                       "16r00E7"    16r87 " LATIN SMALL LETTER C WITH CEDILLA " 
+                       "16r00E8"    16r8A " LATIN SMALL LETTER E WITH GRAVE " 
+                       "16r00E9"    16r82 " LATIN SMALL LETTER E WITH ACUTE " 
+                       "16r00EA"    16r88 " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+                       "16r00EB"    16r89 " LATIN SMALL LETTER E WITH DIAERESIS " 
+                       "16r00EC"    16r8D " LATIN SMALL LETTER I WITH GRAVE " 
+                       "16r00ED"    16rA1 " LATIN SMALL LETTER I WITH ACUTE " 
+                       "16r00EE"    16r8C " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+                       "16r00EF"    16r8B " LATIN SMALL LETTER I WITH DIAERESIS " 
+                       "16r00F0"    16r00 " invalid " 
+                       "16r00F1"    16rA4 " LATIN SMALL LETTER N WITH TILDE " 
+                       "16r00F2"    16r95 " LATIN SMALL LETTER O WITH GRAVE " 
+                       "16r00F3"    16rA2 " LATIN SMALL LETTER O WITH ACUTE " 
+                       "16r00F4"    16r93 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+                       "16r00F5"    16r00 " invalid " 
+                       "16r00F6"    16r94 " LATIN SMALL LETTER O WITH DIAERESIS " 
+                       "16r00F7"    16rF6 " DIVISION SIGN " 
+                       "16r00F8"    16r00 " invalid " 
+                       "16r00F9"    16r97 " LATIN SMALL LETTER U WITH GRAVE " 
+                       "16r00FA"    16rA3 " LATIN SMALL LETTER U WITH ACUTE " 
+                       "16r00FB"    16r96 " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+                       "16r00FC"    16r81 " LATIN SMALL LETTER U WITH DIAERESIS " 
+                       "16r00FD"    16r00 " invalid " 
+                       "16r00FE"    16r00 " invalid " 
+                       "16r00FF"    16r98 " LATIN SMALL LETTER Y WITH DIAERESIS " 
+                       ] at:(unicode - 16r9F).
+                    t == 0 ifFalse:[^ t].
+                    ^ self encodingError
+                ] value.
+            ].
+            unicode <= 16r191 ifTrue:[
+                ^ self encodingError
+            ].
+            ^  "16r0192" 16r009F " LATIN SMALL LETTER F WITH HOOK " 
+        ].
+        unicode <= 16r392 ifTrue:[
+            ^ self encodingError
+        ].
+        [
+            |t|
+            t := #[
+               "16r0393"    16rE2 " GREEK CAPITAL LETTER GAMMA " 
+               "16r0394"    16r00 " invalid " 
+               "16r0395"    16r00 " invalid " 
+               "16r0396"    16r00 " invalid " 
+               "16r0397"    16r00 " invalid " 
+               "16r0398"    16rE9 " GREEK CAPITAL LETTER THETA " 
+               "16r0399"    16r00 " invalid " 
+               "16r039A"    16r00 " invalid " 
+               "16r039B"    16r00 " invalid " 
+               "16r039C"    16r00 " invalid " 
+               "16r039D"    16r00 " invalid " 
+               "16r039E"    16r00 " invalid " 
+               "16r039F"    16r00 " invalid " 
+               "16r03A0"    16r00 " invalid " 
+               "16r03A1"    16r00 " invalid " 
+               "16r03A2"    16r00 " invalid " 
+               "16r03A3"    16rE4 " GREEK CAPITAL LETTER SIGMA " 
+               "16r03A4"    16r00 " invalid " 
+               "16r03A5"    16r00 " invalid " 
+               "16r03A6"    16rE8 " GREEK CAPITAL LETTER PHI " 
+               "16r03A7"    16r00 " invalid " 
+               "16r03A8"    16r00 " invalid " 
+               "16r03A9"    16rEA " GREEK CAPITAL LETTER OMEGA " 
+               "16r03AA"    16r00 " invalid " 
+               "16r03AB"    16r00 " invalid " 
+               "16r03AC"    16r00 " invalid " 
+               "16r03AD"    16r00 " invalid " 
+               "16r03AE"    16r00 " invalid " 
+               "16r03AF"    16r00 " invalid " 
+               "16r03B0"    16r00 " invalid " 
+               "16r03B1"    16rE0 " GREEK SMALL LETTER ALPHA " 
+               "16r03B2"    16r00 " invalid " 
+               "16r03B3"    16r00 " invalid " 
+               "16r03B4"    16rEB " GREEK SMALL LETTER DELTA " 
+               "16r03B5"    16rEE " GREEK SMALL LETTER EPSILON " 
+               "16r03B6"    16r00 " invalid " 
+               "16r03B7"    16r00 " invalid " 
+               "16r03B8"    16r00 " invalid " 
+               "16r03B9"    16r00 " invalid " 
+               "16r03BA"    16r00 " invalid " 
+               "16r03BB"    16r00 " invalid " 
+               "16r03BC"    16r00 " invalid " 
+               "16r03BD"    16r00 " invalid " 
+               "16r03BE"    16r00 " invalid " 
+               "16r03BF"    16r00 " invalid " 
+               "16r03C0"    16rE3 " GREEK SMALL LETTER PI " 
+               "16r03C1"    16r00 " invalid " 
+               "16r03C2"    16r00 " invalid " 
+               "16r03C3"    16rE5 " GREEK SMALL LETTER SIGMA " 
+               "16r03C4"    16rE7 " GREEK SMALL LETTER TAU " 
+               "16r03C5"    16r00 " invalid " 
+               "16r03C6"    16rED " GREEK SMALL LETTER PHI " 
+               ] at:(unicode - 16r392).
+            t == 0 ifFalse:[^ t].
+            ^ self encodingError
+        ] value.
+    ].
+    unicode <= 16r2021 ifTrue:[
+        ^ self encodingError
+    ].
+    unicode <= 16r2321 ifTrue:[
+        unicode <= 16r20A7 ifTrue:[
+            unicode == 16r2022 ifTrue:[
+                ^  "16r2022" 16r00FA " BULLET " 
+            ].
+            unicode <= 16r207E ifTrue:[
+                ^ self encodingError
+            ].
+            unicode == 16r207F ifTrue:[
+                ^  "16r207F" 16r00FC " SUPERSCRIPT LATIN SMALL LETTER N " 
+            ].
+            unicode <= 16r20A6 ifTrue:[
+                ^ self encodingError
+            ].
+            ^  "16r20A7" 16r009E " PESETA SIGN " 
+        ].
+        unicode <= 16r2219 ifTrue:[
+            ^ self encodingError
+        ].
+        unicode <= 16r2265 ifTrue:[
+            unicode <= 16r2229 ifTrue:[
+                [
+                    |t|
+                    t := #[
+                       "16r221A"    16rFB " SQUARE ROOT " 
+                       "16r221B"    16r00 " invalid " 
+                       "16r221C"    16r00 " invalid " 
+                       "16r221D"    16r00 " invalid " 
+                       "16r221E"    16rEC " INFINITY " 
+                       "16r221F"    16r00 " invalid " 
+                       "16r2220"    16r00 " invalid " 
+                       "16r2221"    16r00 " invalid " 
+                       "16r2222"    16r00 " invalid " 
+                       "16r2223"    16r00 " invalid " 
+                       "16r2224"    16r00 " invalid " 
+                       "16r2225"    16r00 " invalid " 
+                       "16r2226"    16r00 " invalid " 
+                       "16r2227"    16r00 " invalid " 
+                       "16r2228"    16r00 " invalid " 
+                       "16r2229"    16rEF " INTERSECTION " 
+                       ] at:(unicode - 16r2219).
+                    t == 0 ifFalse:[^ t].
+                    ^ self encodingError
+                ] value.
+            ].
+            unicode <= 16r2247 ifTrue:[
+                ^ self encodingError
+            ].
+            unicode == 16r2248 ifTrue:[
+                ^  "16r2248" 16r00F7 " ALMOST EQUAL TO " 
+            ].
+            unicode <= 16r2260 ifTrue:[
+                ^ self encodingError
+            ].
+            [
+                |t|
+                t := #[
+                   "16r2261"    16rF0 " IDENTICAL TO " 
+                   "16r2262"    16r00 " invalid " 
+                   "16r2263"    16r00 " invalid " 
+                   "16r2264"    16rF3 " LESS-THAN OR EQUAL TO " 
+                   "16r2265"    16rF2 " GREATER-THAN OR EQUAL TO " 
+                   ] at:(unicode - 16r2260).
+                t == 0 ifFalse:[^ t].
+                ^ self encodingError
+            ] value.
+        ].
+        unicode <= 16r230F ifTrue:[
+            ^ self encodingError
+        ].
+        unicode == 16r2310 ifTrue:[
+            (#[
+               "16r2310"    1 " REVERSED NOT SIGN " 
+            ] at:(unicode - 8975)) ~~ 0 ifTrue:[^ unicode].
+            ^ self encodingError
+        ].
+        unicode <= 16r231F ifTrue:[
+            ^ self encodingError
+        ].
+        ^ #[
+           "16r2320"    16rF4 " TOP HALF INTEGRAL " 
+           "16r2321"    16rF5 " BOTTOM HALF INTEGRAL " 
+           ] at:(unicode - 16r231F).
+    ].
+    unicode <= 16r24FF ifTrue:[
+        ^ self encodingError
+    ].
+    [
+        |t|
+        t := #[
+           "16r2500"    16rC4 " BOX DRAWINGS LIGHT HORIZONTAL " 
+           "16r2501"    16r00 " invalid " 
+           "16r2502"    16rB3 " BOX DRAWINGS LIGHT VERTICAL " 
+           "16r2503"    16r00 " invalid " 
+           "16r2504"    16r00 " invalid " 
+           "16r2505"    16r00 " invalid " 
+           "16r2506"    16r00 " invalid " 
+           "16r2507"    16r00 " invalid " 
+           "16r2508"    16r00 " invalid " 
+           "16r2509"    16r00 " invalid " 
+           "16r250A"    16r00 " invalid " 
+           "16r250B"    16r00 " invalid " 
+           "16r250C"    16rDA " BOX DRAWINGS LIGHT DOWN AND RIGHT " 
+           "16r250D"    16r00 " invalid " 
+           "16r250E"    16r00 " invalid " 
+           "16r250F"    16r00 " invalid " 
+           "16r2510"    16rBF " BOX DRAWINGS LIGHT DOWN AND LEFT " 
+           "16r2511"    16r00 " invalid " 
+           "16r2512"    16r00 " invalid " 
+           "16r2513"    16r00 " invalid " 
+           "16r2514"    16rC0 " BOX DRAWINGS LIGHT UP AND RIGHT " 
+           "16r2515"    16r00 " invalid " 
+           "16r2516"    16r00 " invalid " 
+           "16r2517"    16r00 " invalid " 
+           "16r2518"    16rD9 " BOX DRAWINGS LIGHT UP AND LEFT " 
+           "16r2519"    16r00 " invalid " 
+           "16r251A"    16r00 " invalid " 
+           "16r251B"    16r00 " invalid " 
+           "16r251C"    16rC3 " BOX DRAWINGS LIGHT VERTICAL AND RIGHT " 
+           "16r251D"    16r00 " invalid " 
+           "16r251E"    16r00 " invalid " 
+           "16r251F"    16r00 " invalid " 
+           "16r2520"    16r00 " invalid " 
+           "16r2521"    16r00 " invalid " 
+           "16r2522"    16r00 " invalid " 
+           "16r2523"    16r00 " invalid " 
+           "16r2524"    16rB4 " BOX DRAWINGS LIGHT VERTICAL AND LEFT " 
+           "16r2525"    16r00 " invalid " 
+           "16r2526"    16r00 " invalid " 
+           "16r2527"    16r00 " invalid " 
+           "16r2528"    16r00 " invalid " 
+           "16r2529"    16r00 " invalid " 
+           "16r252A"    16r00 " invalid " 
+           "16r252B"    16r00 " invalid " 
+           "16r252C"    16rC2 " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL " 
+           "16r252D"    16r00 " invalid " 
+           "16r252E"    16r00 " invalid " 
+           "16r252F"    16r00 " invalid " 
+           "16r2530"    16r00 " invalid " 
+           "16r2531"    16r00 " invalid " 
+           "16r2532"    16r00 " invalid " 
+           "16r2533"    16r00 " invalid " 
+           "16r2534"    16rC1 " BOX DRAWINGS LIGHT UP AND HORIZONTAL " 
+           "16r2535"    16r00 " invalid " 
+           "16r2536"    16r00 " invalid " 
+           "16r2537"    16r00 " invalid " 
+           "16r2538"    16r00 " invalid " 
+           "16r2539"    16r00 " invalid " 
+           "16r253A"    16r00 " invalid " 
+           "16r253B"    16r00 " invalid " 
+           "16r253C"    16rC5 " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL " 
+           "16r253D"    16r00 " invalid " 
+           "16r253E"    16r00 " invalid " 
+           "16r253F"    16r00 " invalid " 
+           "16r2540"    16r00 " invalid " 
+           "16r2541"    16r00 " invalid " 
+           "16r2542"    16r00 " invalid " 
+           "16r2543"    16r00 " invalid " 
+           "16r2544"    16r00 " invalid " 
+           "16r2545"    16r00 " invalid " 
+           "16r2546"    16r00 " invalid " 
+           "16r2547"    16r00 " invalid " 
+           "16r2548"    16r00 " invalid " 
+           "16r2549"    16r00 " invalid " 
+           "16r254A"    16r00 " invalid " 
+           "16r254B"    16r00 " invalid " 
+           "16r254C"    16r00 " invalid " 
+           "16r254D"    16r00 " invalid " 
+           "16r254E"    16r00 " invalid " 
+           "16r254F"    16r00 " invalid " 
+           "16r2550"    16rCD " BOX DRAWINGS DOUBLE HORIZONTAL " 
+           "16r2551"    16rBA " BOX DRAWINGS DOUBLE VERTICAL " 
+           "16r2552"    16rD5 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE " 
+           "16r2553"    16rD6 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE " 
+           "16r2554"    16rC9 " BOX DRAWINGS DOUBLE DOWN AND RIGHT " 
+           "16r2555"    16rB8 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE " 
+           "16r2556"    16rB7 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE " 
+           "16r2557"    16rBB " BOX DRAWINGS DOUBLE DOWN AND LEFT " 
+           "16r2558"    16rD4 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE " 
+           "16r2559"    16rD3 " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE " 
+           "16r255A"    16rC8 " BOX DRAWINGS DOUBLE UP AND RIGHT " 
+           "16r255B"    16rBE " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE " 
+           "16r255C"    16rBD " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE " 
+           "16r255D"    16rBC " BOX DRAWINGS DOUBLE UP AND LEFT " 
+           "16r255E"    16rC6 " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE " 
+           "16r255F"    16rC7 " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE " 
+           "16r2560"    16rCC " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT " 
+           "16r2561"    16rB5 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE " 
+           "16r2562"    16rB6 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE " 
+           "16r2563"    16rB9 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT " 
+           "16r2564"    16rD1 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE " 
+           "16r2565"    16rD2 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE " 
+           "16r2566"    16rCB " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL " 
+           "16r2567"    16rCF " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE " 
+           "16r2568"    16rD0 " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE " 
+           "16r2569"    16rCA " BOX DRAWINGS DOUBLE UP AND HORIZONTAL " 
+           "16r256A"    16rD8 " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE " 
+           "16r256B"    16rD7 " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE " 
+           "16r256C"    16rCE " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL " 
+           "16r256D"    16r00 " invalid " 
+           "16r256E"    16r00 " invalid " 
+           "16r256F"    16r00 " invalid " 
+           "16r2570"    16r00 " invalid " 
+           "16r2571"    16r00 " invalid " 
+           "16r2572"    16r00 " invalid " 
+           "16r2573"    16r00 " invalid " 
+           "16r2574"    16r00 " invalid " 
+           "16r2575"    16r00 " invalid " 
+           "16r2576"    16r00 " invalid " 
+           "16r2577"    16r00 " invalid " 
+           "16r2578"    16r00 " invalid " 
+           "16r2579"    16r00 " invalid " 
+           "16r257A"    16r00 " invalid " 
+           "16r257B"    16r00 " invalid " 
+           "16r257C"    16r00 " invalid " 
+           "16r257D"    16r00 " invalid " 
+           "16r257E"    16r00 " invalid " 
+           "16r257F"    16r00 " invalid " 
+           "16r2580"    16rDF " UPPER HALF BLOCK " 
+           "16r2581"    16r00 " invalid " 
+           "16r2582"    16r00 " invalid " 
+           "16r2583"    16r00 " invalid " 
+           "16r2584"    16rDC " LOWER HALF BLOCK " 
+           "16r2585"    16r00 " invalid " 
+           "16r2586"    16r00 " invalid " 
+           "16r2587"    16r00 " invalid " 
+           "16r2588"    16rDB " FULL BLOCK " 
+           "16r2589"    16r00 " invalid " 
+           "16r258A"    16r00 " invalid " 
+           "16r258B"    16r00 " invalid " 
+           "16r258C"    16rDD " LEFT HALF BLOCK " 
+           "16r258D"    16r00 " invalid " 
+           "16r258E"    16r00 " invalid " 
+           "16r258F"    16r00 " invalid " 
+           "16r2590"    16rDE " RIGHT HALF BLOCK " 
+           "16r2591"    16rB0 " LIGHT SHADE " 
+           "16r2592"    16rB1 " MEDIUM SHADE " 
+           "16r2593"    16rB2 " DARK SHADE " 
+           "16r2594"    16r00 " invalid " 
+           "16r2595"    16r00 " invalid " 
+           "16r2596"    16r00 " invalid " 
+           "16r2597"    16r00 " invalid " 
+           "16r2598"    16r00 " invalid " 
+           "16r2599"    16r00 " invalid " 
+           "16r259A"    16r00 " invalid " 
+           "16r259B"    16r00 " invalid " 
+           "16r259C"    16r00 " invalid " 
+           "16r259D"    16r00 " invalid " 
+           "16r259E"    16r00 " invalid " 
+           "16r259F"    16r00 " invalid " 
+           "16r25A0"    16rFE " BLACK SQUARE " 
+           ] at:(unicode - 16r24FF).
+        t == 0 ifFalse:[^ t].
+        ^ self encodingError
+    ] value.
+! !
+
 !CP437 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__CP437.st,v 1.3 2004-03-09 21:59:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__CP437.st,v 1.4 2005-03-31 18:12:18 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_1.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_1.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-1 (West European) - 8bit identity subset of Unicode.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_1 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_1 class methodsFor:'mapping'!
@@ -447,5 +459,5 @@
 !ISO8859_1 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_1.st,v 1.3 2004-03-09 22:00:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_1.st,v 1.4 2005-03-31 18:12:50 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_10.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_10.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-10 (Latin 6) - Nordic.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_10 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_10 class methodsFor:'mapping'!
@@ -722,5 +734,5 @@
 !ISO8859_10 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_10.st,v 1.3 2004-03-09 21:58:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_10.st,v 1.4 2005-03-31 18:12:38 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_11.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_11.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-11 - Thai.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_11 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_11 class methodsFor:'mapping'!
@@ -584,5 +596,5 @@
 !ISO8859_11 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_11.st,v 1.3 2004-03-09 22:01:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_11.st,v 1.4 2005-03-31 18:12:32 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_13.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_13.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-13 (Latin 7) - Baltic (replaces Latin4 and Latin6).
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_13 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_13 class methodsFor:'mapping'!
@@ -725,5 +737,5 @@
 !ISO8859_13 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_13.st,v 1.3 2004-03-09 21:58:17 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_13.st,v 1.4 2005-03-31 18:12:35 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_14.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_14.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-14 (Latin 8) - Celtic .
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_14 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_14 class methodsFor:'mapping'!
@@ -768,5 +780,5 @@
 !ISO8859_14 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_14.st,v 1.3 2004-03-09 22:00:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_14.st,v 1.4 2005-03-31 18:12:55 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_15.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_15.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-15 (Latin 9) - Western Europe with EURO currency sign .
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_15 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_15 class methodsFor:'mapping'!
@@ -627,5 +639,5 @@
 !ISO8859_15 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_15.st,v 1.3 2004-03-09 21:59:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_15.st,v 1.4 2005-03-31 18:12:41 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_16.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_16.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-16 (Latin 10) - Southern Europe with EURO currency sign .
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_16 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_16 class methodsFor:'mapping'!
@@ -711,5 +723,5 @@
 !ISO8859_16 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_16.st,v 1.3 2004-03-09 21:58:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_16.st,v 1.4 2005-03-31 18:12:53 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_2.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_2.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,20 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-2 (Latin 2) - East European.
+
+    Notice: this is NOT the same as CP1250.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_2 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_2 class methodsFor:'encoding & decoding'!
@@ -752,5 +766,5 @@
 !ISO8859_2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_2.st,v 1.3 2004-03-09 21:57:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_2.st,v 1.4 2005-03-31 18:12:47 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_3.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_3.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-3 (Latin 3) - South European.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_3 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_3 class methodsFor:'mapping'!
@@ -686,5 +698,5 @@
 !ISO8859_3 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_3.st,v 1.3 2004-03-09 22:00:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_3.st,v 1.4 2005-03-31 18:12:44 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_4.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_4.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-4 (Latin 4) - Baltic / Northern European
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_4 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_4 class methodsFor:'mapping'!
@@ -737,5 +749,5 @@
 !ISO8859_4 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_4.st,v 1.3 2004-03-09 21:58:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_4.st,v 1.4 2005-03-31 18:12:58 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_5.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_5.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-5 - Kyrillic.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_5 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_5 class methodsFor:'mapping'!
@@ -615,5 +627,5 @@
 !ISO8859_5 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_5.st,v 1.3 2004-03-09 21:58:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_5.st,v 1.4 2005-03-31 18:13:16 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_6.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_6.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-6 - Arabic.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_6 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_6 class methodsFor:'mapping'!
@@ -534,5 +546,5 @@
 !ISO8859_6 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_6.st,v 1.3 2004-03-09 21:59:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_6.st,v 1.4 2005-03-31 18:13:19 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_7.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_7.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-7 - Greek.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_7 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_7 class methodsFor:'mapping'!
@@ -657,5 +669,5 @@
 !ISO8859_7 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_7.st,v 1.3 2004-03-09 21:59:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_7.st,v 1.4 2005-03-31 18:13:13 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_8.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_8.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-8 - Hebrew.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_8 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_8 class methodsFor:'mapping'!
@@ -538,5 +550,5 @@
 !ISO8859_8 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_8.st,v 1.3 2004-03-09 22:01:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_8.st,v 1.4 2005-03-31 18:13:21 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__ISO8859_9.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__ISO8859_9.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-9 (Latin 5) - Turkish / Pan European.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_9 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_9 class methodsFor:'mapping'!
@@ -433,5 +445,5 @@
 !ISO8859_9 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_9.st,v 1.3 2004-03-09 21:58:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__ISO8859_9.st,v 1.4 2005-03-31 18:13:10 cg Exp $'
 ! !
--- a/CharacterEncoderImplementations__SingleByteEncoder.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/CharacterEncoderImplementations__SingleByteEncoder.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,15 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    Common abstract superclass for all single-byte encodings.
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !SingleByteEncoder class methodsFor:'queries'!
@@ -56,5 +65,5 @@
 !SingleByteEncoder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__SingleByteEncoder.st,v 1.4 2004-03-09 21:57:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__SingleByteEncoder.st,v 1.5 2005-03-31 18:13:33 cg Exp $'
 ! !
--- a/Encoder_ASCII.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ASCII.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,15 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    Ascii - 7bit identity subset of Unicode.
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ASCII class methodsFor:'mapping'!
@@ -232,5 +241,5 @@
 !ASCII class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ASCII.st,v 1.3 2004-03-09 21:58:49 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ASCII.st,v 1.4 2005-03-31 18:12:07 cg Exp $'
 ! !
--- a/Encoder_CP437.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_CP437.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    CodePage 437 / MSDOS Latin US.
+
+    [see with:]
+        CharacterEncoderImplementations::CP437 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !CP437 class methodsFor:'encoding & decoding'!
@@ -324,8 +336,602 @@
 "
 ! !
 
+!CP437 methodsFor:'encoding & decoding'!
+
+decode:codeArg
+    "Automagically generated by generateCode - do not modify.
+     Decode from my encoding into unicode."
+
+    |code "{ Class: SmallInteger }"|
+
+    code := codeArg.
+    code <= 16r7F ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+        ^ self decodingError.
+    ].
+    ^ #(
+       "16r0080"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+       "16r0081"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+       "16r0082"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+       "16r0083"    16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+       "16r0084"    16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS " 
+       "16r0085"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+       "16r0086"    16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE " 
+       "16r0087"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+       "16r0088"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+       "16r0089"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+       "16r008A"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+       "16r008B"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+       "16r008C"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+       "16r008D"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+       "16r008E"    16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+       "16r008F"    16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+       "16r0090"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+       "16r0091"    16r00E6 " LATIN SMALL LETTER AE " 
+       "16r0092"    16r00C6 " LATIN CAPITAL LETTER AE " 
+       "16r0093"    16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+       "16r0094"    16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS " 
+       "16r0095"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+       "16r0096"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+       "16r0097"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+       "16r0098"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+       "16r0099"    16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+       "16r009A"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+       "16r009B"    16r00A2 " CENT SIGN " 
+       "16r009C"    16r00A3 " POUND SIGN " 
+       "16r009D"    16r00A5 " YEN SIGN " 
+       "16r009E"    16r20A7 " PESETA SIGN " 
+       "16r009F"    16r0192 " LATIN SMALL LETTER F WITH HOOK " 
+       "16r00A0"    16r00E1 " LATIN SMALL LETTER A WITH ACUTE " 
+       "16r00A1"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+       "16r00A2"    16r00F3 " LATIN SMALL LETTER O WITH ACUTE " 
+       "16r00A3"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+       "16r00A4"    16r00F1 " LATIN SMALL LETTER N WITH TILDE " 
+       "16r00A5"    16r00D1 " LATIN CAPITAL LETTER N WITH TILDE " 
+       "16r00A6"    16r00AA " FEMININE ORDINAL INDICATOR " 
+       "16r00A7"    16r00BA " MASCULINE ORDINAL INDICATOR " 
+       "16r00A8"    16r00BF " INVERTED QUESTION MARK " 
+       "16r00A9"    16r2310 " REVERSED NOT SIGN " 
+       "16r00AA"    16r00AC " NOT SIGN " 
+       "16r00AB"    16r00BD " VULGAR FRACTION ONE HALF " 
+       "16r00AC"    16r00BC " VULGAR FRACTION ONE QUARTER " 
+       "16r00AD"    16r00A1 " INVERTED EXCLAMATION MARK " 
+       "16r00AE"    16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00AF"    16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+       "16r00B0"    16r2591 " LIGHT SHADE " 
+       "16r00B1"    16r2592 " MEDIUM SHADE " 
+       "16r00B2"    16r2593 " DARK SHADE " 
+       "16r00B3"    16r2502 " BOX DRAWINGS LIGHT VERTICAL " 
+       "16r00B4"    16r2524 " BOX DRAWINGS LIGHT VERTICAL AND LEFT " 
+       "16r00B5"    16r2561 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE " 
+       "16r00B6"    16r2562 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE " 
+       "16r00B7"    16r2556 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE " 
+       "16r00B8"    16r2555 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE " 
+       "16r00B9"    16r2563 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT " 
+       "16r00BA"    16r2551 " BOX DRAWINGS DOUBLE VERTICAL " 
+       "16r00BB"    16r2557 " BOX DRAWINGS DOUBLE DOWN AND LEFT " 
+       "16r00BC"    16r255D " BOX DRAWINGS DOUBLE UP AND LEFT " 
+       "16r00BD"    16r255C " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE " 
+       "16r00BE"    16r255B " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE " 
+       "16r00BF"    16r2510 " BOX DRAWINGS LIGHT DOWN AND LEFT " 
+       "16r00C0"    16r2514 " BOX DRAWINGS LIGHT UP AND RIGHT " 
+       "16r00C1"    16r2534 " BOX DRAWINGS LIGHT UP AND HORIZONTAL " 
+       "16r00C2"    16r252C " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL " 
+       "16r00C3"    16r251C " BOX DRAWINGS LIGHT VERTICAL AND RIGHT " 
+       "16r00C4"    16r2500 " BOX DRAWINGS LIGHT HORIZONTAL " 
+       "16r00C5"    16r253C " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL " 
+       "16r00C6"    16r255E " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE " 
+       "16r00C7"    16r255F " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE " 
+       "16r00C8"    16r255A " BOX DRAWINGS DOUBLE UP AND RIGHT " 
+       "16r00C9"    16r2554 " BOX DRAWINGS DOUBLE DOWN AND RIGHT " 
+       "16r00CA"    16r2569 " BOX DRAWINGS DOUBLE UP AND HORIZONTAL " 
+       "16r00CB"    16r2566 " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL " 
+       "16r00CC"    16r2560 " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT " 
+       "16r00CD"    16r2550 " BOX DRAWINGS DOUBLE HORIZONTAL " 
+       "16r00CE"    16r256C " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL " 
+       "16r00CF"    16r2567 " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE " 
+       "16r00D0"    16r2568 " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE " 
+       "16r00D1"    16r2564 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE " 
+       "16r00D2"    16r2565 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE " 
+       "16r00D3"    16r2559 " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE " 
+       "16r00D4"    16r2558 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE " 
+       "16r00D5"    16r2552 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE " 
+       "16r00D6"    16r2553 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE " 
+       "16r00D7"    16r256B " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE " 
+       "16r00D8"    16r256A " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE " 
+       "16r00D9"    16r2518 " BOX DRAWINGS LIGHT UP AND LEFT " 
+       "16r00DA"    16r250C " BOX DRAWINGS LIGHT DOWN AND RIGHT " 
+       "16r00DB"    16r2588 " FULL BLOCK " 
+       "16r00DC"    16r2584 " LOWER HALF BLOCK " 
+       "16r00DD"    16r258C " LEFT HALF BLOCK " 
+       "16r00DE"    16r2590 " RIGHT HALF BLOCK " 
+       "16r00DF"    16r2580 " UPPER HALF BLOCK " 
+       "16r00E0"    16r03B1 " GREEK SMALL LETTER ALPHA " 
+       "16r00E1"    16r00DF " LATIN SMALL LETTER SHARP S (German) " 
+       "16r00E2"    16r0393 " GREEK CAPITAL LETTER GAMMA " 
+       "16r00E3"    16r03C0 " GREEK SMALL LETTER PI " 
+       "16r00E4"    16r03A3 " GREEK CAPITAL LETTER SIGMA " 
+       "16r00E5"    16r03C3 " GREEK SMALL LETTER SIGMA " 
+       "16r00E6"    16r00B5 " MICRO SIGN " 
+       "16r00E7"    16r03C4 " GREEK SMALL LETTER TAU " 
+       "16r00E8"    16r03A6 " GREEK CAPITAL LETTER PHI " 
+       "16r00E9"    16r0398 " GREEK CAPITAL LETTER THETA " 
+       "16r00EA"    16r03A9 " GREEK CAPITAL LETTER OMEGA " 
+       "16r00EB"    16r03B4 " GREEK SMALL LETTER DELTA " 
+       "16r00EC"    16r221E " INFINITY " 
+       "16r00ED"    16r03C6 " GREEK SMALL LETTER PHI " 
+       "16r00EE"    16r03B5 " GREEK SMALL LETTER EPSILON " 
+       "16r00EF"    16r2229 " INTERSECTION " 
+       "16r00F0"    16r2261 " IDENTICAL TO " 
+       "16r00F1"    16r00B1 " PLUS-MINUS SIGN " 
+       "16r00F2"    16r2265 " GREATER-THAN OR EQUAL TO " 
+       "16r00F3"    16r2264 " LESS-THAN OR EQUAL TO " 
+       "16r00F4"    16r2320 " TOP HALF INTEGRAL " 
+       "16r00F5"    16r2321 " BOTTOM HALF INTEGRAL " 
+       "16r00F6"    16r00F7 " DIVISION SIGN " 
+       "16r00F7"    16r2248 " ALMOST EQUAL TO " 
+       "16r00F8"    16r00B0 " DEGREE SIGN " 
+       "16r00F9"    16r00B7 " MIDDLE DOT " 
+       "16r00FA"    16r2022 " BULLET " 
+       "16r00FB"    16r221A " SQUARE ROOT " 
+       "16r00FC"    16r207F " SUPERSCRIPT LATIN SMALL LETTER N " 
+       "16r00FD"    16r00B2 " SUPERSCRIPT TWO " 
+       "16r00FE"    16r25A0 " BLACK SQUARE " 
+       "16r00FF"    16r00A0 " NO-BREAK SPACE " 
+       ) at:(code - 16r7F).
+!
+
+encode:unicodeArg
+    "Automagically generated by generateCode - do not modify.
+     Encode from unicode into my encoding."
+
+    |unicode "{ Class: SmallInteger }"|
+
+    unicode := unicodeArg.
+    unicode <= 16r7F ifTrue:[ ^ unicode ].
+    unicode > 16r25A0 ifTrue:[
+        ^ self encodingError.
+    ].
+    unicode <= 16r9F ifTrue:[
+        ^ self encodingError
+    ].
+    unicode <= 16r3C6 ifTrue:[
+        unicode <= 16r192 ifTrue:[
+            unicode <= 16rFF ifTrue:[
+                [
+                    |t|
+                    t := #[
+                       "16r00A0"    16rFF " NO-BREAK SPACE " 
+                       "16r00A1"    16rAD " INVERTED EXCLAMATION MARK " 
+                       "16r00A2"    16r9B " CENT SIGN " 
+                       "16r00A3"    16r9C " POUND SIGN " 
+                       "16r00A4"    16r00 " invalid " 
+                       "16r00A5"    16r9D " YEN SIGN " 
+                       "16r00A6"    16r00 " invalid " 
+                       "16r00A7"    16r00 " invalid " 
+                       "16r00A8"    16r00 " invalid " 
+                       "16r00A9"    16r00 " invalid " 
+                       "16r00AA"    16rA6 " FEMININE ORDINAL INDICATOR " 
+                       "16r00AB"    16rAE " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+                       "16r00AC"    16rAA " NOT SIGN " 
+                       "16r00AD"    16r00 " invalid " 
+                       "16r00AE"    16r00 " invalid " 
+                       "16r00AF"    16r00 " invalid " 
+                       "16r00B0"    16rF8 " DEGREE SIGN " 
+                       "16r00B1"    16rF1 " PLUS-MINUS SIGN " 
+                       "16r00B2"    16rFD " SUPERSCRIPT TWO " 
+                       "16r00B3"    16r00 " invalid " 
+                       "16r00B4"    16r00 " invalid " 
+                       "16r00B5"    16rE6 " MICRO SIGN " 
+                       "16r00B6"    16r00 " invalid " 
+                       "16r00B7"    16rF9 " MIDDLE DOT " 
+                       "16r00B8"    16r00 " invalid " 
+                       "16r00B9"    16r00 " invalid " 
+                       "16r00BA"    16rA7 " MASCULINE ORDINAL INDICATOR " 
+                       "16r00BB"    16rAF " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+                       "16r00BC"    16rAC " VULGAR FRACTION ONE QUARTER " 
+                       "16r00BD"    16rAB " VULGAR FRACTION ONE HALF " 
+                       "16r00BE"    16r00 " invalid " 
+                       "16r00BF"    16rA8 " INVERTED QUESTION MARK " 
+                       "16r00C0"    16r00 " invalid " 
+                       "16r00C1"    16r00 " invalid " 
+                       "16r00C2"    16r00 " invalid " 
+                       "16r00C3"    16r00 " invalid " 
+                       "16r00C4"    16r8E " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+                       "16r00C5"    16r8F " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+                       "16r00C6"    16r92 " LATIN CAPITAL LETTER AE " 
+                       "16r00C7"    16r80 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+                       "16r00C8"    16r00 " invalid " 
+                       "16r00C9"    16r90 " LATIN CAPITAL LETTER E WITH ACUTE " 
+                       "16r00CA"    16r00 " invalid " 
+                       "16r00CB"    16r00 " invalid " 
+                       "16r00CC"    16r00 " invalid " 
+                       "16r00CD"    16r00 " invalid " 
+                       "16r00CE"    16r00 " invalid " 
+                       "16r00CF"    16r00 " invalid " 
+                       "16r00D0"    16r00 " invalid " 
+                       "16r00D1"    16rA5 " LATIN CAPITAL LETTER N WITH TILDE " 
+                       "16r00D2"    16r00 " invalid " 
+                       "16r00D3"    16r00 " invalid " 
+                       "16r00D4"    16r00 " invalid " 
+                       "16r00D5"    16r00 " invalid " 
+                       "16r00D6"    16r99 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+                       "16r00D7"    16r00 " invalid " 
+                       "16r00D8"    16r00 " invalid " 
+                       "16r00D9"    16r00 " invalid " 
+                       "16r00DA"    16r00 " invalid " 
+                       "16r00DB"    16r00 " invalid " 
+                       "16r00DC"    16r9A " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+                       "16r00DD"    16r00 " invalid " 
+                       "16r00DE"    16r00 " invalid " 
+                       "16r00DF"    16rE1 " LATIN SMALL LETTER SHARP S (German) " 
+                       "16r00E0"    16r85 " LATIN SMALL LETTER A WITH GRAVE " 
+                       "16r00E1"    16rA0 " LATIN SMALL LETTER A WITH ACUTE " 
+                       "16r00E2"    16r83 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+                       "16r00E3"    16r00 " invalid " 
+                       "16r00E4"    16r84 " LATIN SMALL LETTER A WITH DIAERESIS " 
+                       "16r00E5"    16r86 " LATIN SMALL LETTER A WITH RING ABOVE " 
+                       "16r00E6"    16r91 " LATIN SMALL LETTER AE " 
+                       "16r00E7"    16r87 " LATIN SMALL LETTER C WITH CEDILLA " 
+                       "16r00E8"    16r8A " LATIN SMALL LETTER E WITH GRAVE " 
+                       "16r00E9"    16r82 " LATIN SMALL LETTER E WITH ACUTE " 
+                       "16r00EA"    16r88 " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+                       "16r00EB"    16r89 " LATIN SMALL LETTER E WITH DIAERESIS " 
+                       "16r00EC"    16r8D " LATIN SMALL LETTER I WITH GRAVE " 
+                       "16r00ED"    16rA1 " LATIN SMALL LETTER I WITH ACUTE " 
+                       "16r00EE"    16r8C " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+                       "16r00EF"    16r8B " LATIN SMALL LETTER I WITH DIAERESIS " 
+                       "16r00F0"    16r00 " invalid " 
+                       "16r00F1"    16rA4 " LATIN SMALL LETTER N WITH TILDE " 
+                       "16r00F2"    16r95 " LATIN SMALL LETTER O WITH GRAVE " 
+                       "16r00F3"    16rA2 " LATIN SMALL LETTER O WITH ACUTE " 
+                       "16r00F4"    16r93 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+                       "16r00F5"    16r00 " invalid " 
+                       "16r00F6"    16r94 " LATIN SMALL LETTER O WITH DIAERESIS " 
+                       "16r00F7"    16rF6 " DIVISION SIGN " 
+                       "16r00F8"    16r00 " invalid " 
+                       "16r00F9"    16r97 " LATIN SMALL LETTER U WITH GRAVE " 
+                       "16r00FA"    16rA3 " LATIN SMALL LETTER U WITH ACUTE " 
+                       "16r00FB"    16r96 " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+                       "16r00FC"    16r81 " LATIN SMALL LETTER U WITH DIAERESIS " 
+                       "16r00FD"    16r00 " invalid " 
+                       "16r00FE"    16r00 " invalid " 
+                       "16r00FF"    16r98 " LATIN SMALL LETTER Y WITH DIAERESIS " 
+                       ] at:(unicode - 16r9F).
+                    t == 0 ifFalse:[^ t].
+                    ^ self encodingError
+                ] value.
+            ].
+            unicode <= 16r191 ifTrue:[
+                ^ self encodingError
+            ].
+            ^  "16r0192" 16r009F " LATIN SMALL LETTER F WITH HOOK " 
+        ].
+        unicode <= 16r392 ifTrue:[
+            ^ self encodingError
+        ].
+        [
+            |t|
+            t := #[
+               "16r0393"    16rE2 " GREEK CAPITAL LETTER GAMMA " 
+               "16r0394"    16r00 " invalid " 
+               "16r0395"    16r00 " invalid " 
+               "16r0396"    16r00 " invalid " 
+               "16r0397"    16r00 " invalid " 
+               "16r0398"    16rE9 " GREEK CAPITAL LETTER THETA " 
+               "16r0399"    16r00 " invalid " 
+               "16r039A"    16r00 " invalid " 
+               "16r039B"    16r00 " invalid " 
+               "16r039C"    16r00 " invalid " 
+               "16r039D"    16r00 " invalid " 
+               "16r039E"    16r00 " invalid " 
+               "16r039F"    16r00 " invalid " 
+               "16r03A0"    16r00 " invalid " 
+               "16r03A1"    16r00 " invalid " 
+               "16r03A2"    16r00 " invalid " 
+               "16r03A3"    16rE4 " GREEK CAPITAL LETTER SIGMA " 
+               "16r03A4"    16r00 " invalid " 
+               "16r03A5"    16r00 " invalid " 
+               "16r03A6"    16rE8 " GREEK CAPITAL LETTER PHI " 
+               "16r03A7"    16r00 " invalid " 
+               "16r03A8"    16r00 " invalid " 
+               "16r03A9"    16rEA " GREEK CAPITAL LETTER OMEGA " 
+               "16r03AA"    16r00 " invalid " 
+               "16r03AB"    16r00 " invalid " 
+               "16r03AC"    16r00 " invalid " 
+               "16r03AD"    16r00 " invalid " 
+               "16r03AE"    16r00 " invalid " 
+               "16r03AF"    16r00 " invalid " 
+               "16r03B0"    16r00 " invalid " 
+               "16r03B1"    16rE0 " GREEK SMALL LETTER ALPHA " 
+               "16r03B2"    16r00 " invalid " 
+               "16r03B3"    16r00 " invalid " 
+               "16r03B4"    16rEB " GREEK SMALL LETTER DELTA " 
+               "16r03B5"    16rEE " GREEK SMALL LETTER EPSILON " 
+               "16r03B6"    16r00 " invalid " 
+               "16r03B7"    16r00 " invalid " 
+               "16r03B8"    16r00 " invalid " 
+               "16r03B9"    16r00 " invalid " 
+               "16r03BA"    16r00 " invalid " 
+               "16r03BB"    16r00 " invalid " 
+               "16r03BC"    16r00 " invalid " 
+               "16r03BD"    16r00 " invalid " 
+               "16r03BE"    16r00 " invalid " 
+               "16r03BF"    16r00 " invalid " 
+               "16r03C0"    16rE3 " GREEK SMALL LETTER PI " 
+               "16r03C1"    16r00 " invalid " 
+               "16r03C2"    16r00 " invalid " 
+               "16r03C3"    16rE5 " GREEK SMALL LETTER SIGMA " 
+               "16r03C4"    16rE7 " GREEK SMALL LETTER TAU " 
+               "16r03C5"    16r00 " invalid " 
+               "16r03C6"    16rED " GREEK SMALL LETTER PHI " 
+               ] at:(unicode - 16r392).
+            t == 0 ifFalse:[^ t].
+            ^ self encodingError
+        ] value.
+    ].
+    unicode <= 16r2021 ifTrue:[
+        ^ self encodingError
+    ].
+    unicode <= 16r2321 ifTrue:[
+        unicode <= 16r20A7 ifTrue:[
+            unicode == 16r2022 ifTrue:[
+                ^  "16r2022" 16r00FA " BULLET " 
+            ].
+            unicode <= 16r207E ifTrue:[
+                ^ self encodingError
+            ].
+            unicode == 16r207F ifTrue:[
+                ^  "16r207F" 16r00FC " SUPERSCRIPT LATIN SMALL LETTER N " 
+            ].
+            unicode <= 16r20A6 ifTrue:[
+                ^ self encodingError
+            ].
+            ^  "16r20A7" 16r009E " PESETA SIGN " 
+        ].
+        unicode <= 16r2219 ifTrue:[
+            ^ self encodingError
+        ].
+        unicode <= 16r2265 ifTrue:[
+            unicode <= 16r2229 ifTrue:[
+                [
+                    |t|
+                    t := #[
+                       "16r221A"    16rFB " SQUARE ROOT " 
+                       "16r221B"    16r00 " invalid " 
+                       "16r221C"    16r00 " invalid " 
+                       "16r221D"    16r00 " invalid " 
+                       "16r221E"    16rEC " INFINITY " 
+                       "16r221F"    16r00 " invalid " 
+                       "16r2220"    16r00 " invalid " 
+                       "16r2221"    16r00 " invalid " 
+                       "16r2222"    16r00 " invalid " 
+                       "16r2223"    16r00 " invalid " 
+                       "16r2224"    16r00 " invalid " 
+                       "16r2225"    16r00 " invalid " 
+                       "16r2226"    16r00 " invalid " 
+                       "16r2227"    16r00 " invalid " 
+                       "16r2228"    16r00 " invalid " 
+                       "16r2229"    16rEF " INTERSECTION " 
+                       ] at:(unicode - 16r2219).
+                    t == 0 ifFalse:[^ t].
+                    ^ self encodingError
+                ] value.
+            ].
+            unicode <= 16r2247 ifTrue:[
+                ^ self encodingError
+            ].
+            unicode == 16r2248 ifTrue:[
+                ^  "16r2248" 16r00F7 " ALMOST EQUAL TO " 
+            ].
+            unicode <= 16r2260 ifTrue:[
+                ^ self encodingError
+            ].
+            [
+                |t|
+                t := #[
+                   "16r2261"    16rF0 " IDENTICAL TO " 
+                   "16r2262"    16r00 " invalid " 
+                   "16r2263"    16r00 " invalid " 
+                   "16r2264"    16rF3 " LESS-THAN OR EQUAL TO " 
+                   "16r2265"    16rF2 " GREATER-THAN OR EQUAL TO " 
+                   ] at:(unicode - 16r2260).
+                t == 0 ifFalse:[^ t].
+                ^ self encodingError
+            ] value.
+        ].
+        unicode <= 16r230F ifTrue:[
+            ^ self encodingError
+        ].
+        unicode == 16r2310 ifTrue:[
+            (#[
+               "16r2310"    1 " REVERSED NOT SIGN " 
+            ] at:(unicode - 8975)) ~~ 0 ifTrue:[^ unicode].
+            ^ self encodingError
+        ].
+        unicode <= 16r231F ifTrue:[
+            ^ self encodingError
+        ].
+        ^ #[
+           "16r2320"    16rF4 " TOP HALF INTEGRAL " 
+           "16r2321"    16rF5 " BOTTOM HALF INTEGRAL " 
+           ] at:(unicode - 16r231F).
+    ].
+    unicode <= 16r24FF ifTrue:[
+        ^ self encodingError
+    ].
+    [
+        |t|
+        t := #[
+           "16r2500"    16rC4 " BOX DRAWINGS LIGHT HORIZONTAL " 
+           "16r2501"    16r00 " invalid " 
+           "16r2502"    16rB3 " BOX DRAWINGS LIGHT VERTICAL " 
+           "16r2503"    16r00 " invalid " 
+           "16r2504"    16r00 " invalid " 
+           "16r2505"    16r00 " invalid " 
+           "16r2506"    16r00 " invalid " 
+           "16r2507"    16r00 " invalid " 
+           "16r2508"    16r00 " invalid " 
+           "16r2509"    16r00 " invalid " 
+           "16r250A"    16r00 " invalid " 
+           "16r250B"    16r00 " invalid " 
+           "16r250C"    16rDA " BOX DRAWINGS LIGHT DOWN AND RIGHT " 
+           "16r250D"    16r00 " invalid " 
+           "16r250E"    16r00 " invalid " 
+           "16r250F"    16r00 " invalid " 
+           "16r2510"    16rBF " BOX DRAWINGS LIGHT DOWN AND LEFT " 
+           "16r2511"    16r00 " invalid " 
+           "16r2512"    16r00 " invalid " 
+           "16r2513"    16r00 " invalid " 
+           "16r2514"    16rC0 " BOX DRAWINGS LIGHT UP AND RIGHT " 
+           "16r2515"    16r00 " invalid " 
+           "16r2516"    16r00 " invalid " 
+           "16r2517"    16r00 " invalid " 
+           "16r2518"    16rD9 " BOX DRAWINGS LIGHT UP AND LEFT " 
+           "16r2519"    16r00 " invalid " 
+           "16r251A"    16r00 " invalid " 
+           "16r251B"    16r00 " invalid " 
+           "16r251C"    16rC3 " BOX DRAWINGS LIGHT VERTICAL AND RIGHT " 
+           "16r251D"    16r00 " invalid " 
+           "16r251E"    16r00 " invalid " 
+           "16r251F"    16r00 " invalid " 
+           "16r2520"    16r00 " invalid " 
+           "16r2521"    16r00 " invalid " 
+           "16r2522"    16r00 " invalid " 
+           "16r2523"    16r00 " invalid " 
+           "16r2524"    16rB4 " BOX DRAWINGS LIGHT VERTICAL AND LEFT " 
+           "16r2525"    16r00 " invalid " 
+           "16r2526"    16r00 " invalid " 
+           "16r2527"    16r00 " invalid " 
+           "16r2528"    16r00 " invalid " 
+           "16r2529"    16r00 " invalid " 
+           "16r252A"    16r00 " invalid " 
+           "16r252B"    16r00 " invalid " 
+           "16r252C"    16rC2 " BOX DRAWINGS LIGHT DOWN AND HORIZONTAL " 
+           "16r252D"    16r00 " invalid " 
+           "16r252E"    16r00 " invalid " 
+           "16r252F"    16r00 " invalid " 
+           "16r2530"    16r00 " invalid " 
+           "16r2531"    16r00 " invalid " 
+           "16r2532"    16r00 " invalid " 
+           "16r2533"    16r00 " invalid " 
+           "16r2534"    16rC1 " BOX DRAWINGS LIGHT UP AND HORIZONTAL " 
+           "16r2535"    16r00 " invalid " 
+           "16r2536"    16r00 " invalid " 
+           "16r2537"    16r00 " invalid " 
+           "16r2538"    16r00 " invalid " 
+           "16r2539"    16r00 " invalid " 
+           "16r253A"    16r00 " invalid " 
+           "16r253B"    16r00 " invalid " 
+           "16r253C"    16rC5 " BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL " 
+           "16r253D"    16r00 " invalid " 
+           "16r253E"    16r00 " invalid " 
+           "16r253F"    16r00 " invalid " 
+           "16r2540"    16r00 " invalid " 
+           "16r2541"    16r00 " invalid " 
+           "16r2542"    16r00 " invalid " 
+           "16r2543"    16r00 " invalid " 
+           "16r2544"    16r00 " invalid " 
+           "16r2545"    16r00 " invalid " 
+           "16r2546"    16r00 " invalid " 
+           "16r2547"    16r00 " invalid " 
+           "16r2548"    16r00 " invalid " 
+           "16r2549"    16r00 " invalid " 
+           "16r254A"    16r00 " invalid " 
+           "16r254B"    16r00 " invalid " 
+           "16r254C"    16r00 " invalid " 
+           "16r254D"    16r00 " invalid " 
+           "16r254E"    16r00 " invalid " 
+           "16r254F"    16r00 " invalid " 
+           "16r2550"    16rCD " BOX DRAWINGS DOUBLE HORIZONTAL " 
+           "16r2551"    16rBA " BOX DRAWINGS DOUBLE VERTICAL " 
+           "16r2552"    16rD5 " BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE " 
+           "16r2553"    16rD6 " BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE " 
+           "16r2554"    16rC9 " BOX DRAWINGS DOUBLE DOWN AND RIGHT " 
+           "16r2555"    16rB8 " BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE " 
+           "16r2556"    16rB7 " BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE " 
+           "16r2557"    16rBB " BOX DRAWINGS DOUBLE DOWN AND LEFT " 
+           "16r2558"    16rD4 " BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE " 
+           "16r2559"    16rD3 " BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE " 
+           "16r255A"    16rC8 " BOX DRAWINGS DOUBLE UP AND RIGHT " 
+           "16r255B"    16rBE " BOX DRAWINGS UP SINGLE AND LEFT DOUBLE " 
+           "16r255C"    16rBD " BOX DRAWINGS UP DOUBLE AND LEFT SINGLE " 
+           "16r255D"    16rBC " BOX DRAWINGS DOUBLE UP AND LEFT " 
+           "16r255E"    16rC6 " BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE " 
+           "16r255F"    16rC7 " BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE " 
+           "16r2560"    16rCC " BOX DRAWINGS DOUBLE VERTICAL AND RIGHT " 
+           "16r2561"    16rB5 " BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE " 
+           "16r2562"    16rB6 " BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE " 
+           "16r2563"    16rB9 " BOX DRAWINGS DOUBLE VERTICAL AND LEFT " 
+           "16r2564"    16rD1 " BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE " 
+           "16r2565"    16rD2 " BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE " 
+           "16r2566"    16rCB " BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL " 
+           "16r2567"    16rCF " BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE " 
+           "16r2568"    16rD0 " BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE " 
+           "16r2569"    16rCA " BOX DRAWINGS DOUBLE UP AND HORIZONTAL " 
+           "16r256A"    16rD8 " BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE " 
+           "16r256B"    16rD7 " BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE " 
+           "16r256C"    16rCE " BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL " 
+           "16r256D"    16r00 " invalid " 
+           "16r256E"    16r00 " invalid " 
+           "16r256F"    16r00 " invalid " 
+           "16r2570"    16r00 " invalid " 
+           "16r2571"    16r00 " invalid " 
+           "16r2572"    16r00 " invalid " 
+           "16r2573"    16r00 " invalid " 
+           "16r2574"    16r00 " invalid " 
+           "16r2575"    16r00 " invalid " 
+           "16r2576"    16r00 " invalid " 
+           "16r2577"    16r00 " invalid " 
+           "16r2578"    16r00 " invalid " 
+           "16r2579"    16r00 " invalid " 
+           "16r257A"    16r00 " invalid " 
+           "16r257B"    16r00 " invalid " 
+           "16r257C"    16r00 " invalid " 
+           "16r257D"    16r00 " invalid " 
+           "16r257E"    16r00 " invalid " 
+           "16r257F"    16r00 " invalid " 
+           "16r2580"    16rDF " UPPER HALF BLOCK " 
+           "16r2581"    16r00 " invalid " 
+           "16r2582"    16r00 " invalid " 
+           "16r2583"    16r00 " invalid " 
+           "16r2584"    16rDC " LOWER HALF BLOCK " 
+           "16r2585"    16r00 " invalid " 
+           "16r2586"    16r00 " invalid " 
+           "16r2587"    16r00 " invalid " 
+           "16r2588"    16rDB " FULL BLOCK " 
+           "16r2589"    16r00 " invalid " 
+           "16r258A"    16r00 " invalid " 
+           "16r258B"    16r00 " invalid " 
+           "16r258C"    16rDD " LEFT HALF BLOCK " 
+           "16r258D"    16r00 " invalid " 
+           "16r258E"    16r00 " invalid " 
+           "16r258F"    16r00 " invalid " 
+           "16r2590"    16rDE " RIGHT HALF BLOCK " 
+           "16r2591"    16rB0 " LIGHT SHADE " 
+           "16r2592"    16rB1 " MEDIUM SHADE " 
+           "16r2593"    16rB2 " DARK SHADE " 
+           "16r2594"    16r00 " invalid " 
+           "16r2595"    16r00 " invalid " 
+           "16r2596"    16r00 " invalid " 
+           "16r2597"    16r00 " invalid " 
+           "16r2598"    16r00 " invalid " 
+           "16r2599"    16r00 " invalid " 
+           "16r259A"    16r00 " invalid " 
+           "16r259B"    16r00 " invalid " 
+           "16r259C"    16r00 " invalid " 
+           "16r259D"    16r00 " invalid " 
+           "16r259E"    16r00 " invalid " 
+           "16r259F"    16r00 " invalid " 
+           "16r25A0"    16rFE " BLACK SQUARE " 
+           ] at:(unicode - 16r24FF).
+        t == 0 ifFalse:[^ t].
+        ^ self encodingError
+    ] value.
+! !
+
 !CP437 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_CP437.st,v 1.3 2004-03-09 21:59:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_CP437.st,v 1.4 2005-03-31 18:12:18 cg Exp $'
 ! !
--- a/Encoder_ISO8859_1.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_1.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-1 (West European) - 8bit identity subset of Unicode.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_1 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_1 class methodsFor:'mapping'!
@@ -447,5 +459,5 @@
 !ISO8859_1 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_1.st,v 1.3 2004-03-09 22:00:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_1.st,v 1.4 2005-03-31 18:12:50 cg Exp $'
 ! !
--- a/Encoder_ISO8859_10.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_10.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-10 (Latin 6) - Nordic.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_10 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_10 class methodsFor:'mapping'!
@@ -722,5 +734,5 @@
 !ISO8859_10 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_10.st,v 1.3 2004-03-09 21:58:32 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_10.st,v 1.4 2005-03-31 18:12:38 cg Exp $'
 ! !
--- a/Encoder_ISO8859_11.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_11.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-11 - Thai.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_11 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_11 class methodsFor:'mapping'!
@@ -584,5 +596,5 @@
 !ISO8859_11 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_11.st,v 1.3 2004-03-09 22:01:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_11.st,v 1.4 2005-03-31 18:12:32 cg Exp $'
 ! !
--- a/Encoder_ISO8859_13.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_13.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-13 (Latin 7) - Baltic (replaces Latin4 and Latin6).
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_13 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_13 class methodsFor:'mapping'!
@@ -725,5 +737,5 @@
 !ISO8859_13 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_13.st,v 1.3 2004-03-09 21:58:17 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_13.st,v 1.4 2005-03-31 18:12:35 cg Exp $'
 ! !
--- a/Encoder_ISO8859_14.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_14.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-14 (Latin 8) - Celtic .
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_14 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_14 class methodsFor:'mapping'!
@@ -768,5 +780,5 @@
 !ISO8859_14 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_14.st,v 1.3 2004-03-09 22:00:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_14.st,v 1.4 2005-03-31 18:12:55 cg Exp $'
 ! !
--- a/Encoder_ISO8859_15.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_15.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-15 (Latin 9) - Western Europe with EURO currency sign .
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_15 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_15 class methodsFor:'mapping'!
@@ -627,5 +639,5 @@
 !ISO8859_15 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_15.st,v 1.3 2004-03-09 21:59:40 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_15.st,v 1.4 2005-03-31 18:12:41 cg Exp $'
 ! !
--- a/Encoder_ISO8859_16.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_16.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-16 (Latin 10) - Southern Europe with EURO currency sign .
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_16 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_16 class methodsFor:'mapping'!
@@ -711,5 +723,5 @@
 !ISO8859_16 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_16.st,v 1.3 2004-03-09 21:58:23 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_16.st,v 1.4 2005-03-31 18:12:53 cg Exp $'
 ! !
--- a/Encoder_ISO8859_2.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_2.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,20 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-2 (Latin 2) - East European.
+
+    Notice: this is NOT the same as CP1250.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_2 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_2 class methodsFor:'encoding & decoding'!
@@ -752,5 +766,5 @@
 !ISO8859_2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_2.st,v 1.3 2004-03-09 21:57:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_2.st,v 1.4 2005-03-31 18:12:47 cg Exp $'
 ! !
--- a/Encoder_ISO8859_3.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_3.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-3 (Latin 3) - South European.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_3 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_3 class methodsFor:'mapping'!
@@ -686,5 +698,5 @@
 !ISO8859_3 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_3.st,v 1.3 2004-03-09 22:00:50 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_3.st,v 1.4 2005-03-31 18:12:44 cg Exp $'
 ! !
--- a/Encoder_ISO8859_4.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_4.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-4 (Latin 4) - Baltic / Northern European
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_4 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_4 class methodsFor:'mapping'!
@@ -737,5 +749,5 @@
 !ISO8859_4 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_4.st,v 1.3 2004-03-09 21:58:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_4.st,v 1.4 2005-03-31 18:12:58 cg Exp $'
 ! !
--- a/Encoder_ISO8859_5.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_5.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-5 - Kyrillic.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_5 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_5 class methodsFor:'mapping'!
@@ -615,5 +627,5 @@
 !ISO8859_5 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_5.st,v 1.3 2004-03-09 21:58:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_5.st,v 1.4 2005-03-31 18:13:16 cg Exp $'
 ! !
--- a/Encoder_ISO8859_6.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_6.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-6 - Arabic.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_6 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_6 class methodsFor:'mapping'!
@@ -534,5 +546,5 @@
 !ISO8859_6 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_6.st,v 1.3 2004-03-09 21:59:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_6.st,v 1.4 2005-03-31 18:13:19 cg Exp $'
 ! !
--- a/Encoder_ISO8859_7.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_7.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-7 - Greek.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_7 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_7 class methodsFor:'mapping'!
@@ -657,5 +669,5 @@
 !ISO8859_7 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_7.st,v 1.3 2004-03-09 21:59:38 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_7.st,v 1.4 2005-03-31 18:13:13 cg Exp $'
 ! !
--- a/Encoder_ISO8859_8.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_8.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-8 - Hebrew.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_8 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_8 class methodsFor:'mapping'!
@@ -538,5 +550,5 @@
 !ISO8859_8 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_8.st,v 1.3 2004-03-09 22:01:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_8.st,v 1.4 2005-03-31 18:13:21 cg Exp $'
 ! !
--- a/Encoder_ISO8859_9.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_ISO8859_9.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,18 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    8859-9 (Latin 5) - Turkish / Pan European.
+
+    [see with:]
+        CharacterEncoderImplementations::ISO8859_9 showCharacterSet
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !ISO8859_9 class methodsFor:'mapping'!
@@ -433,5 +445,5 @@
 !ISO8859_9 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_9.st,v 1.3 2004-03-09 21:58:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_ISO8859_9.st,v 1.4 2005-03-31 18:13:10 cg Exp $'
 ! !
--- a/Encoder_SingleByteEncoder.st	Thu Mar 31 20:11:53 2005 +0200
+++ b/Encoder_SingleByteEncoder.st	Thu Mar 31 20:13:33 2005 +0200
@@ -35,6 +35,15 @@
  other person.  No title to or ownership of the software is
  hereby transferred.
 "
+!
+
+documentation
+"
+    Common abstract superclass for all single-byte encodings.
+
+    [author:]
+        Claus Gittinger
+"
 ! !
 
 !SingleByteEncoder class methodsFor:'queries'!
@@ -56,5 +65,5 @@
 !SingleByteEncoder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_SingleByteEncoder.st,v 1.4 2004-03-09 21:57:53 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/Encoder_SingleByteEncoder.st,v 1.5 2005-03-31 18:13:33 cg Exp $'
 ! !