[squeak-dev] The Trunk: Multilingual-ul.151.mcz

commits at source.squeak.org commits at source.squeak.org
Sun May 22 20:32:19 UTC 2011


Levente Uzonyi uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-ul.151.mcz

==================== Summary ====================

Name: Multilingual-ul.151
Author: ul
Time: 22 May 2011, 10:12:27.443 pm
UUID: e47408e2-bdb2-ab44-83f0-82ba2d25b64d
Ancestors: Multilingual-ul.150

All TextConverters pass the line end conversion test.

=============== Diff against Multilingual-ul.150 ===============

Item was changed:
  ----- Method: CompoundTextConverter>>nextPut:toStream: (in category 'conversion') -----
  nextPut: aCharacter toStream: aStream
  
+ 	| charCode leadingChar class |
- 	| ascii leadingChar class |
  	aStream isBinary ifTrue: [^aCharacter storeBinaryOn: aStream].
  	aCharacter isTraditionalDomestic ifFalse: [
  		class := (EncodedCharSet charsetAt: aCharacter leadingChar) traditionalCharsetClass.
+ 		charCode := (class charFromUnicode: aCharacter asUnicode) charCode.
- 		ascii := (class charFromUnicode: aCharacter asUnicode) charCode.
  		leadingChar := class leadingChar.
  	] ifTrue: [
+ 		charCode := aCharacter charCode.
- 		ascii := aCharacter charCode.
  		leadingChar := aCharacter leadingChar.
  	].
+ 	charCode < 256 ifTrue: [
+ 		(latin1Encodings at: charCode + 1)
+ 			ifNil: [ aStream basicNextPut: aCharacter ]
+ 			ifNotNil: [ :encodedString | aStream basicNextPutAll: encodedString ].
+ 		^aCharacter ].
+ 	self 
+ 		nextPutValue: charCode
+ 		toStream: aStream
+ 		withShiftSequenceIfNeededForLeadingChar: leadingChar.
- 
- 	self nextPutValue: ascii toStream: aStream withShiftSequenceIfNeededForLeadingChar: leadingChar.
  	^aCharacter
  !

Item was changed:
  ----- Method: EUCTextConverter>>nextPut:toStream: (in category 'conversion') -----
  nextPut: aCharacter toStream: aStream 
+ 	| charCode leadingChar nonUnicodeChar |
- 	| value leadingChar nonUnicodeChar value1 value2 |
  	aStream isBinary ifTrue: [^aCharacter storeBinaryOn: aStream].
+ 	charCode := aCharacter charCode.
- 	value := aCharacter charCode.
  	leadingChar := aCharacter leadingChar.
+ 	(leadingChar = 0 and: [ charCode < 256 ]) ifTrue: [
+ 		(latin1Encodings at: charCode + 1)
+ 			ifNil: [ aStream basicNextPut: aCharacter ]
+ 			ifNotNil: [ :encodedString | aStream basicNextPutAll: encodedString ].
+ 		^aCharacter ].
+ 	aCharacter isTraditionalDomestic
+ 		ifFalse: [ nonUnicodeChar := self nonUnicodeClass charFromUnicode: charCode ]
+ 		ifTrue: [ nonUnicodeChar := Character value: charCode ].
- 	(leadingChar = 0 and: [value < 128]) ifTrue: [
- 		^aStream basicNextPut: (Character value: value).
- 	].
- 
- 	(128 <= value and: [value < 256]) ifTrue: [^ aStream].
- 	aCharacter isTraditionalDomestic ifFalse: [
- 		nonUnicodeChar := self nonUnicodeClass charFromUnicode: value.
- 	] ifTrue: [
- 		nonUnicodeChar :=(Character value: value)
- 	].
  	nonUnicodeChar ifNotNil: [
+ 		charCode := nonUnicodeChar charCode.
+ 		aStream
+ 			basicNextPut: (Character value: charCode // 94 + 161);
+ 			basicNextPut: (Character value: charCode \\ 94 + 161) ].
- 		value := nonUnicodeChar charCode.
- 		value1 := value // 94 + 161.
- 		value2 := value \\ 94 + 161.
- 		aStream basicNextPut: (Character value: value1).
- 		aStream basicNextPut: (Character value: value2).
- 	].
  	^aCharacter
  !

Item was changed:
  ----- Method: ShiftJISTextConverter>>nextPut:toStream: (in category 'conversion') -----
+ nextPut: aCharacter toStream: aStream
+ 
+ 	| charCode leadingChar aChar |
- nextPut: aCharacter toStream: aStream 
- 	| value leadingChar aChar |
  	aStream isBinary ifTrue: [^aCharacter storeBinaryOn: aStream].
+ 	aChar := aCharacter.
+ 	charCode := aCharacter charCode.
+ 	aChar isTraditionalDomestic ifFalse: [	
+ 		(16rFF61 <= charCode and: [charCode <= 16rFF9F]) ifTrue: [
+ 			^aStream basicNextPut: (self sjisKatakanaFor: charCode) ].
+ 		aChar := (JISX0208 charFromUnicode: charCode) ifNil: [ 
+ 			^aCharacter "an error or nil may be better" ].
+ 		charCode := aChar charCode ].
+ 	(leadingChar := aChar leadingChar) = 0 ifTrue: [
+ 		charCode < 256 ifTrue: [
+ 			(latin1Encodings at: charCode + 1)
+ 				ifNil: [ aStream basicNextPut: aChar ]
+ 				ifNotNil: [ :encodedString | aStream basicNextPutAll: encodedString ].
+ 			^aChar ].
+ 		^aStream basicNextPut: aChar ].
+ 	leadingChar = self leadingChar ifTrue: [
- 	aCharacter isTraditionalDomestic ifTrue: [	
- 		aChar := aCharacter.
- 		value := aCharacter charCode.
- 	] ifFalse: [
- 		value := aCharacter charCode.
- 		(16rFF61 <= value and: [value <= 16rFF9F]) ifTrue: [
- 			^aStream basicNextPut: (self sjisKatakanaFor: value).
- 		].
- 		aChar := JISX0208 charFromUnicode: value.
- 		aChar ifNil: [^ aStream].
- 		value := aChar charCode.
- 	].
- 	leadingChar := aChar leadingChar.
- 	leadingChar = 0 ifTrue: [
- 		^aStream basicNextPut: (Character value: value).
- 	].
- 	leadingChar == self leadingChar ifTrue: [
  		| upper lower | 
+ 		upper := charCode // 94 + 33.
+ 		lower := charCode \\ 94 + 33.
- 		upper := value // 94 + 33.
- 		lower := value \\ 94 + 33.
  		upper \\ 2 = 1 ifTrue: [
  			upper := upper + 1 / 2 + 112.
  			lower := lower + 31
  		] ifFalse: [
  			upper := upper / 2 + 112.
  			lower := lower + 125
  		].
  		upper >= 160 ifTrue: [upper := upper + 64].
  		lower >= 127 ifTrue: [lower := lower + 1].
+ 		aStream 
+ 			basicNextPut: (Character value: upper);
+ 			basicNextPut: (Character value: lower) ].
+ 	^aChar
- 		aStream basicNextPut: (Character value: upper).
- 		aStream basicNextPut: (Character value: lower).
- 	].
- 	^aCharacter
  !




More information about the Squeak-dev mailing list