diff --git a/ChangeLog b/ChangeLog index 79592d9c0..a960b28ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2001-03-20 David Turner + * include/freetype/config/ftheader.h, include/freetype/ftsnames.h: + renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H + + * docs/docmaker.py: added generation of INDEX link in table of contents + + * INSTALL, docs/BUILD: updated documentation to indicate that the + compilation process has changed slightly (no more 'src' required in + the include path). + * builds/*/*-def.mk: changed the objects directory from "obj" to "objs" * include/freetype/config/ftheader.h: removed obsolete macros like diff --git a/INSTALL b/INSTALL index d89010af9..3365022d5 100644 --- a/INSTALL +++ b/INSTALL @@ -7,7 +7,7 @@ I. From the command line You need to have GNU Make (version 3.78.1 or newer) installed on your system to compile the library from the command line. This will - _not_ work with other make tools (including BSD make)! + _NOT_ work with other make tools (including BSD make)! [Well, this is not really correct. Recently, a perl implementation of make called `makepp' has appeared which can also build FreeType 2 @@ -60,10 +60,14 @@ I. From the command line II. In your own environment (IDE) --------------------------------- - You need to add the directories "freetype2/include" and - "freetype2/src" to your include path when compiling the library. + You need to add the directories "freetype2/include" to + your include path when compiling the library. - Compile each library component through the following files: + 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) diff --git a/docs/BUILD b/docs/BUILD index e7716a81d..422325224 100644 --- a/docs/BUILD +++ b/docs/BUILD @@ -13,6 +13,9 @@ instructions on how to compile the library on your favorite platform. I. QUICK COMMAND-LINE GUIDE --------------------------- + THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY + WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".. + Install GNU Make (version 3.78.1 or newer), then try the following on Unix or any system with gcc: @@ -59,6 +62,9 @@ II. COMMAND-LINE COMPILATION Make -- trying to build the library with any other Make tool will *fail*. + NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO REALLY + INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM !! + Make sure that you are invoking GNU Make from the command line, by typing something like: @@ -66,7 +72,7 @@ II. COMMAND-LINE COMPILATION to display its version number. - Version 3.78.1 or newer is needed. + VERSION 3.78.1 OR NEWER IS NEEDED !!. b. Invoke `make' @@ -177,12 +183,12 @@ III. DETAILED COMPILATION PROCEDURE However, you can create a single object file by compiling the file `src/base/ftbase.c', which basically contains - #include - #include - #include - #include - #include - #include + #include "ftcalc.c" + #include "ftobjs.c" + #include "ftstream.c" + #include "ftlist.c" + #include "ftoutln.c" + #include "ftextend.c" Similarly, each component has a single `englobing' C file to compile it as a stand-alone object: @@ -202,7 +208,7 @@ III. DETAILED COMPILATION PROCEDURE src/truetype/truetype.c - the TrueType font driver src/type1/type1.c - the Type 1 font driver - The last module of FreeType 2, winfonts (implementing support for + The last module of FreeType 2, "winfonts" (implementing support for Windows FNT format), is a single file. To compile one component, do the following: @@ -210,21 +216,23 @@ III. DETAILED COMPILATION PROCEDURE - Add the top-level `include' directory to your compilation include path - - Add the `src' directory to your compilation include path. + - Add the `src/' directory to your compilation include path, + or simply 'cd' to the component's source directory - Compile the component `source' file (see list below); you don't - need to be in the component's directory. + need to be in the component's directory if you added `src/' + to your include path.. For example, the following line can be used to compile the truetype driver on Unix: cd freetype2/ - cc -c -Iinclude -Isrc src/truetype/truetype.c + cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c Alternatively: cd freetype2/src/truetype - cc -c -I../../include -I.. truetype.c + cc -c -I../../include truetype.c Finally, FreeType 2 contains some other components: @@ -244,13 +252,9 @@ III. DETAILED COMPILATION PROCEDURE IV. Support for flat-directory compilation ------------------------------------------ - It is now possible to put all FreeType 2 source files into a single + It is possible to put all FreeType 2 source files into a single directory, with the exception of the `include' hierarchy. - Note that you still need to only compile the `wrapper' sources - described above. Define the `FT_FLAT_COMPILE' macro when - compiling. Here an example: - 1. Copy all files in current directory: cp freetype2/src/base/*.[hc] . @@ -260,11 +264,13 @@ IV. Support for flat-directory compilation 2. Compile sources: - cc -c -DFT_FLAT_COMPILE -Ifreetype2/include ftsystem.c - cc -c -DFT_FLAT_COMPILE -Ifreetype2/include ftinit.c - cc -c -DFT_FLAT_COMPILE -Ifreetype2/include ftdebug.c - cc -c -DFT_FLAT_COMPILE -Ifreetype2/include ftbase.c + 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) End of file diff --git a/docs/docmaker.py b/docs/docmaker.py index 2d4e649a1..43786e849 100644 --- a/docs/docmaker.py +++ b/docs/docmaker.py @@ -901,7 +901,7 @@ class DocSectionList: # provide a new one. # if abstract: - print_error( "duplicate section definition for " + + section.block.print_error( "duplicate section definition for " + "'" + name + "'\n" + "previous definition in " + "'" + section.block.location() + "'\n" + @@ -1192,6 +1192,9 @@ class DocDocument: print chapter_footer + # index + print chapter_header + 'Index' + chapter_footer + print html_footer sys.stdout = old_stdout diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h index 51157d082..d3f6a5637 100644 --- a/include/freetype/config/ftheader.h +++ b/include/freetype/config/ftheader.h @@ -245,7 +245,7 @@ /************************************************************************* * - * @macro: FT_TRUETYPE_NAMES_H + * @macro: FT_TRUETYPE_IDS_H * * @description: * a macro used in #include statements to name the file containing @@ -254,7 +254,7 @@ * constant macro definitions, taken from the TrueType and OpenType * specs.. */ -#define FT_TRUETYPE_NAMES_H +#define FT_TRUETYPE_IDS_H /************************************************************************* * @@ -362,14 +362,14 @@ /************************************************************************* * - * @macro: FT_NAMES_H + * @macro: FT_SFNT_NAMES_H * * @description: * a macro used in #include statements to name the file containing * the optional FreeType 2 API used to access embedded "name" strings * in SFNT-based font formats (i.e. TrueType and OpenType) */ -#define FT_NAMES_H +#define FT_SFNT_NAMES_H /* */ diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h index fcca1dad4..af4ac1a97 100644 --- a/include/freetype/ftchapters.h +++ b/include/freetype/ftchapters.h @@ -51,3 +51,4 @@ /* raster */ /* */ /***************************************************************************/ + diff --git a/include/freetype/ftmm.h b/include/freetype/ftmm.h index 33d1a0abd..137ce8491 100644 --- a/include/freetype/ftmm.h +++ b/include/freetype/ftmm.h @@ -98,6 +98,7 @@ FT_BEGIN_HEADER } FT_Multi_Master; + /* */ typedef FT_Error (*FT_Get_MM_Func)( FT_Face face, FT_Multi_Master* master ); diff --git a/include/freetype/ftnames.h b/include/freetype/ftsnames.h similarity index 92% rename from include/freetype/ftnames.h rename to include/freetype/ftsnames.h index 61ffd85f8..b81b314d8 100644 --- a/include/freetype/ftnames.h +++ b/include/freetype/ftsnames.h @@ -1,6 +1,6 @@ /***************************************************************************/ /* */ -/* ftnames.h */ +/* ftsnames.h */ /* */ /* Simple interface to access SFNT name tables (which are used */ /* to hold font names, copyright info, notices, etc.) (specification). */ @@ -19,8 +19,8 @@ /***************************************************************************/ -#ifndef __FTNAMES_H__ -#define __FTNAMES_H__ +#ifndef __FT_SFNT_NAMES_H__ +#define __FT_SFNT_NAMES_H__ #include @@ -71,9 +71,13 @@ FT_BEGIN_HEADER /* */ /* name_id :: An identifier for `string'. */ /* */ - /* string :: The `name' string. Note that this string is in */ - /* Pascal convention, i.e., the string hasn't a final */ - /* null byte. */ + /* string :: The `name' string. Note that its format differs */ + /* depending on the (platform,encoding) pair. It can */ + /* be a Pascal String, a UTF-16 one, etc.. */ + /* */ + /* Generally speaking, the string is not */ + /* zero-terminated. Please refer to the TrueType */ + /* specification for details.. */ /* */ /* string_len :: The length of `string' in bytes. */ /* */ @@ -149,7 +153,7 @@ FT_BEGIN_HEADER FT_END_HEADER -#endif /* __FTNAMES_H__ */ +#endif /* __FT_SFNT_NAMES_H__ */ /* END */ diff --git a/src/base/ftnames.c b/src/base/ftnames.c index d6ae8b93e..8ef57d160 100644 --- a/src/base/ftnames.c +++ b/src/base/ftnames.c @@ -20,7 +20,7 @@ #include -#include FT_NAMES_H +#include FT_SFNT_NAMES_H #include FT_INTERNAL_TRUETYPE_TYPES_H diff --git a/src/cff/cffdrivr.c b/src/cff/cffdrivr.c index f195c3da6..a3b2284ea 100644 --- a/src/cff/cffdrivr.c +++ b/src/cff/cffdrivr.c @@ -21,7 +21,7 @@ #include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_STREAM_H #include FT_INTERNAL_SFNT_H -#include FT_TRUETYPE_NAMES_H +#include FT_TRUETYPE_IDS_H #include FT_INTERNAL_CFF_ERRORS_H #include "cffdrivr.h" diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c index 882d5e03c..2fac114af 100644 --- a/src/cff/cffobjs.c +++ b/src/cff/cffobjs.c @@ -21,7 +21,7 @@ #include FT_INTERNAL_CALC_H #include FT_INTERNAL_STREAM_H #include FT_ERRORS_H -#include FT_TRUETYPE_NAMES_H +#include FT_TRUETYPE_IDS_H #include FT_TRUETYPE_TAGS_H #include FT_INTERNAL_SFNT_H #include FT_INTERNAL_POSTSCRIPT_NAMES_H diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c index 894ed5291..30f199103 100644 --- a/src/sfnt/sfobjs.c +++ b/src/sfnt/sfobjs.c @@ -21,7 +21,7 @@ #include "ttload.h" #include FT_INTERNAL_SFNT_H #include FT_INTERNAL_POSTSCRIPT_NAMES_H -#include FT_TRUETYPE_NAMES_H +#include FT_TRUETYPE_IDS_H #include FT_TRUETYPE_TAGS_H #include FT_INTERNAL_TRUETYPE_ERRORS_H diff --git a/src/truetype/ttdriver.c b/src/truetype/ttdriver.c index 9f23e368e..d21d02fee 100644 --- a/src/truetype/ttdriver.c +++ b/src/truetype/ttdriver.c @@ -20,7 +20,7 @@ #include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_STREAM_H #include FT_INTERNAL_SFNT_H -#include FT_TRUETYPE_NAMES_H +#include FT_TRUETYPE_IDS_H #include "ttdriver.h" #include "ttgload.h" diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c index e2df8d433..0b1855e30 100644 --- a/src/truetype/ttobjs.c +++ b/src/truetype/ttobjs.c @@ -20,7 +20,7 @@ #include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_CALC_H #include FT_INTERNAL_STREAM_H -#include FT_TRUETYPE_NAMES_H +#include FT_TRUETYPE_IDS_H #include FT_TRUETYPE_TAGS_H #include FT_INTERNAL_SFNT_H #include FT_INTERNAL_POSTSCRIPT_NAMES_H