Freetype, Win32Fonts, etc

Arjen van Elteren a.vanelteren at chello.nl
Tue Oct 21 08:10:47 UTC 2003


>Surfing the swiki I found "Freetype font support" in
>http://minnow.cc.gatech.edu/squeak/3192 and it
>also looks really nice (and
>it's using render with smoothing judging on the screenshot).

I wrote this package and it is contains several things;

* A new bitblt mode (one where you can combine a color with a alpha mask,
this way you can have smooth fonts with any color and low memory usage).
This mode is a special case of mode 34 and may also be handy for general
use.

* A different primitive character scanner procedure (one that understands
some more about advances etc). I think the best solution is to do the
entire character scanning (ie layout) in squeak. This should be done with
internationalisation in mind (I think Yoshiki-san can say more about this)

* A plugin to convert ttf fonts into bitmaps (using freetype). Once a font
is converted into several bitmap fonts (ie sizes) you do not need freetype
any longer.

I did not know about the win32 native fonts back then and so these efforts
are not very compatible (I did make it more compatible with the native
truetype rendering effort but I don't know if this is in the version on
the wiki).

>I guess these pieces of work can be mixed and voila!, nice fonts
>everywhere!

A good font system should contain these items;
* font look-up (see fontconfig(X11) or atsui(OSX))
* font layout/character placement (see pongo, atsui, win32?)
* character rendering (see Xft, atsui, win32)
* character displaying

Currently our font look-up is simply a dictionary in TextConstants, our
layout is in the character scanner (and is very basic) all the characters
are pre-rendered (ie bitmap) and the displaying is done with bitblt.

Arjen




More information about the Squeak-dev mailing list