changed:
authorClaus Gittinger <cg@exept.de>
Thu, 12 Jul 2012 14:08:43 +0200
changeset 14203 b19842b57af5
parent 14202 a180788017e6
child 14204 435bd4bb0958
changed: #decode: #encode: #encodeString:
CharacterEncoderImplementations__MS_Ansi.st
--- a/CharacterEncoderImplementations__MS_Ansi.st	Wed Jul 11 19:13:03 2012 +0200
+++ b/CharacterEncoderImplementations__MS_Ansi.st	Thu Jul 12 14:08:43 2012 +0200
@@ -329,151 +329,148 @@
 decode:codeArg
     |code "{ Class: SmallInteger }"|
 
-    "/ mh - it seems that microsoft has fixed ms-ansi to be unicode compatible
-    "/ with XP, Vista etc.
-    "/ as W95 is not supported anyhow, simply return identity here...
-    ^ codeArg.
+    code := codeArg.
+    code <= 16r7F ifTrue:[ ^ code ].
+    code > 16rFF ifTrue:[
+        ^ codeArg.
+    ].
+    [
+        |t|
+        t := #(
+           "16r0080"    16r20AC " EURO character " 
+           "16r0081"    16r0000 " invalid " 
+           "16r0082"    16r201A " SINGLE LOW-9 QUOTATION MARK " 
+           "16r0083"    16r0192 " LATIN SMALL LETTER F WITH HOOK " 
+           "16r0084"    16r201E " DOUBLE LOW-9 QUOTATION MARK " 
+           "16r0085"    16r2026 " HORIZONTAL ELLIPSIS " 
+           "16r0086"    16r2020 " DAGGER " 
+           "16r0087"    16r2021 " DOUBLE DAGGER " 
+           "16r0088"    16r02C6 " MODIFIER LETTER CIRCUMFLEX ACCENT " 
+           "16r0089"    16r2030 " PER MILLE SIGN " 
+           "16r008A"    16r0160 " LATIN CAPITAL LETTER S WITH CARON " 
+           "16r008B"    16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK " 
+           "16r008C"    16r0152 " LATIN CAPITAL LIGATURE OE " 
+           "16r008D"    16r0000 " invalid " 
+           "16r008E"    16r0000 " invalid " 
+           "16r008F"    16r0000 " invalid " 
+           "16r0090"    16r0000 " invalid " 
+           "16r0091"    16r2018 " LEFT SINGLE QUOTATION MARK " 
+           "16r0092"    16r2019 " RIGHT SINGLE QUOTATION MARK " 
+           "16r0093"    16r201C " LEFT DOUBLE QUOTATION MARK " 
+           "16r0094"    16r201D " RIGHT DOUBLE QUOTATION MARK " 
+           "16r0095"    16r2022 " BULLET " 
+           "16r0096"    16r2013 " EN DASH " 
+           "16r0097"    16r2014 " EM DASH " 
+           "16r0098"    16r02DC " SMALL TILDE " 
+           "16r0099"    16r2122 " TRADE MARK SIGN " 
+           "16r009A"    16r0161 " LATIN SMALL LETTER S WITH CARON " 
+           "16r009B"    16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK " 
+           "16r009C"    16r0153 " LATIN SMALL LIGATURE OE " 
+           "16r009D"    16r0000 " invalid " 
+           "16r009E"    16r0000 " invalid " 
+           "16r009F"    16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+           "16r00A0"    16r00A0 " NO-BREAK SPACE " 
+           "16r00A1"    16r00A1 " INVERTED EXCLAMATION MARK " 
+           "16r00A2"    16r00A2 " CENT SIGN " 
+           "16r00A3"    16r00A3 " POUND SIGN " 
+           "16r00A4"    16r00A4 " CURRENCY SIGN " 
+           "16r00A5"    16r00A5 " YEN SIGN " 
+           "16r00A6"    16r00A6 " BROKEN BAR " 
+           "16r00A7"    16r00A7 " SECTION SIGN " 
+           "16r00A8"    16r00A8 " DIAERESIS " 
+           "16r00A9"    16r00A9 " COPYRIGHT SIGN " 
+           "16r00AA"    16r00AA " FEMININE ORDINAL INDICATOR " 
+           "16r00AB"    16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+           "16r00AC"    16r00AC " NOT SIGN " 
+           "16r00AD"    16r00AD " SOFT HYPHEN " 
+           "16r00AE"    16r00AE " REGISTERED SIGN " 
+           "16r00AF"    16r00AF " MACRON " 
+           "16r00B0"    16r00B0 " DEGREE SIGN " 
+           "16r00B1"    16r00B1 " PLUS-MINUS SIGN " 
+           "16r00B2"    16r00B2 " SUPERSCRIPT TWO " 
+           "16r00B3"    16r00B3 " SUPERSCRIPT THREE " 
+           "16r00B4"    16r00B4 " ACUTE ACCENT " 
+           "16r00B5"    16r00B5 " MICRO SIGN " 
+           "16r00B6"    16r00B6 " PILCROW SIGN " 
+           "16r00B7"    16r00B7 " MIDDLE DOT " 
+           "16r00B8"    16r00B8 " CEDILLA " 
+           "16r00B9"    16r00B9 " SUPERSCRIPT ONE " 
+           "16r00BA"    16r00BA " MASCULINE ORDINAL INDICATOR " 
+           "16r00BB"    16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
+           "16r00BC"    16r00BC " VULGAR FRACTION ONE QUARTER " 
+           "16r00BD"    16r00BD " VULGAR FRACTION ONE HALF " 
+           "16r00BE"    16r00BE " VULGAR FRACTION THREE QUARTERS " 
+           "16r00BF"    16r00BF " INVERTED QUESTION MARK " 
+           "16r00C0"    16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE " 
+           "16r00C1"    16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE " 
+           "16r00C2"    16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " 
+           "16r00C3"    16r00C3 " LATIN CAPITAL LETTER A WITH TILDE " 
+           "16r00C4"    16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
+           "16r00C5"    16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
+           "16r00C6"    16r00C6 " LATIN CAPITAL LETTER AE " 
+           "16r00C7"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
+           "16r00C8"    16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE " 
+           "16r00C9"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
+           "16r00CA"    16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
+           "16r00CB"    16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " 
+           "16r00CC"    16r00CC " LATIN CAPITAL LETTER I WITH GRAVE " 
+           "16r00CD"    16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " 
+           "16r00CE"    16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
+           "16r00CF"    16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS " 
+           "16r00D0"    16r00D0 " LATIN CAPITAL LETTER ETH (Icelandic) " 
+           "16r00D1"    16r00D1 " LATIN CAPITAL LETTER N WITH TILDE " 
+           "16r00D2"    16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE " 
+           "16r00D3"    16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE " 
+           "16r00D4"    16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX " 
+           "16r00D5"    16r00D5 " LATIN CAPITAL LETTER O WITH TILDE " 
+           "16r00D6"    16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
+           "16r00D7"    16r00D7 " MULTIPLICATION SIGN " 
+           "16r00D8"    16r00D8 " LATIN CAPITAL LETTER O WITH STROKE " 
+           "16r00D9"    16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE " 
+           "16r00DA"    16r00DA " LATIN CAPITAL LETTER U WITH ACUTE " 
+           "16r00DB"    16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
+           "16r00DC"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
+           "16r00DD"    16r00DD " LATIN CAPITAL LETTER Y WITH ACUTE " 
+           "16r00DE"    16r00DE " LATIN CAPITAL LETTER THORN (Icelandic) " 
+           "16r00DF"    16r00DF " LATIN SMALL LETTER SHARP S (German) " 
+           "16r00E0"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
+           "16r00E1"    16r00E1 " LATIN SMALL LETTER A WITH ACUTE " 
+           "16r00E2"    16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
+           "16r00E3"    16r00E3 " LATIN SMALL LETTER A WITH TILDE " 
+           "16r00E4"    16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS " 
+           "16r00E5"    16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE " 
+           "16r00E6"    16r00E6 " LATIN SMALL LETTER AE " 
+           "16r00E7"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
+           "16r00E8"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
+           "16r00E9"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
+           "16r00EA"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
+           "16r00EB"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
+           "16r00EC"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
+           "16r00ED"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
+           "16r00EE"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
+           "16r00EF"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
+           "16r00F0"    16r00F0 " LATIN SMALL LETTER ETH (Icelandic) " 
+           "16r00F1"    16r00F1 " LATIN SMALL LETTER N WITH TILDE " 
+           "16r00F2"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
+           "16r00F3"    16r00F3 " LATIN SMALL LETTER O WITH ACUTE " 
+           "16r00F4"    16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
+           "16r00F5"    16r00F5 " LATIN SMALL LETTER O WITH TILDE " 
+           "16r00F6"    16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS " 
+           "16r00F7"    16r00F7 " DIVISION SIGN " 
+           "16r00F8"    16r00F8 " LATIN SMALL LETTER O WITH STROKE " 
+           "16r00F9"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
+           "16r00FA"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
+           "16r00FB"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
+           "16r00FC"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
+           "16r00FD"    16r00FD " LATIN SMALL LETTER Y WITH ACUTE " 
+           "16r00FE"    16r00FE " LATIN SMALL LETTER THORN (Icelandic) " 
+           "16r00FF"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
+           ) at:(code - 16r7F).
+        t == 0 ifFalse:[^ t].
+        ^ self decodingError.
+    ] value.
 
-"/    code := codeArg.
-"/    code <= 16r7F ifTrue:[ ^ code ].
-"/    code > 16rFF ifTrue:[
-"/        ^ codeArg.
-"/    ].
-"/    [
-"/        |t|
-"/        t := #(
-"/           "16r0080"    16r0000 " invalid " 
-"/           "16r0081"    16r0000 " invalid " 
-"/           "16r0082"    16r201A " SINGLE LOW-9 QUOTATION MARK " 
-"/           "16r0083"    16r0192 " LATIN SMALL LETTER F WITH HOOK " 
-"/           "16r0084"    16r201E " DOUBLE LOW-9 QUOTATION MARK " 
-"/           "16r0085"    16r2026 " HORIZONTAL ELLIPSIS " 
-"/           "16r0086"    16r2020 " DAGGER " 
-"/           "16r0087"    16r2021 " DOUBLE DAGGER " 
-"/           "16r0088"    16r02C6 " MODIFIER LETTER CIRCUMFLEX ACCENT " 
-"/           "16r0089"    16r2030 " PER MILLE SIGN " 
-"/           "16r008A"    16r0160 " LATIN CAPITAL LETTER S WITH CARON " 
-"/           "16r008B"    16r2039 " SINGLE LEFT-POINTING ANGLE QUOTATION MARK " 
-"/           "16r008C"    16r0152 " LATIN CAPITAL LIGATURE OE " 
-"/           "16r008D"    16r0000 " invalid " 
-"/           "16r008E"    16r0000 " invalid " 
-"/           "16r008F"    16r0000 " invalid " 
-"/           "16r0090"    16r0000 " invalid " 
-"/           "16r0091"    16r2018 " LEFT SINGLE QUOTATION MARK " 
-"/           "16r0092"    16r2019 " RIGHT SINGLE QUOTATION MARK " 
-"/           "16r0093"    16r201C " LEFT DOUBLE QUOTATION MARK " 
-"/           "16r0094"    16r201D " RIGHT DOUBLE QUOTATION MARK " 
-"/           "16r0095"    16r2022 " BULLET " 
-"/           "16r0096"    16r2013 " EN DASH " 
-"/           "16r0097"    16r2014 " EM DASH " 
-"/           "16r0098"    16r02DC " SMALL TILDE " 
-"/           "16r0099"    16r2122 " TRADE MARK SIGN " 
-"/           "16r009A"    16r0161 " LATIN SMALL LETTER S WITH CARON " 
-"/           "16r009B"    16r203A " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK " 
-"/           "16r009C"    16r0153 " LATIN SMALL LIGATURE OE " 
-"/           "16r009D"    16r0000 " invalid " 
-"/           "16r009E"    16r0000 " invalid " 
-"/           "16r009F"    16r0178 " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
-"/           "16r00A0"    16r00A0 " NO-BREAK SPACE " 
-"/           "16r00A1"    16r00A1 " INVERTED EXCLAMATION MARK " 
-"/           "16r00A2"    16r00A2 " CENT SIGN " 
-"/           "16r00A3"    16r00A3 " POUND SIGN " 
-"/           "16r00A4"    16r00A4 " CURRENCY SIGN " 
-"/           "16r00A5"    16r00A5 " YEN SIGN " 
-"/           "16r00A6"    16r00A6 " BROKEN BAR " 
-"/           "16r00A7"    16r00A7 " SECTION SIGN " 
-"/           "16r00A8"    16r00A8 " DIAERESIS " 
-"/           "16r00A9"    16r00A9 " COPYRIGHT SIGN " 
-"/           "16r00AA"    16r00AA " FEMININE ORDINAL INDICATOR " 
-"/           "16r00AB"    16r00AB " LEFT-POINTING DOUBLE ANGLE QUOTATION MARK " 
-"/           "16r00AC"    16r00AC " NOT SIGN " 
-"/           "16r00AD"    16r00AD " SOFT HYPHEN " 
-"/           "16r00AE"    16r00AE " REGISTERED SIGN " 
-"/           "16r00AF"    16r00AF " MACRON " 
-"/           "16r00B0"    16r00B0 " DEGREE SIGN " 
-"/           "16r00B1"    16r00B1 " PLUS-MINUS SIGN " 
-"/           "16r00B2"    16r00B2 " SUPERSCRIPT TWO " 
-"/           "16r00B3"    16r00B3 " SUPERSCRIPT THREE " 
-"/           "16r00B4"    16r00B4 " ACUTE ACCENT " 
-"/           "16r00B5"    16r00B5 " MICRO SIGN " 
-"/           "16r00B6"    16r00B6 " PILCROW SIGN " 
-"/           "16r00B7"    16r00B7 " MIDDLE DOT " 
-"/           "16r00B8"    16r00B8 " CEDILLA " 
-"/           "16r00B9"    16r00B9 " SUPERSCRIPT ONE " 
-"/           "16r00BA"    16r00BA " MASCULINE ORDINAL INDICATOR " 
-"/           "16r00BB"    16r00BB " RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK " 
-"/           "16r00BC"    16r00BC " VULGAR FRACTION ONE QUARTER " 
-"/           "16r00BD"    16r00BD " VULGAR FRACTION ONE HALF " 
-"/           "16r00BE"    16r00BE " VULGAR FRACTION THREE QUARTERS " 
-"/           "16r00BF"    16r00BF " INVERTED QUESTION MARK " 
-"/           "16r00C0"    16r00C0 " LATIN CAPITAL LETTER A WITH GRAVE " 
-"/           "16r00C1"    16r00C1 " LATIN CAPITAL LETTER A WITH ACUTE " 
-"/           "16r00C2"    16r00C2 " LATIN CAPITAL LETTER A WITH CIRCUMFLEX " 
-"/           "16r00C3"    16r00C3 " LATIN CAPITAL LETTER A WITH TILDE " 
-"/           "16r00C4"    16r00C4 " LATIN CAPITAL LETTER A WITH DIAERESIS " 
-"/           "16r00C5"    16r00C5 " LATIN CAPITAL LETTER A WITH RING ABOVE " 
-"/           "16r00C6"    16r00C6 " LATIN CAPITAL LETTER AE " 
-"/           "16r00C7"    16r00C7 " LATIN CAPITAL LETTER C WITH CEDILLA " 
-"/           "16r00C8"    16r00C8 " LATIN CAPITAL LETTER E WITH GRAVE " 
-"/           "16r00C9"    16r00C9 " LATIN CAPITAL LETTER E WITH ACUTE " 
-"/           "16r00CA"    16r00CA " LATIN CAPITAL LETTER E WITH CIRCUMFLEX " 
-"/           "16r00CB"    16r00CB " LATIN CAPITAL LETTER E WITH DIAERESIS " 
-"/           "16r00CC"    16r00CC " LATIN CAPITAL LETTER I WITH GRAVE " 
-"/           "16r00CD"    16r00CD " LATIN CAPITAL LETTER I WITH ACUTE " 
-"/           "16r00CE"    16r00CE " LATIN CAPITAL LETTER I WITH CIRCUMFLEX " 
-"/           "16r00CF"    16r00CF " LATIN CAPITAL LETTER I WITH DIAERESIS " 
-"/           "16r00D0"    16r00D0 " LATIN CAPITAL LETTER ETH (Icelandic) " 
-"/           "16r00D1"    16r00D1 " LATIN CAPITAL LETTER N WITH TILDE " 
-"/           "16r00D2"    16r00D2 " LATIN CAPITAL LETTER O WITH GRAVE " 
-"/           "16r00D3"    16r00D3 " LATIN CAPITAL LETTER O WITH ACUTE " 
-"/           "16r00D4"    16r00D4 " LATIN CAPITAL LETTER O WITH CIRCUMFLEX " 
-"/           "16r00D5"    16r00D5 " LATIN CAPITAL LETTER O WITH TILDE " 
-"/           "16r00D6"    16r00D6 " LATIN CAPITAL LETTER O WITH DIAERESIS " 
-"/           "16r00D7"    16r00D7 " MULTIPLICATION SIGN " 
-"/           "16r00D8"    16r00D8 " LATIN CAPITAL LETTER O WITH STROKE " 
-"/           "16r00D9"    16r00D9 " LATIN CAPITAL LETTER U WITH GRAVE " 
-"/           "16r00DA"    16r00DA " LATIN CAPITAL LETTER U WITH ACUTE " 
-"/           "16r00DB"    16r00DB " LATIN CAPITAL LETTER U WITH CIRCUMFLEX " 
-"/           "16r00DC"    16r00DC " LATIN CAPITAL LETTER U WITH DIAERESIS " 
-"/           "16r00DD"    16r00DD " LATIN CAPITAL LETTER Y WITH ACUTE " 
-"/           "16r00DE"    16r00DE " LATIN CAPITAL LETTER THORN (Icelandic) " 
-"/           "16r00DF"    16r00DF " LATIN SMALL LETTER SHARP S (German) " 
-"/           "16r00E0"    16r00E0 " LATIN SMALL LETTER A WITH GRAVE " 
-"/           "16r00E1"    16r00E1 " LATIN SMALL LETTER A WITH ACUTE " 
-"/           "16r00E2"    16r00E2 " LATIN SMALL LETTER A WITH CIRCUMFLEX " 
-"/           "16r00E3"    16r00E3 " LATIN SMALL LETTER A WITH TILDE " 
-"/           "16r00E4"    16r00E4 " LATIN SMALL LETTER A WITH DIAERESIS " 
-"/           "16r00E5"    16r00E5 " LATIN SMALL LETTER A WITH RING ABOVE " 
-"/           "16r00E6"    16r00E6 " LATIN SMALL LETTER AE " 
-"/           "16r00E7"    16r00E7 " LATIN SMALL LETTER C WITH CEDILLA " 
-"/           "16r00E8"    16r00E8 " LATIN SMALL LETTER E WITH GRAVE " 
-"/           "16r00E9"    16r00E9 " LATIN SMALL LETTER E WITH ACUTE " 
-"/           "16r00EA"    16r00EA " LATIN SMALL LETTER E WITH CIRCUMFLEX " 
-"/           "16r00EB"    16r00EB " LATIN SMALL LETTER E WITH DIAERESIS " 
-"/           "16r00EC"    16r00EC " LATIN SMALL LETTER I WITH GRAVE " 
-"/           "16r00ED"    16r00ED " LATIN SMALL LETTER I WITH ACUTE " 
-"/           "16r00EE"    16r00EE " LATIN SMALL LETTER I WITH CIRCUMFLEX " 
-"/           "16r00EF"    16r00EF " LATIN SMALL LETTER I WITH DIAERESIS " 
-"/           "16r00F0"    16r00F0 " LATIN SMALL LETTER ETH (Icelandic) " 
-"/           "16r00F1"    16r00F1 " LATIN SMALL LETTER N WITH TILDE " 
-"/           "16r00F2"    16r00F2 " LATIN SMALL LETTER O WITH GRAVE " 
-"/           "16r00F3"    16r00F3 " LATIN SMALL LETTER O WITH ACUTE " 
-"/           "16r00F4"    16r00F4 " LATIN SMALL LETTER O WITH CIRCUMFLEX " 
-"/           "16r00F5"    16r00F5 " LATIN SMALL LETTER O WITH TILDE " 
-"/           "16r00F6"    16r00F6 " LATIN SMALL LETTER O WITH DIAERESIS " 
-"/           "16r00F7"    16r00F7 " DIVISION SIGN " 
-"/           "16r00F8"    16r00F8 " LATIN SMALL LETTER O WITH STROKE " 
-"/           "16r00F9"    16r00F9 " LATIN SMALL LETTER U WITH GRAVE " 
-"/           "16r00FA"    16r00FA " LATIN SMALL LETTER U WITH ACUTE " 
-"/           "16r00FB"    16r00FB " LATIN SMALL LETTER U WITH CIRCUMFLEX " 
-"/           "16r00FC"    16r00FC " LATIN SMALL LETTER U WITH DIAERESIS " 
-"/           "16r00FD"    16r00FD " LATIN SMALL LETTER Y WITH ACUTE " 
-"/           "16r00FE"    16r00FE " LATIN SMALL LETTER THORN (Icelandic) " 
-"/           "16r00FF"    16r00FF " LATIN SMALL LETTER Y WITH DIAERESIS " 
-"/           ) at:(code - 16r7F).
-"/        t == 0 ifFalse:[^ t].
-"/        ^ self decodingError.
-"/    ] value.
+    "Modified (format): / 12-07-2012 / 14:06:56 / cg"
 !
 
 encode:unicodeArg
@@ -592,10 +589,15 @@
 "/            ^ unicode
 "/        ] value.
 "/    ].
+"/"/    unicode = 16r20AC ifTrue:[
+"/"/        ^ 16r0080 " EURO character "
+"/"/    ].
 "/    unicode <= 16r2121 ifTrue:[
 "/        ^ unicode
 "/    ].
-"/    ^  "16r2122" 16r0099 " TRADE MARK SIGN " 
+"/    ^  "16r2122" 16r0099 " TRADE MARK SIGN "
+
+    "Modified: / 12-07-2012 / 14:06:33 / cg"
 !
 
 encodeString:aStringOrUnicodeString
@@ -613,10 +615,12 @@
 "/        ]
 "/    ].
 "/    ^ super encodeString:aStringOrUnicodeString
+
+    "Modified: / 12-07-2012 / 14:07:21 / cg"
 ! !
 
 !MS_Ansi class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.7 2008-05-07 14:46:49 mb Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.8 2012-07-12 12:08:43 cg Exp $'
 ! !