changed:
authorClaus Gittinger <cg@exept.de>
Thu, 12 Jul 2012 14:48:10 +0200
changeset 14205 3bb27b21d36e
parent 14204 435bd4bb0958
child 14206 70aa64d89dca
changed: #encode: #encodeString:
CharacterEncoderImplementations__MS_Ansi.st
--- a/CharacterEncoderImplementations__MS_Ansi.st	Thu Jul 12 14:31:46 2012 +0200
+++ b/CharacterEncoderImplementations__MS_Ansi.st	Thu Jul 12 14:48:10 2012 +0200
@@ -479,125 +479,127 @@
     "/ 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...
+false ifTrue:[
     ^ unicodeArg.
+].
 
-"/    unicode := unicodeArg.
-"/    unicode > 16r2122 ifTrue:[
-"/        ^ unicode.
-"/    ].
-"/    unicode <= 16r151 ifTrue:[
-"/        ^ unicode
-"/    ].
-"/    unicode <= 16r2DC ifTrue:[
-"/        unicode <= 16r192 ifTrue:[
-"/            unicode <= 16r178 ifTrue:[
-"/                unicode <= 16r161 ifTrue:[
-"/                    [
-"/                        |t|
-"/                        t := #[
-"/                           "16r0152"    16r8C " LATIN CAPITAL LIGATURE OE " 
-"/                           "16r0153"    16r9C " LATIN SMALL LIGATURE OE " 
-"/                           "16r0154"    16r00 " invalid " 
-"/                           "16r0155"    16r00 " invalid " 
-"/                           "16r0156"    16r00 " invalid " 
-"/                           "16r0157"    16r00 " invalid " 
-"/                           "16r0158"    16r00 " invalid " 
-"/                           "16r0159"    16r00 " invalid " 
-"/                           "16r015A"    16r00 " invalid " 
-"/                           "16r015B"    16r00 " invalid " 
-"/                           "16r015C"    16r00 " invalid " 
-"/                           "16r015D"    16r00 " invalid " 
-"/                           "16r015E"    16r00 " invalid " 
-"/                           "16r015F"    16r00 " invalid " 
-"/                           "16r0160"    16r8A " LATIN CAPITAL LETTER S WITH CARON " 
-"/                           "16r0161"    16r9A " LATIN SMALL LETTER S WITH CARON " 
-"/                           ] at:(unicode - 16r151).
-"/                        t == 0 ifFalse:[^ t].
-"/                        ^ unicode
-"/                    ] value.
-"/                ].
-"/                unicode <= 16r177 ifTrue:[
-"/                    ^ unicode
-"/                ].
-"/                ^  "16r0178" 16r009F " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
-"/            ].
-"/            unicode <= 16r191 ifTrue:[
-"/                ^ unicode
-"/            ].
-"/            ^  "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK " 
-"/        ].
-"/        unicode <= 16r2C5 ifTrue:[
-"/            ^ unicode
-"/        ].
-"/        unicode == 16r2C6 ifTrue:[
-"/            ^  "16r02C6" 16r0088 " MODIFIER LETTER CIRCUMFLEX ACCENT " 
-"/        ].
-"/        unicode <= 16r2DB ifTrue:[
-"/            ^ unicode
-"/        ].
-"/        ^  "16r02DC" 16r0098 " SMALL TILDE " 
+    unicode := unicodeArg.
+    unicode > 16r2122 ifTrue:[
+        ^ unicode.
+    ].
+    unicode <= 16r151 ifTrue:[
+        ^ unicode
+    ].
+    unicode <= 16r2DC ifTrue:[
+        unicode <= 16r192 ifTrue:[
+            unicode <= 16r178 ifTrue:[
+                unicode <= 16r161 ifTrue:[
+                    [
+                        |t|
+                        t := #[
+                           "16r0152"    16r8C " LATIN CAPITAL LIGATURE OE " 
+                           "16r0153"    16r9C " LATIN SMALL LIGATURE OE " 
+                           "16r0154"    16r00 " invalid " 
+                           "16r0155"    16r00 " invalid " 
+                           "16r0156"    16r00 " invalid " 
+                           "16r0157"    16r00 " invalid " 
+                           "16r0158"    16r00 " invalid " 
+                           "16r0159"    16r00 " invalid " 
+                           "16r015A"    16r00 " invalid " 
+                           "16r015B"    16r00 " invalid " 
+                           "16r015C"    16r00 " invalid " 
+                           "16r015D"    16r00 " invalid " 
+                           "16r015E"    16r00 " invalid " 
+                           "16r015F"    16r00 " invalid " 
+                           "16r0160"    16r8A " LATIN CAPITAL LETTER S WITH CARON " 
+                           "16r0161"    16r9A " LATIN SMALL LETTER S WITH CARON " 
+                           ] at:(unicode - 16r151).
+                        t == 0 ifFalse:[^ t].
+                        ^ unicode
+                    ] value.
+                ].
+                unicode <= 16r177 ifTrue:[
+                    ^ unicode
+                ].
+                ^  "16r0178" 16r009F " LATIN CAPITAL LETTER Y WITH DIAERESIS " 
+            ].
+            unicode <= 16r191 ifTrue:[
+                ^ unicode
+            ].
+            ^  "16r0192" 16r0083 " LATIN SMALL LETTER F WITH HOOK " 
+        ].
+        unicode <= 16r2C5 ifTrue:[
+            ^ unicode
+        ].
+        unicode == 16r2C6 ifTrue:[
+            ^  "16r02C6" 16r0088 " MODIFIER LETTER CIRCUMFLEX ACCENT " 
+        ].
+        unicode <= 16r2DB ifTrue:[
+            ^ unicode
+        ].
+        ^  "16r02DC" 16r0098 " SMALL TILDE " 
+    ].
+    unicode <= 16r2012 ifTrue:[
+        ^ unicode
+    ].
+    unicode <= 16r203A ifTrue:[
+        [
+            |t|
+            t := #(
+               "16r2013"    16r2013 "16r96" " EN DASH " 
+               "16r2014"    16r2014 "16r97" " EM DASH " 
+               "16r2015"    16r00 " invalid " 
+               "16r2016"    16r00 " invalid " 
+               "16r2017"    16r00 " invalid " 
+               "16r2018"    16r91 " LEFT SINGLE QUOTATION MARK " 
+               "16r2019"    16r92 " RIGHT SINGLE QUOTATION MARK " 
+               "16r201A"    16r82 " SINGLE LOW-9 QUOTATION MARK " 
+               "16r201B"    16r00 " invalid " 
+               "16r201C"    16r93 " LEFT DOUBLE QUOTATION MARK " 
+               "16r201D"    16r94 " RIGHT DOUBLE QUOTATION MARK " 
+               "16r201E"    16r84 " DOUBLE LOW-9 QUOTATION MARK " 
+               "16r201F"    16r00 " invalid " 
+               "16r2020"    16r86 " DAGGER " 
+               "16r2021"    16r87 " DOUBLE DAGGER " 
+               "16r2022"    16r95 " BULLET " 
+               "16r2023"    16r00 " invalid " 
+               "16r2024"    16r00 " invalid " 
+               "16r2025"    16r00 " invalid " 
+               "16r2026"    16r85 " HORIZONTAL ELLIPSIS " 
+               "16r2027"    16r00 " invalid " 
+               "16r2028"    16r00 " invalid " 
+               "16r2029"    16r00 " invalid " 
+               "16r202A"    16r00 " invalid " 
+               "16r202B"    16r00 " invalid " 
+               "16r202C"    16r00 " invalid " 
+               "16r202D"    16r00 " invalid " 
+               "16r202E"    16r00 " invalid " 
+               "16r202F"    16r00 " invalid " 
+               "16r2030"    16r89 " PER MILLE SIGN " 
+               "16r2031"    16r00 " invalid " 
+               "16r2032"    16r00 " invalid " 
+               "16r2033"    16r00 " invalid " 
+               "16r2034"    16r00 " invalid " 
+               "16r2035"    16r00 " invalid " 
+               "16r2036"    16r00 " invalid " 
+               "16r2037"    16r00 " invalid " 
+               "16r2038"    16r00 " invalid " 
+               "16r2039"    16r8B " SINGLE LEFT-POINTING ANGLE QUOTATION MARK " 
+               "16r203A"    16r9B " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK " 
+               ) at:(unicode - 16r2012).
+            t == 0 ifFalse:[^ t].
+            ^ unicode
+        ] value.
+    ].
+"/    unicode = 16r20AC ifTrue:[
+"/        ^ 16r0080 " EURO character "
 "/    ].
-"/    unicode <= 16r2012 ifTrue:[
-"/        ^ unicode
-"/    ].
-"/    unicode <= 16r203A ifTrue:[
-"/        [
-"/            |t|
-"/            t := #(
-"/               "16r2013"    16r2013 "16r96" " EN DASH " 
-"/               "16r2014"    16r2014 "16r97" " EM DASH " 
-"/               "16r2015"    16r00 " invalid " 
-"/               "16r2016"    16r00 " invalid " 
-"/               "16r2017"    16r00 " invalid " 
-"/               "16r2018"    16r91 " LEFT SINGLE QUOTATION MARK " 
-"/               "16r2019"    16r92 " RIGHT SINGLE QUOTATION MARK " 
-"/               "16r201A"    16r82 " SINGLE LOW-9 QUOTATION MARK " 
-"/               "16r201B"    16r00 " invalid " 
-"/               "16r201C"    16r93 " LEFT DOUBLE QUOTATION MARK " 
-"/               "16r201D"    16r94 " RIGHT DOUBLE QUOTATION MARK " 
-"/               "16r201E"    16r84 " DOUBLE LOW-9 QUOTATION MARK " 
-"/               "16r201F"    16r00 " invalid " 
-"/               "16r2020"    16r86 " DAGGER " 
-"/               "16r2021"    16r87 " DOUBLE DAGGER " 
-"/               "16r2022"    16r95 " BULLET " 
-"/               "16r2023"    16r00 " invalid " 
-"/               "16r2024"    16r00 " invalid " 
-"/               "16r2025"    16r00 " invalid " 
-"/               "16r2026"    16r85 " HORIZONTAL ELLIPSIS " 
-"/               "16r2027"    16r00 " invalid " 
-"/               "16r2028"    16r00 " invalid " 
-"/               "16r2029"    16r00 " invalid " 
-"/               "16r202A"    16r00 " invalid " 
-"/               "16r202B"    16r00 " invalid " 
-"/               "16r202C"    16r00 " invalid " 
-"/               "16r202D"    16r00 " invalid " 
-"/               "16r202E"    16r00 " invalid " 
-"/               "16r202F"    16r00 " invalid " 
-"/               "16r2030"    16r89 " PER MILLE SIGN " 
-"/               "16r2031"    16r00 " invalid " 
-"/               "16r2032"    16r00 " invalid " 
-"/               "16r2033"    16r00 " invalid " 
-"/               "16r2034"    16r00 " invalid " 
-"/               "16r2035"    16r00 " invalid " 
-"/               "16r2036"    16r00 " invalid " 
-"/               "16r2037"    16r00 " invalid " 
-"/               "16r2038"    16r00 " invalid " 
-"/               "16r2039"    16r8B " SINGLE LEFT-POINTING ANGLE QUOTATION MARK " 
-"/               "16r203A"    16r9B " SINGLE RIGHT-POINTING ANGLE QUOTATION MARK " 
-"/               ) at:(unicode - 16r2012).
-"/            t == 0 ifFalse:[^ t].
-"/            ^ unicode
-"/        ] value.
-"/    ].
-"/"/    unicode = 16r20AC ifTrue:[
-"/"/        ^ 16r0080 " EURO character "
-"/"/    ].
-"/    unicode <= 16r2121 ifTrue:[
-"/        ^ unicode
-"/    ].
-"/    ^  "16r2122" 16r0099 " TRADE MARK SIGN "
+    unicode <= 16r2121 ifTrue:[
+        ^ unicode
+    ].
+    ^  "16r2122" 16r0099 " TRADE MARK SIGN "
 
-    "Modified: / 12-07-2012 / 14:06:33 / cg"
+    "Modified: / 12-07-2012 / 14:46:59 / cg"
 !
 
 encodeString:aStringOrUnicodeString
@@ -606,21 +608,27 @@
     "/ 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...
+false ifTrue:[
     ^ aStringOrUnicodeString.
+].
 
-"/    aStringOrUnicodeString bitsPerCharacter == 8 ifTrue:[
-"/        "/ all between 0 and FF
-"/        (aStringOrUnicodeString contains8BitCharacters) ifFalse:[
-"/             ^ aStringOrUnicodeString
-"/        ]
-"/    ].
-"/    ^ super encodeString:aStringOrUnicodeString
+    aStringOrUnicodeString bitsPerCharacter == 8 ifTrue:[
+        "/ all between 0 and FF
+        (aStringOrUnicodeString contains8BitCharacters) ifFalse:[
+             ^ aStringOrUnicodeString
+        ]
+    ].
+    ^ super encodeString:aStringOrUnicodeString
 
-    "Modified: / 12-07-2012 / 14:07:21 / cg"
+    "Modified: / 12-07-2012 / 14:47:13 / cg"
 ! !
 
 !MS_Ansi class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.8 2012-07-12 12:08:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.9 2012-07-12 12:48:10 cg Exp $'
+!
+
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MS_Ansi.st,v 1.9 2012-07-12 12:48:10 cg Exp $'
 ! !