[ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween amtween at hotmail.com
Sun Aug 13 23:25:47 UTC 2006


An updated vm+plugins+image containing my latest work in getting the FreeType
font support from the Sophie project into 3.9 can be obtained from here...

http://www.zen61439.zen.co.uk/Squeak3.9g-7054_FreeType.zip

This is for Windows only. I'll try a Linux build next.

Screenshots, for those lucky enough not to have Windows, are here...

http://www.zen61439.zen.co.uk/lcdOff.png
http://www.zen61439.zen.co.uk/lcdOn.png

lcdOff.png is with the sub-pixel rendering turned off, and lcdOn.png with it
switched on.

Cheers,
Andy
----------------
>From the readme.text file...

This distribution contains the latest work on harvesting/porting the FreeType
code from the Sophie project into Squeak3.9, and rescuing/updating the LCD
subpixel anti-aliasing work started by the late Henrik Gedenryd.

I have only compiled the required plugins for Win32, so this release is for
Win32 only. It has been tested on Win2000.

-------

The FT2Plugin is now external (FT2Plugin.dll). It now uses the latest
FreeType2.2.1 library.

Now works with 32,16, and 8 bit display depths.

Gamma correction improved (now applied by the new BitBlt mode).

Underline and Strikeout emphasis supported

Synthetic emphasis is applied when a font does not support that emphasis
directly. e.g. can now have Italic, and Bold-italic emphasis for Bitstream Vera
Serif.
Synthetic emphasis is indicated with an asterisk in the System Fonts picker e.g.
Bold*, Bold Italic*.

Fonts can be stored in the image as ByteArrays, and used by the FreeType plugin,
without requiring the font file to exist, or be re-created, on disk.

Fonts can be loaded through FileList services.
There are options to embed a file's contents into the image (as described
above); or to use the file each time the font needs to be accessed.
Font files must be placed in the ./fonts folder before installing - this will be
improved later.

If a font file is missing from the ./Fonts folder when the image is started, a
substitute strike font (Accuny or Accumon) will be used in its place.

There is a new cache to hold the character glyphs/metrics for each font. The
maximum size of the cache can be set (in Kb).

-------
TODO:

Kerning.

Rotated text in subpixel mode.

Loading font files from anywhere on disk.

Loading whole font families in one operation (e.g. no need to load Vera.ttf,
VeraBd.ttf, VeraIt.ttf, and VeraBI.ttf separately to install Bitstream Vera
Sans).

Improve sub-pixel filtering. (implement in plugin to speed up)

See if support for pfb, pfa can be improved (attaching metric files).

Support for other font types (currently ttf, ttc, otf, otc, pfa, pfb are
supported).

Support for ttf files without unicode char maps.

Better font substitution for missing font files (i.e. use a sans serif strike
font in place of a missing sans serif ttf font).

Better underline/strikeout emphasis (currently drawn as solid line, but should
be anti-aliased for non-integral line widths/alignment)















More information about the Squeak-dev mailing list