[squeak-dev] The Trunk: Multilingual-nice.237.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Apr 6 17:38:16 UTC 2018
Nicolas Cellier uploaded a new version of Multilingual to project The Trunk:
http://source.squeak.org/trunk/Multilingual-nice.237.mcz
==================== Summary ====================
Name: Multilingual-nice.237
Author: nice
Time: 6 April 2018, 7:37:57.89255 pm
UUID: 08e8ac08-7ec9-9f43-a965-11b791a7cfb4
Ancestors: Multilingual-tonyg.236
Add some fixes required for the Japanese locale to function properly.
>From http://bugs.squeak.org/view.php?id=7864
Note:
- I have replace the patch of copy by a patch of postCopy which is the correct way to do it in modern Squeak.
- i have not integrated the crossedX patch yet because I need to understand the bug first, so I am waiting for feedback
=============== Diff against Multilingual-tonyg.236 ===============
Item was changed:
----- Method: JapaneseEnvironment class>>clipboardInterpreterClass (in category 'subclass responsibilities') -----
clipboardInterpreterClass
| platformName osVersion |
+ platformName := Smalltalk platformName.
- platformName := Smalltalk platformName.
osVersion := Smalltalk osVersion.
(platformName = 'Win32' and: [osVersion = 'CE'])
ifTrue: [^NoConversionClipboardInterpreter].
+ platformName = 'Win32' ifTrue: [^UTF8ClipboardInterpreter].
- platformName = 'Win32' ifTrue: [^WinShiftJISClipboardInterpreter].
platformName = 'Mac OS' ifTrue: [^MacShiftJISClipboardInterpreter].
^platformName = 'unix'
ifTrue:
[(ShiftJISTextConverter encodingNames includes: X11Encoding getEncoding)
ifTrue: [MacShiftJISClipboardInterpreter]
ifFalse: [UnixJPClipboardInterpreter]]
ifFalse: [ NoConversionClipboardInterpreter ]!
Item was changed:
----- Method: JapaneseEnvironment class>>systemConverterClass (in category 'subclass responsibilities') -----
systemConverterClass
| platformName osVersion encoding |
platformName := Smalltalk platformName.
osVersion := Smalltalk osVersion.
+ platformName = 'Win32'
- (platformName = 'Win32' and: [osVersion = 'CE'])
ifTrue: [^UTF8TextConverter].
+ platformName = 'ZaurusOS'
- (#('Win32' 'ZaurusOS') includes: platformName)
ifTrue: [^ShiftJISTextConverter].
platformName = 'Mac OS'
ifTrue:
[^('10*' match: osVersion)
ifTrue: [UTF8TextConverter]
ifFalse: [ShiftJISTextConverter]].
platformName = 'unix'
ifTrue:
[encoding := X11Encoding encoding.
encoding ifNil: [^EUCJPTextConverter].
(encoding = 'utf-8')
ifTrue: [^UTF8TextConverter].
(encoding = 'shiftjis' or: [ encoding = 'sjis' ])
ifTrue: [^ShiftJISTextConverter].
^EUCJPTextConverter].
^MacRomanTextConverter!
Item was added:
+ ----- Method: LanguageEnvironment class>>isAlphaNumeric: (in category 'accessing') -----
+ isAlphaNumeric: char
+
+ ^ self charsetClass isAlphaNumeric: char.
+ !
Item was added:
+ ----- Method: LanguageEnvironment class>>toCasefold: (in category 'casing') -----
+ toCasefold: aWideString
+ ^self charsetClass toCasefold: aWideString!
Item was added:
+ ----- Method: LanguageEnvironment class>>toLowercase: (in category 'casing') -----
+ toLowercase: aWideString
+ ^self charsetClass toLowercase: aWideString!
Item was added:
+ ----- Method: LanguageEnvironment class>>toLowercaseCode: (in category 'casing') -----
+ toLowercaseCode: integerValue
+ ^self charsetClass toLowercaseCode: integerValue!
Item was added:
+ ----- Method: LanguageEnvironment class>>toUppercase: (in category 'casing') -----
+ toUppercase: aWideString
+ ^self charsetClass toUppercase: aWideString!
Item was added:
+ ----- Method: LanguageEnvironment class>>toUppercaseCode: (in category 'casing') -----
+ toUppercaseCode: integerValue
+ ^self charsetClass toUppercaseCode: integerValue!
Item was changed:
----- Method: StrikeFontSet>>postCopy (in category 'copying') -----
postCopy
super postCopy.
self reset.
+ fontArray := fontArray collect: #copy
- fontArray := fontArray copy
!
Item was changed:
----- Method: UTF32JPInputInterpreter>>nextCharFrom:firstEvt: (in category 'as yet unclassified') -----
nextCharFrom: sensor firstEvt: evtBuf
| keyValue mark |
keyValue := evtBuf at: 6.
+ keyValue = 0 ifTrue: [keyValue := evtBuf at: 3].
mark := self japaneseSpecialMark: keyValue.
mark notNil
ifTrue: [^ mark].
keyValue < 256
ifTrue: [^ (Character value: keyValue) squeakToIso].
^ Character leadingChar: JapaneseEnvironment leadingChar code: keyValue!
More information about the Squeak-dev
mailing list
|