[DOC][3.8g][Morphic][m17n] Unicode True Type font example (was Re: internationalisation of squeak: Bitmap font SofijaUC)

Hannes Hirzel hirzel at spw.unizh.ch
Wed Dec 15 08:58:57 UTC 2004


Yoshiki

thank you for your answer which helped me to do a further important step
(see below). For examplewe can display now Greek and IPA characters in a
size large enough for example to teach geometry or phonetics with Squeak.


Yoshiki Ohshima wrote:
>   Hannes,
> 
> 
>>Squeak 3.6 (for 3.7 I didn't check because I am changing directly from
>>3.6 to 3.8) has TrueType font loader methods which are still in 3.8.
>>Alexander Lazarevic has posted sa code snippets where he managed to
>>display a single character of a Unicode true type font. Recently when I
>>checked it didn't work anymore. I posted a bug report on Mantis
>>regarding this. But in some time TrueType support will be here for
>>Unicode as well I suppose.
> 
> 
>   I put a reply to your bug report.  If I copy it, it reads:
> 
> ------------------------
> First, this wasn't the problem I introduced^^;
> 
> Second, the do-it is wrong, since
> 
>      #(12, 18, 24, 36, 60)
> 
> doesn't result in a 5-element array, but 9-element array with four #,'s.


I do not understand what this means. I have now Verdana of font size up
to 36 in my 3.8g image be using the general command (see below)

But I would like to have as well the point sizes 48, 60, 72 and 90. What
do I have to do?


> Third, if you define #pixelSize: at StrikeFont that is identical to the TTCFont one,
> 
> pixelSize: aNumber
>     "Make sure that we don't return a Fraction"
>     self pointSize: (TextStyle pixelsToPoints: aNumber) rounded.
> 
> it runs.

This explanation is too terse for me.

> However, you would need to fix the combination rule to render the 8-bit depth glyph correctly.
> 
> Lastly, you can say 
> 
>      TTCFontReader encodingTag: Latin1Environment leadingChar.
>      TTCFontSet newTextStyleFromTTFile: 'C:\WINDOWS\Fonts\verdana.ttf'
> 
> to use Verdana for some extent. 
> ------------------------


This works excellent. In a pristine 3.8gamma-6527 I did do the following
with success:


  TTCFontReader encodingTag: Latin1Environment leadingChar.
      TTCFontSet newTextStyleFromTTFile: 'C:\WINDOWS\Fonts\L_10646.ttf'.
      "Lucida Sans Unicode Font (installed on every Windows since 1998).
       Please check:
       The font file name might be different though - I am on Windows XP"

s _ StringMorph new contents: ('abc ',
                                945 asCharacter asString,
                                946 asCharacter asString,
                                947 asCharacter asString).
                                "Greek alpha, beta, gamma"

s  fontName: 'MultiLucidaSansUnicode' size: 48.

s openInHand



>   Ned, did you do the "installing combination rule" part of FormSetFont?
> 
> -- Yoshiki
> 
> 
> 

Hannes







More information about the Squeak-dev mailing list