--- 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 $'
! !