| Instructions on how to build FreeType with your own build tool: |
| |
| see the file "CUSTOMIZE" to learn how to customize FreeType to |
| specific environments. |
| |
| follow these simple steps: |
| |
| I. Normal way: |
| -------------- |
| |
| * DISABLE PRE-COMPILED HEADERS ! This is very important for Visual |
| C++, because FreeType uses lines like: |
| |
| #include FT_FREETYPE_H |
| |
| which are not correctly supported by this compiler, while being |
| ISO C compliant !! |
| |
| * You need to add the directories "freetype2/include" to your include |
| path when compiling the library. |
| |
| * FreeType 2 is made of several components; each one of them is |
| located in a subdirectory of "freetype2/src". For example, |
| 'freetype2/src/truetype/' contains the TrueType font driver. |
| |
| * DO NOT COMPILE ALL C FILES! Rather, compile the following ones: |
| |
| -- base components (required) |
| |
| src/base/ftsystem.c |
| src/base/ftinit.c |
| src/base/ftdebug.c |
| src/base/ftbase.c |
| src/base/ftglyph.c |
| src/base/ftbbox.c |
| src/base/ftmm.c |
| src/base/ftpfr.c -- optional, see <freetype/ftpfr.h> |
| src/base/ftbdf.c -- optional, see <freetype/ftbdf.h> |
| src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h> |
| |
| src/base/ftmac.c -- only on the Macintosh |
| |
| -- other components are optional |
| |
| src/autohint/autohint.c -- auto hinting module |
| src/cache/ftcache.c -- cache sub-system (in beta) |
| src/sfnt/sfnt.c -- SFNT files support |
| (TrueType & OpenType) |
| src/cff/cff.c -- CFF/OpenType font driver |
| src/pfr/pfr.c -- PFR/TrueDoc font driver |
| src/bdf/bdf.c -- BDF font driver |
| src/pcf/pcf.c -- PCF font driver |
| src/psnames/psnames.c -- Postscript glyph names support |
| src/psaux/psaux.c -- Postscript Type 1 parsing |
| src/truetype/truetype.c -- TrueType font driver |
| src/type1/type1.c -- Type 1 font driver |
| src/cid/type1cid.c -- Type 1 CID-keyed font driver |
| src/winfonts/winfonts.c -- Windows FONT / FNT font driver |
| src/raster1/raster1.c -- monochrome rasterizer |
| src/smooth/smooth.c -- anti-aliasing rasterizer |
| |
| Note: |
| |
| `truetype.c' needs `sfnt.c' and `psnames.c' |
| `type1.c' needs `psaux.c' and `psnames.c' |
| `type1cid.c' needs `psaux.c' and `psnames.c' |
| `cff.c' needs `sfnt.c', `psaux.c', and `psnames.c' |
| |
| that should be it ! in case of problems, see the archives of |
| the FreeType development mailing list. |
| |
| |
| II. Support for flat-directory compilation |
| ------------------------------------------ |
| |
| It is possible to put all FreeType 2 source files into a single |
| directory, with the *exception* of the `include' hierarchy. |
| |
| 1. Copy all files in current directory: |
| |
| cp freetype2/src/base/*.[hc] . |
| cp freetype2/src/raster1/*.[hc] . |
| cp freetype2/src/smooth/*.[hc] . |
| etc. |
| |
| 2. Compile sources: |
| |
| cc -c -Ifreetype2/include ftsystem.c |
| cc -c -Ifreetype2/include ftinit.c |
| cc -c -Ifreetype2/include ftdebug.c |
| cc -c -Ifreetype2/include ftbase.c |
| etc. |
| |
| You don't need to define the FT_FLAT_COMPILATION macro (as this was |
| required in previous releases of FreeType 2). |
| |