freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ft-devel] module inclusion/exclusion (was: Migrating layout table valid


From: Detlef Würkner
Subject: [ft-devel] module inclusion/exclusion (was: Migrating layout table validation code to a new CVS module)
Date: Sun, 20 Nov 2005 09:31:33 +0100

address@hidden (Werner LEMBERG) wrote:

> I'll try to modify the building system of FreeType to make it easier
> to include and remove modules.  Then, the default will be simply to
> exclude both ftvalid and gxvalid.  After this, we have *enough* time
> to fix those issues step by step.
[...]
> > About plugin, it is good idea (although I'm afraid that FreeType is
> > very very widely used on platforms without dlopen etc), but it will
> > be long way work.  It should be FreeType3, even if the binary
> > compatibility is kept.
> 
> Indeed, it will take some time to find proper solutions.  No need to
> hurry.

For systems that dont support dlopen() and only support static linking,
the Amiga build can be used as example. It builds a libft2.a with all
modules and contains a ftmodule.h file that starts like

/*
 * To avoid that all your programs include all FreeType modules,
 * you copy the following piece of source code into your own
 * source file and specify which modules you really need in your
 * application by uncommenting the appropriate lines.
 */
/*
//#define FT_USE_AUTOFIT // autofitter
//#define FT_USE_RASTER  // monochrome rasterizer
//#define FT_USE_SMOOTH  // anti-aliasing rasterizer
//#define FT_USE_TT      // truetype font driver
//#define FT_USE_T1      // type1 font driver
//#define FT_USE_T42     // type42 font driver
//#define FT_USE_T1CID   // cid-keyed type1 font driver  // no cmap support
//#define FT_USE_CFF     // opentype font driver
//#define FT_USE_BDF     // bdf bitmap font driver
//#define FT_USE_PCF     // pcf bitmap font driver
//#define FT_USE_PFR     // pfr font driver
//#define FT_USE_WINFNT  // windows .fnt|.fon bitmap font driver
//#define FT_USE_OTV     // opentype validator
//#define FT_USE_GXV     // truetype gx validator
#include "FT:src/base/ftinit.c"
*/

This way its possible to define at compile time which modules shall be
linked from libft2.a. When not using this, all modules will be included
because libft2.a contains a default version of
ftinit.o/FT_Add_Default_Modules().

So when you add support for dlopen() etc and dynamic loading of modules
it would be nice if thats placed in a separate file so its only an
optional solution. And sorry if you already had that in mind :)

Ciao, Detlef
-- 
_ // address@hidden
\X/  Detlef Wuerkner, Langgoens/Germany




reply via email to

[Prev in Thread] Current Thread [Next in Thread]