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! |
Free forum by Nabble | Edit this page |