[HACK] Unicode keyboard input and fonts (was: Re: Keycaps??)

Bert Freudenberg bert at impara.de
Tue Jun 13 17:09:30 UTC 2006


I just hacked a bit of Unicode support into the truetype fonts. See  
attachment.

- Bert -


-------------- next part --------------
A non-text attachment was scrubbed...
Name: Freesans.png
Type: image/png
Size: 11725 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20060613/4ffc5044/Freesans.png
-------------- next part --------------

Am 12.06.2006 um 15:35 schrieb Bert Freudenberg:

> Jim,
>
> Squeak has switched from MacRoman encoding to Unicode in 3.8. The 8- 
> bit subset of unicode, iso-8859-1 (a.k.a. Latin1) is what can be  
> reached by old-style keyboard mappings and fonts. While MacRoman  
> *did* have english typographic quotes, Latin1 only has french (?...?):
>
> 	http://en.wikipedia.org/wiki/MacRoman
>
> 	http://en.wikipedia.org/wiki/Latin1
>
> Indeed, I can type french quotes fine in a 3.8 Squeak.
>
> Note that Windows puts english typographic quotes into the reserved  
> slots of Latin1, which makes people use them, which makes browser  
> developers show them as if they were indeed valid latin1 chars,  
> which leads to severe confusion:
>
> 	http://en.wikipedia.org/wiki/Windows-1252
>
> While we could employ a similar hack, the *proper* way for us would  
> be to use unicode text, which Squeak should be able to do since 3.8  
> thanks to the fine Japanese folkss:
>
> 	WideString from: #(16r2018 16r2019 16r201C 16r201D)
>
> This is displayed as '????', because we lack unicode fonts  
> containing the right glyphs.
>
> The Mac VM already provides Unicode keyboard input, as 6th element  
> of the event buffer. It's unused sofar. You can use it by inserting  
> the following line into  
> MacUnicodeInputInterpreter>>nextCharFrom:firstEvt:
>
> 	evtBuf fourth = EventKeyChar ifTrue: [^Unicode value: evtBuf sixth].
>
> Leave the rest of that method in place, even though it is incorrect  
> (#macToSqueak should produce Unicode chars nowadays, but for  
> historical reasons still produces an 8-bit mapping).
>
> Also, to make Morphic use that interpreter temporarily:
>
> 	LanguageEnvironment classPool at: #InputInterpreterClass put:  
> MacUnicodeInputInterpreter.
> 	ActiveHand clearKeyboardInterpreter.
>
> With that, Option-[ actually inserts the character valued 16r201C,  
> though it still is displayed as "?". You can verify that using
>
> 	$? asUnicode hex
>
> (where the "?" is typed as "Option-[") which gives '16r201C'.
>
> There are free bitmapped (BDF) and vector (TTF) fonts, but I am not  
> sure if anyone has tried to make them available in Squeak, yet:
>
> 	http://freeunifont.sourceforge.net/
> 	http://www.nongnu.org/freefont/
>
> Also, I'm unsure about the unicode support of VMs other than John's.
>
> - Bert -
>
> Am 11.06.2006 um 07:34 schrieb John M McIntosh:
>
>> Works fine in a 3.5-5180 image, likely an artifact of:
>>
>> a) switch from original apple fonts to accufonts
>> b) multiple language support.
>>
>> likely someone else on the list can explain which of these two  
>> items is the culprit.
>>
>> I'll note if you type option-] in a workspace  you see nothing,  
>> but if you copy/paste that nothing to TextEdit why you get the  
>> expected characters.
>>
>> On 10-Jun-06, at 4:01 PM, Jim Rosenberg wrote:
>>
>>>> You should indicate which macintosh VM and version you are using.
>>>
>>> VM is 3.8.6Beta6.app.
>>>
>>> Squeak is 3.8 update #6665.
>>>
>>>> You need to give a bit more information about the keyboard  you  
>>>> have  set
>>>> in os-x preferences, which keystrokes you are using, what you   
>>>> expect
>>>> that keystroke to give you say in TextEdit, and what happens in  
>>>> Squeak.
>>>
>>> I'm showing US keyboard script Roman.
>>>
>>> The "normal" keys for typographic quotes I expect are:
>>>
>>> Double-quotes: option-[, shift-option-[
>>>
>>> Single-quotes: option-], shift-option-]
>>>
>>> They work fine in every app except Squeak. (They work fine in  
>>> TextEdit.)
>>>
>>> When I bring down the character palette, highlight the right  
>>> single quote and click insert, Squeak shows it as simply a  
>>> question-mark. When I type shift-option-], instead of getting the  
>>> right single quote, I'm getting the character at position 92 in  
>>> the MorphicFontEditor.
>>>
>>> It sounds like my keyboard mapping has gotten confused somehow --  
>>> if you can straighten me out I'd be much obliged!
>>>
>>> -Thanks, Jim
>
>
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: unicodeHack-bf.1.cs.gz
Type: application/x-gzip
Size: 2692 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20060613/4ffc5044/unicodeHack-bf.1.cs.bin
-------------- next part --------------



More information about the Squeak-dev mailing list