Henrik antialising

Andrew Tween amtween at hotmail.com
Tue Mar 21 19:10:06 UTC 2006


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" <bert at impara.de>
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" <bert at impara.de>
> 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 -
>
>






More information about the Squeak-dev mailing list