Henrik antialising

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

Henrik antialising

stéphane ducasse-2
Hi guys

did one of you hear about andy tween the cool father of SHOUT.
Way back he said that he was willing to harvest Henrik antialiasing  
font rendering.
I tried to contact him but got no reply (may be a spam filter problem).

Stef

Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Bert Freudenberg-3

Am 21.03.2006 um 08:43 schrieb stéphane ducasse:

> Hi guys
>
> did one of you hear about andy tween the cool father of SHOUT.
> Way back he said that he was willing to harvest Henrik antialiasing  
> font rendering.

Don't know. But for Sophie I revived Ned's Freetype2 Plugin:

        http://source.impara.de/freetype.html

The integration with regular Squeak fonts is a bit immature (Sophie  
uses its own font management) but it should be a start.

What would be cool is if someone would take this and make a higher-
quality renderer for the TTCFonts - if the plugin is available,  
render nicely sub-pixel antialiased glyphs with Freetype, otherwise  
fall back to the currently used blurry BalloonEngine rendering.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Andrew Tween
In reply to this post by stéphane ducasse-2
Hi Stef,
Sorry about that. I'll check my e-mail settings.

Here is an update on the sub-pixel anti-aliasing work I have been doing...

I ported some of Henrik's sub-pixel rendering code to 3.9.
Enough to get the fonts that he had produced to load, and display.
But, since his work was unfinished, there are some things which don't work.
(This is not a criticism of Henrik, the comments in his code indicate that
he was intending to work on these things).
Specifically, from Henrik's project notes...
    "No support for synthetic variants (emboldened, underline etc.), nor
colored type.
     No bg color other than white in paragraphs (but in QuickPrint)
     Doesn't work properly in other than 32 bit display depth (for Squeak)
because of BitBlt limitations. "

The lack of support for coloured text means that it doesn't work with Shout.
I am extremely reluctant to release/support 2 packages that don't work with
each other.

The production of the stretched character glyphs, in Henrik's code, relied
on the Freetype library.
Other people are working on interfacing to Freetype (the Sophie project, for
example), and I don't want to duplicate their efforts by 'doing my own
thing'.

For the reason's above, I have started from a blank sheet, with these goals.
    1. Must work with, or without, Freetype. (i.e. work with exisiting TTF
support)
    2. Must support any foreground/background colour combination (including
Transparency).
    3. Should work with any display depth (or at least with >= 8 bit)
    4. Would be nice to also fix the advance width problem (enable glyphs to
overlap)
    5. Awareness of any patent issues.
        I don't know what we can/should do about those patent issues, but at
least we can make informed decisions.

I have made some progress on this...

    I have created a new BitBlt mode that has a separate alpha channel for
each rgb subcomponent.
        This enables Transparency/Translucency, and means that there is no
need to cache separate glyphs per foreground colour.
        At the moment this only works with 32 bit display depth, and
requires a patched VM.

    I can create stretched glyphs using the existing Balloon /TTF rendering.
        These are still blurry (mainly in the vertical direction. This is
due to no hinting/grid fitting).
        It is also very slow - I haven't improved the TTCFont caching, so
the caches keep getting rebuilt.

    I can fake the Freetype support by using Windows API to create
stretched/hinted/grid fitted glyphs.
        This works well, text is very clear, but there are issues with some
italic glyphs becoming distorted.
        I think this is a bug in the Windows API.

   I have researched the patents that apply in this area.
        So far I have uncovered 16 US, and 1 worldwide patent held/applied
for by Microsoft.

So, work is progressing, as time allows, but time is in short supply at the
moment.

I am deliberately hesitating before sharing any of this stuff, mainly
because of the patent issues,
but also because I want to get it working with Freetype first.

More later...
Cheers,
Andy

----- Original Message -----
From: "stéphane ducasse" <[hidden email]>
To: "The general-purpose Squeak developers list"
<[hidden email]>
Sent: Tuesday, March 21, 2006 7:43 AM
Subject: Henrik antialising


> Hi guys
>
> did one of you hear about andy tween the cool father of SHOUT.
> Way back he said that he was willing to harvest Henrik antialiasing
> font rendering.
> I tried to contact him but got no reply (may be a spam filter problem).
>
> Stef
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Andrew Tween
In reply to this post by Bert Freudenberg-3
Hi Bert,
I would very much like to adapt my sub-pixel work to use your Freetype2
plugin.

How should I proceed with installing it? In particular...

Which image should I use, 3.7, 3.8, 3.9, any particular configuration?

Which packages should I load?
    I have tried loading stuff, but get various errors, for example...
        When I try to load Freetype-Base-JMM.40.mcz into latest 3.9 I get...
            This package depends on the following classes:
              CTransformCanvas

    Is there some other stuff I need first?

How would I then set things up for building a VM & plugin for Windows?
    Do I need to obtain the source for a specific version of Freetype2 ?
    (When I built a custom VM for my new BitBlt mode, I found that I had to
do this from 3.7 Full.
    3.8 and later caused errors, but I didn't have time to investigate)

Any help you can give me is much appreciated.
Cheers,
Andy

----- Original Message -----
From: "Bert Freudenberg" <[hidden email]>
Newsgroups: gmane.comp.lang.smalltalk.squeak.general
Sent: Tuesday, March 21, 2006 9:41 AM
Subject: Re: Henrik antialising



Am 21.03.2006 um 08:43 schrieb stéphane ducasse:

> Hi guys
>
> did one of you hear about andy tween the cool father of SHOUT.
> Way back he said that he was willing to harvest Henrik antialiasing
> font rendering.

Don't know. But for Sophie I revived Ned's Freetype2 Plugin:

http://source.impara.de/freetype.html

The integration with regular Squeak fonts is a bit immature (Sophie
uses its own font management) but it should be a start.

What would be cool is if someone would take this and make a higher-
quality renderer for the TTCFonts - if the plugin is available,
render nicely sub-pixel antialiased glyphs with Freetype, otherwise
fall back to the currently used blurry BalloonEngine rendering.

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Bert Freudenberg-3

Am 21.03.2006 um 14:51 schrieb Andrew Tween:

> Hi Bert,
> I would very much like to adapt my sub-pixel work to use your  
> Freetype2
> plugin.
>
> How should I proceed with installing it? In particular...
>
> Which image should I use, 3.7, 3.8, 3.9, any particular configuration?

Only tested on 3.8

> Which packages should I load?

compiling the plugin: Freetype-Base + Freetype-Plugin

using / testing: Freetype-Base + Freetype-Fonts

installing sample fonts: Freetype-Vera (depends on Freetype-Fonts)

There are two config maps at the bottom of http://source.impara.de/ 
freetype/ but they do not point to the latest versions.


>     I have tried loading stuff, but get various errors, for example...
>         When I try to load Freetype-Base-JMM.40.mcz into latest 3.9  
> I get...
>             This package depends on the following classes:
>               CTransformCanvas
>
>     Is there some other stuff I need first?

Uggh, that stuff should not be in that package ... seems to have been  
slipped in by some Sophie developer (CTransformCanvas is used by Tweak).

You should be able to ignore the warning and load the package  
anyways, no?

> How would I then set things up for building a VM & plugin for Windows?
>     Do I need to obtain the source for a specific version of  
> Freetype2 ?
>     (When I built a custom VM for my new BitBlt mode, I found that  
> I had to
> do this from 3.7 Full.
>     3.8 and later caused errors, but I didn't have time to  
> investigate)

Hmm, not sure about the Windows plugin ... someone compiled it for  
Sophie, so it works, somehow ;-)

If you do it as external plugin it shouldn't matter if it is 3.7 or  
3.8, so use whatever works for you.

- Bert -



> ----- Original Message -----
> From: "Bert Freudenberg" <[hidden email]>
> Newsgroups: gmane.comp.lang.smalltalk.squeak.general
> Sent: Tuesday, March 21, 2006 9:41 AM
> Subject: Re: Henrik antialising
>
>
>
> Am 21.03.2006 um 08:43 schrieb stéphane ducasse:
>
>> Hi guys
>>
>> did one of you hear about andy tween the cool father of SHOUT.
>> Way back he said that he was willing to harvest Henrik antialiasing
>> font rendering.
>
> Don't know. But for Sophie I revived Ned's Freetype2 Plugin:
>
> http://source.impara.de/freetype.html
>
> The integration with regular Squeak fonts is a bit immature (Sophie
> uses its own font management) but it should be a start.
>
> What would be cool is if someone would take this and make a higher-
> quality renderer for the TTCFonts - if the plugin is available,
> render nicely sub-pixel antialiased glyphs with Freetype, otherwise
> fall back to the currently used blurry BalloonEngine rendering.
>
> - Bert -
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

johnmci

On 21-Mar-06, at 7:44 AM, Bert Freudenberg wrote:

>
>>     I have tried loading stuff, but get various errors, for  
>> example...
>>         When I try to load Freetype-Base-JMM.40.mcz into latest  
>> 3.9 I get...
>>             This package depends on the following classes:
>>               CTransformCanvas
>>
>>     Is there some other stuff I need first?
>
> Uggh, that stuff should not be in that package ... seems to have  
> been slipped in by some Sophie developer (CTransformCanvas is used  
> by Tweak).
>
> You should be able to ignore the warning and load the package  
> anyways, no?

Ya, that is in there because it alters CTransformCanvas so that it  
deals with FT2 Font rendering, of course that's needed in Sophie.

>
>> How would I then set things up for building a VM & plugin for  
>> Windows?
>>     Do I need to obtain the source for a specific version of  
>> Freetype2 ?
>>     (When I built a custom VM for my new BitBlt mode, I found that  
>> I had to
>> do this from 3.7 Full.
>>     3.8 and later caused errors, but I didn't have time to  
>> investigate)
>
> Hmm, not sure about the Windows plugin ... someone compiled it for  
> Sophie, so it works, somehow ;-)
>
> If you do it as external plugin it shouldn't matter if it is 3.7 or  
> 3.8, so use whatever works for you.

Beware that newer plugins compiled with newer VM interface files with  
newer major/minor version numbers won't
load with older VM because the version numbers in the plugins are  
higher than in the VM. This feature is there
to prevent disaster, but as a side effect causes problems because a  
plugin won't load on your 3.6 VM and you don't know why...


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


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Andrew Tween
In reply to this post by Bert Freudenberg-3
Thanks.
I am making some progress.
I have loaded the Freetype-Base and Freetype-plugin packages into my 3.7
full image.
Using VMMaker I am building a VM and external FT2Plugin.
(the VM build works ok without theFT2Plugin so I think it is configured
correctly).

The code gets generated ok, I have a bunch of FTPlugin files (.c .exp .def
lib .o ) in the FT2Plugin directory.
I have downloaded and compiled Freetype 2.1.10 .
I have put the freetype2 files into cross\plugins\FT2Plugin so i have this
structure...
    cross
        \plugins
            \FT2Plugin
                freetype.lib
                freetype.lib.o
                ft2build.h
                \freetype
                    a whole bunch of .h files (freetype.h ... ttunpat.h)
                    some folders (\cache \config \internal)

These files get copied over into the win32\plugins\FT2Plugin

When I run build.bat I get this error message....
---

make[1]: Entering directory
`E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugi
ns/FT2Plugin'
dlltool \
        --output-def ./FT2Plugin.def \
        --output-exp ./FT2Plugin.exp \
        --output-lib ./FT2Plugin.lib \
        FT2Plugin.o
dllwrap -mwindows \
        -def ./FT2Plugin.def \
        -o   ./FT2Plugin.dll \
        -lddraw -ldinput -lopengl32 -lwsock32 -lcomdlg32 -lole32 -lwinmm -lu
ser3
2 -lgdi32 -lkernel32 -lcrtdll \
        ./FT2Plugin.exp \
        FT2Plugin.o
FT2Plugin.o: In function `primitiveDoneFace':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:321
: undefined reference to `FT_Done_Face'
FT2Plugin.o: In function `primitiveGetCharIndex':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:405
: undefined reference to `FT_Get_Char_Index'
FT2Plugin.o: In function `primitiveGetFaceGlyphName':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:525
: undefined reference to `FT_Get_Glyph_Name'
FT2Plugin.o: In function `primitiveLoadCharacter':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:583
: undefined reference to `FT_Load_Char'
FT2Plugin.o: In function `primitiveLoadGlyph':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:720
: undefined reference to `FT_Load_Glyph'
FT2Plugin.o: In function `primitiveNewFaceFromFileAndIndex':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:849
: undefined reference to `sqFilenameFromString'
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:851
: undefined reference to `FT_New_Face'
FT2Plugin.o: In function `primitiveRenderGlyphIntoForm':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:893
: undefined reference to `FT_Outline_Get_Bitmap'
FT2Plugin.o: In function `primitiveSetFaceCharMap':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:941
: undefined reference to `FT_Select_Charmap'
FT2Plugin.o: In function `primitiveSetPixelSizes':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:973
: undefined reference to `FT_Set_Pixel_Sizes'
FT2Plugin.o: In function `primitiveSetTransform':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:101
0: undefined reference to `FT_Set_Transform'
FT2Plugin.o: In function `primitiveVersion':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:103
3: undefined reference to `FT_Library_Version'
FT2Plugin.o: In function `initialiseModule':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:289
: undefined reference to `FT_Init_FreeType'
FT2Plugin.o: In function `shutdownModule':
//E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/FT2Plugin.c
:106
3: undefined reference to `FT_Done_FreeType'
dllwrap: gcc exited with status 1
make[1]: *** [makedll] Error 1
make[1]: Leaving directory
`E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugin
s/FT2Plugin'
make: *** [FT2Plugin.dll] Error 2

---
I think I may have the wrong freetype files in the wrong place.
Do you know what I am doing wrong?

Cheers,
Andy

----- Original Message -----
From: "Bert Freudenberg" <[hidden email]>
Newsgroups: gmane.comp.lang.smalltalk.squeak.general
Sent: Tuesday, March 21, 2006 3:44 PM
Subject: Re: Henrik antialising



Am 21.03.2006 um 14:51 schrieb Andrew Tween:

> Hi Bert,
> I would very much like to adapt my sub-pixel work to use your
> Freetype2
> plugin.
>
> How should I proceed with installing it? In particular...
>
> Which image should I use, 3.7, 3.8, 3.9, any particular configuration?

Only tested on 3.8

> Which packages should I load?

compiling the plugin: Freetype-Base + Freetype-Plugin

using / testing: Freetype-Base + Freetype-Fonts

installing sample fonts: Freetype-Vera (depends on Freetype-Fonts)

There are two config maps at the bottom of http://source.impara.de/
freetype/ but they do not point to the latest versions.


>     I have tried loading stuff, but get various errors, for example...
>         When I try to load Freetype-Base-JMM.40.mcz into latest 3.9
> I get...
>             This package depends on the following classes:
>               CTransformCanvas
>
>     Is there some other stuff I need first?

Uggh, that stuff should not be in that package ... seems to have been
slipped in by some Sophie developer (CTransformCanvas is used by Tweak).

You should be able to ignore the warning and load the package
anyways, no?

> How would I then set things up for building a VM & plugin for Windows?
>     Do I need to obtain the source for a specific version of
> Freetype2 ?
>     (When I built a custom VM for my new BitBlt mode, I found that
> I had to
> do this from 3.7 Full.
>     3.8 and later caused errors, but I didn't have time to
> investigate)

Hmm, not sure about the Windows plugin ... someone compiled it for
Sophie, so it works, somehow ;-)

If you do it as external plugin it shouldn't matter if it is 3.7 or
3.8, so use whatever works for you.

- Bert -



> ----- Original Message -----
> From: "Bert Freudenberg" <[hidden email]>
> Newsgroups: gmane.comp.lang.smalltalk.squeak.general
> Sent: Tuesday, March 21, 2006 9:41 AM
> Subject: Re: Henrik antialising
>
>
>
> Am 21.03.2006 um 08:43 schrieb stéphane ducasse:
>
>> Hi guys
>>
>> did one of you hear about andy tween the cool father of SHOUT.
>> Way back he said that he was willing to harvest Henrik antialiasing
>> font rendering.
>
> Don't know. But for Sophie I revived Ned's Freetype2 Plugin:
>
> http://source.impara.de/freetype.html
>
> The integration with regular Squeak fonts is a bit immature (Sophie
> uses its own font management) but it should be a start.
>
> What would be cool is if someone would take this and make a higher-
> quality renderer for the TTCFonts - if the plugin is available,
> render nicely sub-pixel antialiased glyphs with Freetype, otherwise
> fall back to the currently used blurry BalloonEngine rendering.
>
> - Bert -
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

johnmci
Those are the FreeType api entry points, you need to ensure the  
linker can find the
libfreetype.a, likely you need a -lfreetype on  your unix linker cmd  
line.

Can't speak for windows at this point.

I will note on OS-X I downloaded and compiled freetype-2.1.10 then  
built it for PPC and MacIntel then linked them into a universal
binary for the FreeType2 plugin for Sophie. Although you can link as  
weak references and have the entry points resolved at run time this
only works if the OS-X user has installed X-11 on his machine, an  
optional choice.


On 21-Mar-06, at 11:10 AM, Andrew Tween wrote:

> : undefined reference to `FT_Init_FreeType'
> FT2Plugin.o: In function `shutdownModule':
> //E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/
> FT2Plugin.c
> :106
> 3: undefined reference to `FT_Done_FreeType'
> dllwrap: gcc exited with status 1
> make[1]: *** [makedll] Error 1
> make[1]: Leaving directory
> `E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugin
> s/FT2Plugin'
> make: *** [FT2Plugin.dll] Error 2
>
> ---
> I think I may have the wrong freetype files in the wrong place.
> Do you know what I am doing wrong?

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


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Bert Freudenberg-3
In reply to this post by Andrew Tween
Am 21.03.2006 um 20:10 schrieb Andrew Tween:

> make[1]: Entering directory
> `E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugi
> ns/FT2Plugin'
> dlltool \
>         --output-def ./FT2Plugin.def \
>         --output-exp ./FT2Plugin.exp \
>         --output-lib ./FT2Plugin.lib \
>         FT2Plugin.o
> dllwrap -mwindows \
>         -def ./FT2Plugin.def \
>         -o   ./FT2Plugin.dll \
>         -lddraw -ldinput -lopengl32 -lwsock32 -lcomdlg32 -lole32 -
> lwinmm -luser32 -lgdi32 -lkernel32 -lcrtdll \
>         ./FT2Plugin.exp \
>         FT2Plugin.o
> FT2Plugin.o: In function `primitiveDoneFace':
> //E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/
> FT2Plugin.c
> :321
> : undefined reference to `FT_Done_Face'
> ---
> I think I may have the wrong freetype files in the wrong place.
> Do you know what I am doing wrong?

I have no idea about compiling on Windows ... but I'd suspect you'ld  
have to tell the linker to link with the freetype lib, like "-
lfreetype" or the like.

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Andrew Tween
In reply to this post by johnmci
After much fiddling about, I have now compiled a VM with an internal
FT2Plugin.
(I had to rename freetype.a to libfreetype.a and put it in the compiler's
lib folder.
Then add a -lfreetype to the make .
Then copy the definition of sqFilenameFromString from sq,h into the top of
sqPlatformSpecific.h )

Many thanks for everyone's help.

I am now trying to install Freetype-Fonts-JMM.8.mcz and I get this
Warning...
    This package depends on the following classes:
         VectorFont
            You must resolve these dependencies before you will be able to
load these definitions:
                  FreetypeFont
                 FreetypeFont
class>>colorMapForegroundColor:backgroundColor:
     etc....

If I proceed then there are no further errors, but the FreetypeFont class is
absent.
Do you know where the VectorFont can be installed from?
Cheers,
Andy

----- Original Message -----
From: "John M McIntosh" <[hidden email]>
Newsgroups: gmane.comp.lang.smalltalk.squeak.general
Sent: Tuesday, March 21, 2006 7:37 PM
Subject: Re: Henrik antialising


> Those are the FreeType api entry points, you need to ensure the
> linker can find the
> libfreetype.a, likely you need a -lfreetype on  your unix linker cmd
> line.
>
> Can't speak for windows at this point.
>
> I will note on OS-X I downloaded and compiled freetype-2.1.10 then
> built it for PPC and MacIntel then linked them into a universal
> binary for the FreeType2 plugin for Sophie. Although you can link as
> weak references and have the entry points resolved at run time this
> only works if the OS-X user has installed X-11 on his machine, an
> optional choice.
>
>
> On 21-Mar-06, at 11:10 AM, Andrew Tween wrote:
>
> > : undefined reference to `FT_Init_FreeType'
> > FT2Plugin.o: In function `shutdownModule':
> > //E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/
> > FT2Plugin.c
> > :106
> > 3: undefined reference to `FT_Done_FreeType'
> > dllwrap: gcc exited with status 1
> > make[1]: *** [makedll] Error 1
> > make[1]: Leaving directory
> > `E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugin
> > s/FT2Plugin'
> > make: *** [FT2Plugin.dll] Error 2
> >
> > ---
> > I think I may have the wrong freetype files in the wrong place.
> > Do you know what I am doing wrong?
>
> --
> ========================================================================
> ===
> John M. McIntosh <[hidden email]> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ========================================================================
> ===
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

johnmci
That's in "Multilingual-Display"

a sophie package


On 21-Mar-06, at 4:02 PM, Andrew Tween wrote:

> After much fiddling about, I have now compiled a VM with an internal
> FT2Plugin.
> (I had to rename freetype.a to libfreetype.a and put it in the  
> compiler's
> lib folder.
> Then add a -lfreetype to the make .
> Then copy the definition of sqFilenameFromString from sq,h into the  
> top of
> sqPlatformSpecific.h )
>
> Many thanks for everyone's help.
>
> I am now trying to install Freetype-Fonts-JMM.8.mcz and I get this
> Warning...
>     This package depends on the following classes:
>          VectorFont
>             You must resolve these dependencies before you will be  
> able to
> load these definitions:
>                   FreetypeFont
>                  FreetypeFont
> class>>colorMapForegroundColor:backgroundColor:
>      etc....
>
> If I proceed then there are no further errors, but the FreetypeFont  
> class is
> absent.
> Do you know where the VectorFont can be installed from?
> Cheers,
> Andy
>
> ----- Original Message -----
> From: "John M McIntosh" <[hidden email]>
> Newsgroups: gmane.comp.lang.smalltalk.squeak.general
> Sent: Tuesday, March 21, 2006 7:37 PM
> Subject: Re: Henrik antialising
>
>
>> Those are the FreeType api entry points, you need to ensure the
>> linker can find the
>> libfreetype.a, likely you need a -lfreetype on  your unix linker cmd
>> line.
>>
>> Can't speak for windows at this point.
>>
>> I will note on OS-X I downloaded and compiled freetype-2.1.10 then
>> built it for PPC and MacIntel then linked them into a universal
>> binary for the FreeType2 plugin for Sophie. Although you can link as
>> weak references and have the entry points resolved at run time this
>> only works if the OS-X user has installed X-11 on his machine, an
>> optional choice.
>>
>>
>> On 21-Mar-06, at 11:10 AM, Andrew Tween wrote:
>>
>>> : undefined reference to `FT_Init_FreeType'
>>> FT2Plugin.o: In function `shutdownModule':
>>> //E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/
>>> FT2Plugin.c
>>> :106
>>> 3: undefined reference to `FT_Done_FreeType'
>>> dllwrap: gcc exited with status 1
>>> make[1]: *** [makedll] Error 1
>>> make[1]: Leaving directory
>>> `E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugin
>>> s/FT2Plugin'
>>> make: *** [FT2Plugin.dll] Error 2
>>>
>>> ---
>>> I think I may have the wrong freetype files in the wrong place.
>>> Do you know what I am doing wrong?
>>
>> --
>> =====================================================================
>> ===
>> ===
>> John M. McIntosh <[hidden email]> 1-800-477-2659
>> Corporate Smalltalk Consulting Ltd.  http://
>> www.smalltalkconsulting.com
>> =====================================================================
>> ===
>> ===
>>
>>
>>
>

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


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Andrew Tween
Thanks,
I've now got everything installed (in a 3.8 image), and the Vera fonts are
rendering correctly.
It looks very good.

(I had to also install SophieFontManager to get SophieFontEmphasisEncoder
and I had to evaluate 'TTCFont initialize' in an emergency evaluator
after loading. There was a walback just after loading, and before the
initialize
method ran. To be safe, I then loaded all the packages again.)

I can now start to move some of my sub-pixel code over, and I'll let you
know how it goes.
Thanks again for your help,
Cheers,
Andy

----- Original Message -----
From: "John M McIntosh" <[hidden email]>
Newsgroups: gmane.comp.lang.smalltalk.squeak.general
Sent: Wednesday, March 22, 2006 2:01 AM
Subject: Re: Henrik antialising


> That's in "Multilingual-Display"
>
> a sophie package
>
>
> On 21-Mar-06, at 4:02 PM, Andrew Tween wrote:
>
> > After much fiddling about, I have now compiled a VM with an internal
> > FT2Plugin.
> > (I had to rename freetype.a to libfreetype.a and put it in the
> > compiler's
> > lib folder.
> > Then add a -lfreetype to the make .
> > Then copy the definition of sqFilenameFromString from sq,h into the
> > top of
> > sqPlatformSpecific.h )
> >
> > Many thanks for everyone's help.
> >
> > I am now trying to install Freetype-Fonts-JMM.8.mcz and I get this
> > Warning...
> >     This package depends on the following classes:
> >          VectorFont
> >             You must resolve these dependencies before you will be
> > able to
> > load these definitions:
> >                   FreetypeFont
> >                  FreetypeFont
> > class>>colorMapForegroundColor:backgroundColor:
> >      etc....
> >
> > If I proceed then there are no further errors, but the FreetypeFont
> > class is
> > absent.
> > Do you know where the VectorFont can be installed from?
> > Cheers,
> > Andy
> >
> > ----- Original Message -----
> > From: "John M McIntosh" <[hidden email]>
> > Newsgroups: gmane.comp.lang.smalltalk.squeak.general
> > Sent: Tuesday, March 21, 2006 7:37 PM
> > Subject: Re: Henrik antialising
> >
> >
> >> Those are the FreeType api entry points, you need to ensure the
> >> linker can find the
> >> libfreetype.a, likely you need a -lfreetype on  your unix linker cmd
> >> line.
> >>
> >> Can't speak for windows at this point.
> >>
> >> I will note on OS-X I downloaded and compiled freetype-2.1.10 then
> >> built it for PPC and MacIntel then linked them into a universal
> >> binary for the FreeType2 plugin for Sophie. Although you can link as
> >> weak references and have the entry points resolved at run time this
> >> only works if the OS-X user has installed X-11 on his machine, an
> >> optional choice.
> >>
> >>
> >> On 21-Mar-06, at 11:10 AM, Andrew Tween wrote:
> >>
> >>> : undefined reference to `FT_Init_FreeType'
> >>> FT2Plugin.o: In function `shutdownModule':
> >>> //E/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugins/FT2Plugin/
> >>> FT2Plugin.c
> >>> :106
> >>> 3: undefined reference to `FT_Done_FreeType'
> >>> dllwrap: gcc exited with status 1
> >>> make[1]: *** [makedll] Error 1
> >>> make[1]: Leaving directory
> >>> `E:/squeaks/Squeak-Win32-3.7.1-src/3.7.1/win32/plugin
> >>> s/FT2Plugin'
> >>> make: *** [FT2Plugin.dll] Error 2
> >>>
> >>> ---
> >>> I think I may have the wrong freetype files in the wrong place.
> >>> Do you know what I am doing wrong?
> >>
> >> --
> >> =====================================================================
> >> ===
> >> ===
> >> John M. McIntosh <[hidden email]> 1-800-477-2659
> >> Corporate Smalltalk Consulting Ltd.  http://
> >> www.smalltalkconsulting.com
> >> =====================================================================
> >> ===
> >> ===
> >>
> >>
> >>
> >
>
> --
> ========================================================================
> ===
> John M. McIntosh <[hidden email]> 1-800-477-2659
> Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
> ========================================================================
> ===
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

johnmci
Ok, I'll note someone needs to restructure this and likely rename the  
SophieFontEmphasisEncoder and the encoding instance variable name,
it's on my todo list, but likely not going to happen for many months.

What lead to the emphasis change was a need for something else than  
magic numbers to store emphasis information that comes from the font,  
such as narrow-condensed-light-italic...

The adding of VectorFont and altering how of the emphasis encoding  
was done, and the required rebuilding, likely resulted in the  
walkback, and was a er *source of discussion* within the Sophie team  
when I whacked them with it last fall, as you see it's a bit better,  
still not perfect yet.

On 21-Mar-06, at 7:39 PM, Andrew Tween wrote:

> Thanks,
> I've now got everything installed (in a 3.8 image), and the Vera  
> fonts are
> rendering correctly.
> It looks very good.
>
> (I had to also install SophieFontManager to get  
> SophieFontEmphasisEncoder
> and I had to evaluate 'TTCFont initialize' in an emergency evaluator
> after loading. There was a walback just after loading, and before the
> initialize
> method ran. To be safe, I then loaded all the packages again.)
>
> I can now start to move some of my sub-pixel code over, and I'll  
> let you
> know how it goes.
> Thanks again for your help,
> Cheers,

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


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

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

this is really good to get such a kind of news. I'm really impressed.  
I should learn
and try to do something too.

One guy is working on Gutenberg a new pretty printer in VW. As soon  
as it will be working
and tests are green I will port it to squeak (would be cool with  
shout). I imagine typing and seeing the
code colored and put at the right place (we can dream).

PS: Shout is working so well with the students (thanks thanks thanks).

On 21 mars 06, at 12:24, Andrew Tween wrote:

> Hi Stef,
> Sorry about that. I'll check my e-mail settings.
>
> Here is an update on the sub-pixel anti-aliasing work I have been  
> doing...
>
> I ported some of Henrik's sub-pixel rendering code to 3.9.
> Enough to get the fonts that he had produced to load, and display.
> But, since his work was unfinished, there are some things which  
> don't work.
> (This is not a criticism of Henrik, the comments in his code  
> indicate that
> he was intending to work on these things).
> Specifically, from Henrik's project notes...
>     "No support for synthetic variants (emboldened, underline  
> etc.), nor
> colored type.
>      No bg color other than white in paragraphs (but in QuickPrint)
>      Doesn't work properly in other than 32 bit display depth (for  
> Squeak)
> because of BitBlt limitations. "
>
> The lack of support for coloured text means that it doesn't work  
> with Shout.
> I am extremely reluctant to release/support 2 packages that don't  
> work with
> each other.
>
> The production of the stretched character glyphs, in Henrik's code,  
> relied
> on the Freetype library.
> Other people are working on interfacing to Freetype (the Sophie  
> project, for
> example), and I don't want to duplicate their efforts by 'doing my own
> thing'.
>
> For the reason's above, I have started from a blank sheet, with  
> these goals.
>     1. Must work with, or without, Freetype. (i.e. work with  
> exisiting TTF
> support)
>     2. Must support any foreground/background colour combination  
> (including
> Transparency).
>     3. Should work with any display depth (or at least with >= 8 bit)
>     4. Would be nice to also fix the advance width problem (enable  
> glyphs to
> overlap)
>     5. Awareness of any patent issues.
>         I don't know what we can/should do about those patent  
> issues, but at
> least we can make informed decisions.
>
> I have made some progress on this...
>
>     I have created a new BitBlt mode that has a separate alpha  
> channel for
> each rgb subcomponent.
>         This enables Transparency/Translucency, and means that  
> there is no
> need to cache separate glyphs per foreground colour.
>         At the moment this only works with 32 bit display depth, and
> requires a patched VM.
>
>     I can create stretched glyphs using the existing Balloon /TTF  
> rendering.
>         These are still blurry (mainly in the vertical direction.  
> This is
> due to no hinting/grid fitting).
>         It is also very slow - I haven't improved the TTCFont  
> caching, so
> the caches keep getting rebuilt.
>
>     I can fake the Freetype support by using Windows API to create
> stretched/hinted/grid fitted glyphs.
>         This works well, text is very clear, but there are issues  
> with some
> italic glyphs becoming distorted.
>         I think this is a bug in the Windows API.
>
>    I have researched the patents that apply in this area.
>         So far I have uncovered 16 US, and 1 worldwide patent held/
> applied
> for by Microsoft.
>
> So, work is progressing, as time allows, but time is in short  
> supply at the
> moment.
>
> I am deliberately hesitating before sharing any of this stuff, mainly
> because of the patent issues,
> but also because I want to get it working with Freetype first.
>
> More later...
> Cheers,
> Andy
>
> ----- Original Message -----
> From: "stéphane ducasse" <[hidden email]>
> To: "The general-purpose Squeak developers list"
> <[hidden email]>
> Sent: Tuesday, March 21, 2006 7:43 AM
> Subject: Henrik antialising
>
>
>> Hi guys
>>
>> did one of you hear about andy tween the cool father of SHOUT.
>> Way back he said that he was willing to harvest Henrik antialiasing
>> font rendering.
>> I tried to contact him but got no reply (may be a spam filter  
>> problem).
>>
>> Stef
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Bert Freudenberg-3
In reply to this post by Andrew Tween

Am 22.03.2006 um 01:02 schrieb Andrew Tween:

>
> I am now trying to install Freetype-Fonts-JMM.8.mcz and I get this
> Warning...
>     This package depends on the following classes:
>          VectorFont
>             You must resolve these dependencies before you will be  
> able to
> load these definitions:
>                   FreetypeFont
>                  FreetypeFont
> class>>colorMapForegroundColor:backgroundColor:
>      etc....

If you go back to Freetype-Fonts-bf.6.mcz it should not depend on  
VectorFont but still be an AbstractFont subclass. But of course maybe  
the other packages changed in the mean time too (I handed off my  
initial work to John). Anyway, this config map once worked:

        http://source.impara.de/freetype/Install.mcm

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Andrew Tween
In reply to this post by stéphane ducasse-2
Hi Stef,
That sounds good. I will be interested to see the new Pretty Printer.
Is any of it public yet?
And I'm pleased that Shout is still working well for you,
Cheers,
Andy


----- Original Message -----
From: "stéphane ducasse" <[hidden email]>
Newsgroups: gmane.comp.lang.smalltalk.squeak.general
Sent: Wednesday, March 22, 2006 7:41 AM
Subject: Re: Henrik antialising


Thanks andy

this is really good to get such a kind of news. I'm really impressed.
I should learn
and try to do something too.

One guy is working on Gutenberg a new pretty printer in VW. As soon
as it will be working
and tests are green I will port it to squeak (would be cool with
shout). I imagine typing and seeing the
code colored and put at the right place (we can dream).

PS: Shout is working so well with the students (thanks thanks thanks).

On 21 mars 06, at 12:24, Andrew Tween wrote:

> Hi Stef,
> Sorry about that. I'll check my e-mail settings.
>
> Here is an update on the sub-pixel anti-aliasing work I have been
> doing...
>
> I ported some of Henrik's sub-pixel rendering code to 3.9.
> Enough to get the fonts that he had produced to load, and display.
> But, since his work was unfinished, there are some things which
> don't work.
> (This is not a criticism of Henrik, the comments in his code
> indicate that
> he was intending to work on these things).
> Specifically, from Henrik's project notes...
>     "No support for synthetic variants (emboldened, underline
> etc.), nor
> colored type.
>      No bg color other than white in paragraphs (but in QuickPrint)
>      Doesn't work properly in other than 32 bit display depth (for
> Squeak)
> because of BitBlt limitations. "
>
> The lack of support for coloured text means that it doesn't work
> with Shout.
> I am extremely reluctant to release/support 2 packages that don't
> work with
> each other.
>
> The production of the stretched character glyphs, in Henrik's code,
> relied
> on the Freetype library.
> Other people are working on interfacing to Freetype (the Sophie
> project, for
> example), and I don't want to duplicate their efforts by 'doing my own
> thing'.
>
> For the reason's above, I have started from a blank sheet, with
> these goals.
>     1. Must work with, or without, Freetype. (i.e. work with
> exisiting TTF
> support)
>     2. Must support any foreground/background colour combination
> (including
> Transparency).
>     3. Should work with any display depth (or at least with >= 8 bit)
>     4. Would be nice to also fix the advance width problem (enable
> glyphs to
> overlap)
>     5. Awareness of any patent issues.
>         I don't know what we can/should do about those patent
> issues, but at
> least we can make informed decisions.
>
> I have made some progress on this...
>
>     I have created a new BitBlt mode that has a separate alpha
> channel for
> each rgb subcomponent.
>         This enables Transparency/Translucency, and means that
> there is no
> need to cache separate glyphs per foreground colour.
>         At the moment this only works with 32 bit display depth, and
> requires a patched VM.
>
>     I can create stretched glyphs using the existing Balloon /TTF
> rendering.
>         These are still blurry (mainly in the vertical direction.
> This is
> due to no hinting/grid fitting).
>         It is also very slow - I haven't improved the TTCFont
> caching, so
> the caches keep getting rebuilt.
>
>     I can fake the Freetype support by using Windows API to create
> stretched/hinted/grid fitted glyphs.
>         This works well, text is very clear, but there are issues
> with some
> italic glyphs becoming distorted.
>         I think this is a bug in the Windows API.
>
>    I have researched the patents that apply in this area.
>         So far I have uncovered 16 US, and 1 worldwide patent held/
> applied
> for by Microsoft.
>
> So, work is progressing, as time allows, but time is in short
> supply at the
> moment.
>
> I am deliberately hesitating before sharing any of this stuff, mainly
> because of the patent issues,
> but also because I want to get it working with Freetype first.
>
> More later...
> Cheers,
> Andy
>
> ----- Original Message -----
> From: "stéphane ducasse" <[hidden email]>
> To: "The general-purpose Squeak developers list"
> <[hidden email]>
> Sent: Tuesday, March 21, 2006 7:43 AM
> Subject: Henrik antialising
>
>
>> Hi guys
>>
>> did one of you hear about andy tween the cool father of SHOUT.
>> Way back he said that he was willing to harvest Henrik antialiasing
>> font rendering.
>> I tried to contact him but got no reply (may be a spam filter
>> problem).
>>
>> Stef
>>
>>
>



Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Hilaire Fernandes-5
Andrew Tween a écrit :
> Hi Stef,
> That sounds good. I will be interested to see the new Pretty Printer.
> Is any of it public yet?
> And I'm pleased that Shout is still working well for you,

Shout, I can't live without it!

Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

garduino
In reply to this post by Andrew Tween
2006/3/22, Andrew Tween <[hidden email]>:
> And I'm pleased that Shout is still working well for you,
> Cheers,
> Andy
>

Also work very well for me. It's a default in any of each images I
own, Shout is the first package I install in every image I use!

Thanks by Shout.
gsa.

Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

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

On 22 mars 06, at 11:03, Andrew Tween wrote:

> Hi Stef,
> That sounds good. I will be interested to see the new Pretty Printer.

:)

> Is any of it public yet?

Damien published a beta in our local store (I could give you access  
to it).
But first I think that we should check if this is working :)


> And I'm pleased that Shout is still working well for you,
> Cheers,
> Andy
>
>
> ----- Original Message -----
> From: "stéphane ducasse" <[hidden email]>
> Newsgroups: gmane.comp.lang.smalltalk.squeak.general
> Sent: Wednesday, March 22, 2006 7:41 AM
> Subject: Re: Henrik antialising
>
>
> Thanks andy
>
> this is really good to get such a kind of news. I'm really impressed.
> I should learn
> and try to do something too.
>
> One guy is working on Gutenberg a new pretty printer in VW. As soon
> as it will be working
> and tests are green I will port it to squeak (would be cool with
> shout). I imagine typing and seeing the
> code colored and put at the right place (we can dream).
>
> PS: Shout is working so well with the students (thanks thanks thanks).
>
> On 21 mars 06, at 12:24, Andrew Tween wrote:
>
>> Hi Stef,
>> Sorry about that. I'll check my e-mail settings.
>>
>> Here is an update on the sub-pixel anti-aliasing work I have been
>> doing...
>>
>> I ported some of Henrik's sub-pixel rendering code to 3.9.
>> Enough to get the fonts that he had produced to load, and display.
>> But, since his work was unfinished, there are some things which
>> don't work.
>> (This is not a criticism of Henrik, the comments in his code
>> indicate that
>> he was intending to work on these things).
>> Specifically, from Henrik's project notes...
>>     "No support for synthetic variants (emboldened, underline
>> etc.), nor
>> colored type.
>>      No bg color other than white in paragraphs (but in QuickPrint)
>>      Doesn't work properly in other than 32 bit display depth (for
>> Squeak)
>> because of BitBlt limitations. "
>>
>> The lack of support for coloured text means that it doesn't work
>> with Shout.
>> I am extremely reluctant to release/support 2 packages that don't
>> work with
>> each other.
>>
>> The production of the stretched character glyphs, in Henrik's code,
>> relied
>> on the Freetype library.
>> Other people are working on interfacing to Freetype (the Sophie
>> project, for
>> example), and I don't want to duplicate their efforts by 'doing my  
>> own
>> thing'.
>>
>> For the reason's above, I have started from a blank sheet, with
>> these goals.
>>     1. Must work with, or without, Freetype. (i.e. work with
>> exisiting TTF
>> support)
>>     2. Must support any foreground/background colour combination
>> (including
>> Transparency).
>>     3. Should work with any display depth (or at least with >= 8 bit)
>>     4. Would be nice to also fix the advance width problem (enable
>> glyphs to
>> overlap)
>>     5. Awareness of any patent issues.
>>         I don't know what we can/should do about those patent
>> issues, but at
>> least we can make informed decisions.
>>
>> I have made some progress on this...
>>
>>     I have created a new BitBlt mode that has a separate alpha
>> channel for
>> each rgb subcomponent.
>>         This enables Transparency/Translucency, and means that
>> there is no
>> need to cache separate glyphs per foreground colour.
>>         At the moment this only works with 32 bit display depth, and
>> requires a patched VM.
>>
>>     I can create stretched glyphs using the existing Balloon /TTF
>> rendering.
>>         These are still blurry (mainly in the vertical direction.
>> This is
>> due to no hinting/grid fitting).
>>         It is also very slow - I haven't improved the TTCFont
>> caching, so
>> the caches keep getting rebuilt.
>>
>>     I can fake the Freetype support by using Windows API to create
>> stretched/hinted/grid fitted glyphs.
>>         This works well, text is very clear, but there are issues
>> with some
>> italic glyphs becoming distorted.
>>         I think this is a bug in the Windows API.
>>
>>    I have researched the patents that apply in this area.
>>         So far I have uncovered 16 US, and 1 worldwide patent held/
>> applied
>> for by Microsoft.
>>
>> So, work is progressing, as time allows, but time is in short
>> supply at the
>> moment.
>>
>> I am deliberately hesitating before sharing any of this stuff, mainly
>> because of the patent issues,
>> but also because I want to get it working with Freetype first.
>>
>> More later...
>> Cheers,
>> Andy
>>
>> ----- Original Message -----
>> From: "stéphane ducasse" <[hidden email]>
>> To: "The general-purpose Squeak developers list"
>> <[hidden email]>
>> Sent: Tuesday, March 21, 2006 7:43 AM
>> Subject: Henrik antialising
>>
>>
>>> Hi guys
>>>
>>> did one of you hear about andy tween the cool father of SHOUT.
>>> Way back he said that he was willing to harvest Henrik antialiasing
>>> font rendering.
>>> I tried to contact him but got no reply (may be a spam filter
>>> problem).
>>>
>>> Stef
>>>
>>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Henrik antialising

Diego Gomez Deck
In reply to this post by Andrew Tween
Hi Andrew,

> I've now got everything installed (in a 3.8 image), and the Vera fonts are
> rendering correctly.
> It looks very good.

Please send the mandatory screenshot.

Cheers,

-- Diego



123