[squeak-dev] The Trunk: Multilingual-mt.267.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Mar 9 10:26:56 UTC 2022
Marcel Taeumel uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-mt.267.mcz
==================== Summary ====================
Name: Multilingual-mt.267
Author: mt
Time: 9 March 2022, 11:26:54.12999 am
UUID: 57708974-d740-2747-a900-f8c2a981c1f2
Ancestors: Multilingual-mt.266
Fixes latin-1 tables for EUC converters. Makes the CNGBTextConverter available under the more consistent name EUCCNTextConverter.
=============== Diff against Multilingual-mt.266 ===============
Item was changed:
+ EUCCNTextConverter subclass: #CNGBTextConverter
- EUCTextConverter subclass: #CNGBTextConverter
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Multilingual-TextConversion'!
-
- !CNGBTextConverter commentStamp: '<historical>' prior: 0!
- Text converter for Simplified Chinese variation of EUC. (Even though the name doesn't look so, it is what it is.)!
Item was removed:
- ----- Method: CNGBTextConverter class>>encodingNames (in category 'utilities') -----
- encodingNames
-
- ^ #('gb2312' ) copy
- !
Item was removed:
- ----- Method: CNGBTextConverter>>languageEnvironment (in category 'private') -----
- languageEnvironment
-
- ^ SimplifiedChineseEnvironment.
- !
Item was removed:
- ----- Method: CNGBTextConverter>>leadingChar (in category 'private') -----
- leadingChar
-
- ^ GB2312 leadingChar
- !
Item was added:
+ EUCTextConverter subclass: #EUCCNTextConverter
+ instanceVariableNames: ''
+ classVariableNames: ''
+ poolDictionaries: ''
+ category: 'Multilingual-TextConversion'!
+
+ !EUCCNTextConverter commentStamp: 'mt 3/9/2022 11:14' prior: 0!
+ Text converter for Simplified Chinese variation of EUC. !
Item was added:
+ ----- Method: EUCCNTextConverter class>>encodingNames (in category 'utilities') -----
+ encodingNames
+
+ ^ #('gb2312' 'euc-cn') copy!
Item was added:
+ ----- Method: EUCCNTextConverter>>languageEnvironment (in category 'private') -----
+ languageEnvironment
+
+ ^ SimplifiedChineseEnvironment.
+ !
Item was added:
+ ----- Method: EUCCNTextConverter>>leadingChar (in category 'private') -----
+ leadingChar
+
+ ^ GB2312 leadingChar
+ !
Item was added:
+ ----- Method: EUCTextConverter class>>initializeLatin1MapAndEncodings (in category 'class initialization') -----
+ initializeLatin1MapAndEncodings
+
+ latin1Map := ByteArray new: 256 withAll: 1.
+ latin1Encodings := Array new: 256 withAll: nil.
+ 0 to: 127 do: [:i | latin1Map at: i+1 put: 0].!
Item was changed:
----- Method: EUCTextConverter>>nextPut:toStream: (in category 'conversion') -----
nextPut: aCharacter toStream: aStream
| charCode leadingChar nonUnicodeChar |
aStream isBinary ifTrue: [^aCharacter storeBinaryOn: aStream].
charCode := aCharacter charCode.
leadingChar := aCharacter leadingChar.
(leadingChar = 0 and: [ charCode < 256 ]) ifTrue: [
(latin1Encodings at: charCode + 1)
+ ifNil: [ (latin1Map at: charCode + 1) = 0 "Really no translation needed."
+ ifTrue: [ aStream basicNextPut: aCharacter ]
+ ifFalse: [ UndefinedConversion signalFor: charCode toEncoding: self ] ]
- ifNil: [ aStream basicNextPut: aCharacter ]
ifNotNil: [ :encodedString | aStream basicNextPutAll: encodedString ].
^aCharacter ].
aCharacter isTraditionalDomestic
ifFalse: [ nonUnicodeChar := self nonUnicodeClass charFromUnicode: charCode ]
ifTrue: [ nonUnicodeChar := Character value: charCode ].
nonUnicodeChar ifNotNil: [
charCode := nonUnicodeChar charCode.
aStream
basicNextPut: (Character value: charCode // 94 + 161);
basicNextPut: (Character value: charCode \\ 94 + 161) ].
^aCharacter
!
Item was changed:
+ (PackageInfo named: 'Multilingual') postscript: 'EUCTextConverter withAllSubclassesDo: [:ea | ea initializeTables].'!
- (PackageInfo named: 'Multilingual') postscript: 'KOI8TextConverter withAllSubclassesDo: [:ea | ea initializeTables].'!
More information about the Squeak-dev
mailing list
|