[squeak-dev] FreeTypePlus integration status

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

[squeak-dev] FreeTypePlus integration status

Andreas.Raab
Hi -

I'm sure most of you have seen what I've been up to on the weekend. I
did a round of integration work on Freetype in order to make its
installation and uninstallation just as simple as Shout. Plus, there
have already been some changes to font rendering in the trunk that
interact with Freetype's overrides in problematic ways and I really want
to give this stuff even more of a make-over which would make the problem
only worse.

The current status is that outside of the FreeTypePlus core classes you
need two additional extension methods,
BitBlit(GrafPort)>>installFreeTypeFont:... and
BitBlt>>copyBitsColor:alpha:gammaTable:ungammaTable:. I've left these
with Freetype since they are "classic" extension methods (that is they
add functionality that is required by Freetype but doesn't affect
anything else).

Other than that there are no further extensions or overrides of the core
packages necessary. All of the core font stuff has been merged and the
only other thing needed is to tell Squeak where to find the new fonts.
I've cheated a little on that one by providing a hook that allows
replacing the font chooser with one that knows how to deal with Freetype
fonts, i.e., after installing Freetype you can simply execute
"FontChooserTool default: FontChooser" and it will take the FontChooser
from Freetype and  give you access to the Freetype fonts.

Andy - I'm curious if you would consider moving these extensions and
overrides out of the Freetype and into some FreetypePatches packages
(just like you have with the PinesoftEnhancementsForFreetype). This
would allow us to load a straight version of Freetype into trunk images
without the fear of conflicts.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: FreeTypePlus integration status

Andrew Tween
Hi Andreas,

"Andreas Raab" <[hidden email]> wrote in message
news:[hidden email]...

> Hi -
>
> I'm sure most of you have seen what I've been up to on the weekend. I did
> a round of integration work on Freetype in order to make its installation
> and uninstallation just as simple as Shout. Plus, there have already been
> some changes to font rendering in the trunk that interact with Freetype's
> overrides in problematic ways and I really want to give this stuff even
> more of a make-over which would make the problem only worse.
>
> The current status is that outside of the FreeTypePlus core classes you
> need two additional extension methods,
> BitBlit(GrafPort)>>installFreeTypeFont:... and
> BitBlt>>copyBitsColor:alpha:gammaTable:ungammaTable:. I've left these with
> Freetype since they are "classic" extension methods (that is they add
> functionality that is required by Freetype but doesn't affect anything
> else).
>
> Other than that there are no further extensions or overrides of the core
> packages necessary. All of the core font stuff has been merged and the
> only other thing needed is to tell Squeak where to find the new fonts.
> I've cheated a little on that one by providing a hook that allows
> replacing the font chooser with one that knows how to deal with Freetype
> fonts, i.e., after installing Freetype you can simply execute
> "FontChooserTool default: FontChooser" and it will take the FontChooser
> from Freetype and  give you access to the Freetype fonts.
>
> Andy - I'm curious if you would consider moving these extensions and
> overrides out of the Freetype and into some FreetypePatches packages (just
> like you have with the PinesoftEnhancementsForFreetype). This would allow
> us to load a straight version of Freetype into trunk images without the
> fear of conflicts.

Yes, that sounds like a good idea.
There are also a number of bug fixes from the Pharo fork that need to be
pulled back into the main FreeTypePlus repository.
So, I will create the new package structure when I port the fixes back.

Cheers,
Andy



>
> Cheers,
>   - Andreas
>
>