--- a/CharacterEncoder.st Fri Mar 05 18:51:35 2004 +0100
+++ b/CharacterEncoder.st Fri Mar 05 18:52:40 2004 +0100
@@ -640,6 +640,7 @@
self encoderFor:#'koi8-u'
self encoderFor:#'jis0208'
self encoderFor:#'jis7'
+ self encoderFor:#'utf8'
"
!
@@ -727,12 +728,12 @@
newEncoding := newEncodingArg ? #'unicode'.
newEncoding == #'iso10646-1' ifTrue:[ newEncoding := #'unicode'].
- oldEncoding == newEncoding ifTrue:[^ NullEncoder new].
- (oldEncoding match:newEncoding) ifTrue:[^ NullEncoder new].
+ oldEncoding == newEncoding ifTrue:[^ CharacterEncoderImplementations::NullEncoder new].
+ (oldEncoding match:newEncoding) ifTrue:[^ CharacterEncoderImplementations::NullEncoder new].
"/ (newEncoding match:oldEncoding) ifTrue:[^ NullEncoder new].
(oldEncoding == #unicode) ifTrue:[
- (newEncoding == #unicode) ifTrue:[^ NullEncoder new].
+ (newEncoding == #unicode) ifTrue:[^ CharacterEncoderImplementations::NullEncoder new].
"/ unicode -> something
^ self encoderFor:newEncoding.
@@ -740,7 +741,7 @@
(newEncoding == #unicode) ifTrue:[
"/ something -> unicode
decoder := self encoderFor:oldEncoding.
- ^ InverseEncoder new decoder:decoder.
+ ^ CharacterEncoderImplementations::InverseEncoder new decoder:decoder.
].
"/ look for a specialized encoder...
@@ -750,7 +751,7 @@
encoderForDecodedCode := self encoderFor:(cls nameOfDecodedCode).
(encoderForDecodedCode namesOfEncoding includes:newEncoding) ifTrue:[
- ^ InverseEncoder new decoder:cls new.
+ ^ CharacterEncoderImplementations::InverseEncoder new decoder:cls new.
]
].
(cls namesOfEncoding includes:newEncoding) ifTrue:[
@@ -770,18 +771,14 @@
"/ unicode -> something
encoder := self encoderFor:newEncoding.
- ^ CompoundEncoder new encoder:encoder decoder:decoder.
+ ^ CharacterEncoderImplementations::CompoundEncoder new encoder:encoder decoder:decoder.
"
CharacterEncoder encoderToEncodeFrom:#'latin1' into:#'jis7'
- self encoderFor:#'arabic'
- self encoderFor:#'ms-arabic'
- self encoderFor:#'iso8859-5'
- self encoderFor:#'koi8-r'
- self encoderFor:#'koi8-u'
- self encoderFor:#'jis0208'
- self encoderFor:#'jis7'
- self encoderFor:#'unicode'
+ CharacterEncoder encoderToEncodeFrom:'koi8-r' into:#'mac-cyrillic'
+ CharacterEncoder encoderToEncodeFrom:#'ms-arabic' into:#'mac-arabic'
+ CharacterEncoder encoderToEncodeFrom:#'iso8859-5' into:#'koi8-r'
+ CharacterEncoder encoderToEncodeFrom:#'koi8-r' into:#'koi8-u'
"
! !
@@ -1158,10 +1155,6 @@
isAbstract
^ self == CharacterEncoder
-!
-
-isSingleByteCode
- self subclassResponsibility
! !
!CharacterEncoder methodsFor:'encoding & decoding'!
@@ -1361,10 +1354,6 @@
isAbstract
self == CharacterEncoder::SingleByteEncoder ifTrue:[^ true].
^ super isAbstract
-!
-
-isSingleByteCode
- ^ true
! !
!CharacterEncoder::SingleByteEncoder methodsFor:'private'!
@@ -1410,10 +1399,6 @@
isAbstract
self == CharacterEncoder::TwoByteEncoder ifTrue:[^ true].
^ super isAbstract
-!
-
-isSingleByteCode
- ^ false
! !
!CharacterEncoder::TwoByteEncoder methodsFor:'private'!
@@ -1839,13 +1824,13 @@
"
Encoding (unicode to utf8)
ISO10646_to_UTF8 encodeString:'hello'.
- ISO10646_to_UTF8 encodeString:'ÃÃÃ'.
+ ISO10646_to_UTF8 encodeString:'ÃÂÃÂÃÂ'.
Decoding (utf8 to unicode):
|t|
- t := ISO10646_to_UTF8 encodeString:'ÃÃÃ'.
+ t := ISO10646_to_UTF8 encodeString:'ÃÂÃÂÃÂ'.
ISO10646_to_UTF8 decodeString:t.
"
@@ -11479,7 +11464,7 @@
!CharacterEncoder::JIS0201 class methodsFor:'queries'!
namesOfEncoding
- ^ #( 'jis0201' )
+ ^ #( 'jis0201' #'jisx0201.1976-0')
! !
!CharacterEncoder::JIS0201 methodsFor:'encoding & decoding'!
@@ -11842,7 +11827,7 @@
!CharacterEncoder::JIS0208 class methodsFor:'queries'!
namesOfEncoding
- ^ #( 'jis0208' 'jisx0208' 'jisx0208.1983-0')
+ ^ #( 'jis0208' 'jisx0208' 'jisx0208.1983-0' 'jisx0208.1990-0')
! !
!CharacterEncoder::JIS0208 methodsFor:'encoding & decoding'!
@@ -51661,7 +51646,7 @@
!CharacterEncoder class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.46 2004-03-04 09:36:59 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoder.st,v 1.47 2004-03-05 17:52:40 cg Exp $'
! !
CharacterEncoder initialize!