[ANN] FreeType+Subpixel anti-aliasing Update

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween
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)













Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

johnmci
I'll point out in Sophie I wrote a SophieFontEmphasisEncoder class to  
convert between symbols and the smalltalk magic numbers for font  
emphasis.

That way when you have a font that is "Light outline italic shadow"  
you have someway to specify that emphasis, also user's don't need to  
remember or forget magic numbers.

On 13-Aug-06, at 4:25 PM, Andrew Tween wrote:

> 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

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Michael Rueger-6
In reply to this post by Andrew Tween
Andrew Tween wrote:
> 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...

Nice!!!
What changes did you make to the plugin? We should try to make sure to
stay in sync to avoid duplicate or conflicting changes.

> 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.

Sweet! Exactly what we urgently need for Sophie so we can embed fonts
without copyright issues.

> Font files must be placed in the ./fonts folder before installing - this will be
> improved later.

At least in the Sophie font manager we can do this already. But then we
keep the fonts separate from the Squeak font system.

> -------
> TODO:
>
> Kerning.

In the latest Sophie stuff we added kerning and tracking access.

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

That is a tricky business. Ask VW users how that can fail horribly, even
with best intentions.

Great work!

Michael


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween
In reply to this post by johnmci
Hi John,
I'll take a look at that, thanks.
The magic numbers are annoying,and it would be nice to get rid of them
completely.
I would like to add extra emphases, such as subscript/superscript, underline in
a different colour, double-strikeout, etc. , and the codes would then become
even more inscrutable.
Cheers,
Andy

----- Original Message -----
From: "John M McIntosh" <[hidden email]>
To: "The general-purpose Squeak developers list"
<[hidden email]>
Sent: Monday, August 14, 2006 4:59 AM
Subject: Re: [ANN] FreeType+Subpixel anti-aliasing Update


> I'll point out in Sophie I wrote a SophieFontEmphasisEncoder class to
> convert between symbols and the smalltalk magic numbers for font
> emphasis.
>
> That way when you have a font that is "Light outline italic shadow"
> you have someway to specify that emphasis, also user's don't need to
> remember or forget magic numbers.
>
> On 13-Aug-06, at 4:25 PM, Andrew Tween wrote:
>
> > 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
>
> --
> ========================================================================
> ===
> John M. McIntosh <[hidden email]>
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ========================================================================
> ===
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

stéphane ducasse-2
In reply to this post by Andrew Tween
EXCELLENT!!!!
Thanks Andy, people like you producing that kind of great software  
really give me a lot of energy
and sense of responsibility when struggling with harvesting.
Thanks again. What should be done to get that one fruit machines :)

Stef

On 14 août 06, at 01:25, Andrew Tween wrote:

> 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)
>
>
>
>
>
>
>
>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Re: [ANN] FreeType+Subpixel anti-aliasing Update

Lukas Renggli
Gorgeous!

Any chance that the aliased rendering engine of Sophie (called Rome
and based on Kairo, I think) will also make it into a future release
of Squeak?

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween
In reply to this post by Michael Rueger-6
Hi Michael,

----- Original Message -----
From: "Michael Rueger" <[hidden email]>
To: "The general-purpose Squeak developers list"
<[hidden email]>
Sent: Monday, August 14, 2006 8:15 AM
Subject: Re: [ANN] FreeType+Subpixel anti-aliasing Update


> Andrew Tween wrote:
> > 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...
>
> Nice!!!
> What changes did you make to the plugin? We should try to make sure to
> stay in sync to avoid duplicate or conflicting changes.

The zip contains all the source, but 26Mb is a lot to download just to see that
!.
So, I have put a zip containing just the source, no image/changes/executables,
here,...

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

I have tried to keep the plugin code compatible. So, for example, I do not clear
the FT2Face fields when releasing it, but rather than modifying the exisitng
primitive, I have added a new one to do a release without clearing. There may be
some duplication of code, but that can be tidied later. Then there is a bunch of
entirely new primitives, for emboldening, allocating/freeing memory for the
in-memory faces, emboldening, transform/translate outlines, etc.

FT2Handle, and subclasses, have diverged slightly. I changed the
validate/release logic. And there is new stuff.

I also renamed things that refererred to Freetype to refer to FreeType (capital
T), but that is cosmetic. So, for example, FreetypeFontFace is now
FreeTypeFontFace.

FreeTypeFont is significantly different.

I agree that staying in sync is important.
For the plugin, you should be able to easily incorporate my changes.
For the rest, it is probably best if you take any code that is useful to you,
and I will do the same with the latest Sophie code. Having done that, we can
compare to see what the remaining differences are.

>
> > 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.
>
> Sweet! Exactly what we urgently need for Sophie so we can embed fonts
> without copyright issues.

Could you expand on what you mean by "copyright issues"?
I embed the entire file contents, which probably counts as distribution, and so
copyright/license still applies. Perhaps you were thinking of a different way of
embedding?

>
> > Font files must be placed in the ./fonts folder before installing - this
will be
> > improved later.
>
> At least in the Sophie font manager we can do this already. But then we
> keep the fonts separate from the Squeak font system.

I'll take a look.

Cheers,
Andy

>
> > -------
> > TODO:
> >
> > Kerning.
>
> In the latest Sophie stuff we added kerning and tracking access.
>
> > Better font substitution for missing font files (i.e. use a sans serif
strike

> > font in place of a missing sans serif ttf font).
>
> That is a tricky business. Ask VW users how that can fail horribly, even
> with best intentions.
>
> Great work!
>
> Michael
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween
In reply to this post by stéphane ducasse-2
Hi Stef,
Thanks.

I have hit a language barrier....
self doesNotUnderstand: 'What should be done to get that one fruit machines :)'
:)

Cheers,
Andy

----- Original Message -----
From: "stéphane ducasse" <[hidden email]>
To: "The general-purpose Squeak developers list"
<[hidden email]>
Sent: Monday, August 14, 2006 9:28 AM
Subject: Re: [ANN] FreeType+Subpixel anti-aliasing Update


EXCELLENT!!!!
Thanks Andy, people like you producing that kind of great software
really give me a lot of energy
and sense of responsibility when struggling with harvesting.
Thanks again. What should be done to get that one fruit machines :)

Stef

On 14 août 06, at 01:25, Andrew Tween wrote:

> 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)
>
>
>
>
>
>
>
>
>
>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Markus Gälli-3
think different!
;-)

Markus

p.s. Sophie rocks!

On Aug 14, 2006, at 11:23 AM, Andrew Tween wrote:

> Hi Stef,
> Thanks.
>
> I have hit a language barrier....
> self doesNotUnderstand: 'What should be done to get that one fruit  
> machines :)'
> :)
>
> Cheers,
> Andy
>
> ----- Original Message -----
> From: "stéphane ducasse" <[hidden email]>
> To: "The general-purpose Squeak developers list"
> <[hidden email]>
> Sent: Monday, August 14, 2006 9:28 AM
> Subject: Re: [ANN] FreeType+Subpixel anti-aliasing Update
>
>
> EXCELLENT!!!!
> Thanks Andy, people like you producing that kind of great software
> really give me a lot of energy
> and sense of responsibility when struggling with harvesting.
> Thanks again. What should be done to get that one fruit machines :)
>
> Stef
>
> On 14 août 06, at 01:25, Andrew Tween wrote:
>
>> 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)
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

stéphane ducasse-2
In reply to this post by Andrew Tween

On 14 août 06, at 11:23, Andrew Tween wrote:

> Hi Stef,
> Thanks.
>
> I have hit a language barrier....
> self doesNotUnderstand: 'What should be done to get that one fruit  
> machines :)'

on fruit machines

on apple :)


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween
LOL.
I was thnking about one-armed bandits/slot machines.
"Three-cherries-in-a-row" meaning to get things in sync, etc.
Went to bed late, got up early.
Need more coffee.

All the source is in the zip. So all you need to do is build a vm with the
modified FT2Plugin, and BitBlt plugins.
In the zip is ./vmMakerImages/Squeak3.9g-7054.vmMaker.image, which is the image
from which I built the vm/plugins. It includes the bitBlt mods, and the
FT2Plugin code etc.
I used revision 1513 of the vm source from http://squeakvm.org/svn/squeak/trunk

To build the vm+plugins on Windows, I did the following.

Get FreeType2.2.1 source, ft221.zip, from here...
http://download.savannah.gnu.org/releases/freetype/

Get ftJam for win32 from here...
http://prdownloads.sourceforge.net/freetype/ftjam-2.5.2-win32.zip?download

Get gnutools for win32 from here...
http://www.squeakvm.org/win32/release/Squeak-Win32-Tools-1.2.zip

Use jam with JAM_TOOLSET=MINGW setting to compile a freetype.a lib (I needed to
fiddle with makefiles to get it to build without error, but I can't remember
exactly what I did).

create a /platforms/win32/plugins/FT2Plugin folder in the vm source, and copy
this lot into it...

    freetype.a
    ft2build.h   (from ft221/freetype-2.2.1/include)
    freetype    (folder from ft221/freetype-2.2.1/include)

modify /platforms/Makefile.mingw32 so that the FT2Plugin links with freetype.a.
I also removed the -Werror-implicit-function-declaration compiler flag which
caused the build to fail. (there is a patch for this in my
zip -./squeakvm_patch/patchForBuildWithFT2Plugin.patch)

generate the vm source with bitBlt & FT2Plugin external.
run the platforms/win32/build.bat

Cheers,
Andy

----- Original Message -----
From: "stéphane ducasse" <[hidden email]>
To: "The general-purpose Squeak developers list"
<[hidden email]>
Sent: Monday, August 14, 2006 11:16 AM
Subject: Re: [ANN] FreeType+Subpixel anti-aliasing Update



On 14 août 06, at 11:23, Andrew Tween wrote:

> Hi Stef,
> Thanks.
>
> I have hit a language barrier....
> self doesNotUnderstand: 'What should be done to get that one fruit
> machines :)'

on fruit machines

on apple :)




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Alan Kay
In reply to this post by Andrew Tween
Very nice!

Cheers,

Alan

----------

At 04:25 PM 8/13/2006, Andrew Tween wrote:

>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)



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

danil osipchuk
In reply to this post by Andrew Tween
Andrew,

        I would like to say a big 'THANK YOU' for this great work (i've tried it  
recently). It really rocks :)
        Can one hope that it will be supported in future?
       
        regards,
                Danil

On Mon, 14 Aug 2006 02:25:47 +0300, Andrew Tween <[hidden email]>  
wrote:

> 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.
>

>
>




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

stéphane ducasse-2
We all hope that! This look so cool.
And also the synchronization between andy and the sophie team is  
great music to my hears.
The power of open-source at work: collaboration, communication and  
sharing.

Stef

On 28 août 06, at 10:54, danil osipchuk wrote:

> Andrew,
>
> I would like to say a big 'THANK YOU' for this great work (i've  
> tried it recently). It really rocks :)
> Can one hope that it will be supported in future?
>
> regards,
> Danil
>
> On Mon, 14 Aug 2006 02:25:47 +0300, Andrew Tween  
> <[hidden email]> wrote:
>
>> 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.
>>
>
>>
>>
>
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] FreeType+Subpixel anti-aliasing Update

Andrew Tween
In reply to this post by danil osipchuk
>I would like to say a big 'THANK YOU' for this great work (i've tried it
>recently). It really rocks :)
>Can one hope that it will be supported in future?

Thanks.
I should point out that much of the work was done by others, both inside and
outside the Squeak community.
In particular, the FreeType library (www.freetype.org), the associated FT2Plugin
from Sophie (which is itself based on work by Arjen van Elteren and Ned Konz -
see "Freetype/2 Font Demo" on SqueakMap).
And, of course, the sub-pixel rendering, first implemented in Squeak by the late
Henrik Gedenryd. (this is still available, along with other stuff, from here -
http://www.lucs.lu.se/people/Henrik.Gedenryd/Squeak/ . ).

I'll happily take the credit (or blame? ) for the bits I've done myself, such as
the new bitblt mode, but mostly I have been integrating, harvesting, and
tweaking the work of others.

Of course, I will do what I can to support this in the future. It still needs
more work, and tidying up. And it remains to be seen what everyone wants to do
with it after that - whether it is included in a future Squeak release/vm  etc.

Cheers,
Andy