shithub: freetype+ttf2subf

Download patch

ref: 521a2d7a13afd210283a8e071b44a881ed9bc38f
parent: 0e20e1e57586f8499666fe4e478c83dca7c22af7
author: Werner Lemberg <[email protected]>
date: Tue Mar 20 17:58:56 EST 2001

* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.

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
* builds/*/*-def.mk: Changed the objects directory from "obj" to
"objs".
* include/freetype/config/ftheader.h: Removed obsolete macros like
FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>.  Added comments to
be included in a new API Reference section.

* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
component needs to add its own directory to the include path at
compile time.  Modified all "rules.mk" and "descrip.mms"
accordingly.

* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
compiler warnings in pedantic modes.
* include/config/ft2build.h, include/config/ftheader.h: The file
top-level <ft2build.h>.

* include/config/ftheader.h: Added new section describing the #include
macros.


the Type 2 glyph charstring (used by conversion programs).
* docs/docmaker.py: Added cross-references generation as well as


seac emulation provided by the Type 2 endchar operator.


* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
Added support for clipped direct rendering in the smooth renderer.


* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,26 +1,33 @@
-2001-03-20  David Turner    <[email protected]>
+2001-03-20  Werner Lemberg  <[email protected]>
 
+	* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
+
+2001-03-20  David Turner  <[email protected]>
+
 	* include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
-	renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_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
+	* 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
+	* 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"
+	* builds/*/*-def.mk: Changed the objects directory from "obj" to
+	"objs".
 
-	* include/freetype/config/ftheader.h: removed obsolete macros like
-	FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that
-	were previously defined in <freetype/ftcache.h>. Added comments to be
-	included in a new API Reference section.
+	* include/freetype/config/ftheader.h: Removed obsolete macros like
+	FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
+	were previously defined in <freetype/ftcache.h>.  Added comments to
+	be included in a new API Reference section.
 
-	* src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component
-	needs to added its own directory to the include path at compile time.
-	Modified all "rules.mk" and "descrip.mms" accordingly..
+	* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
+	component needs to add its own directory to the include path at
+	compile time.  Modified all "rules.mk" and "descrip.mms"
+	accordingly.
 
-
 2001-03-20  Werner Lemberg  <[email protected]>
 
 	* builds/unix/configure.in: Add $ft_version.
@@ -36,20 +43,20 @@
 	* src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
 	value an unsigned short value, first by shifting right 16 bits,
 	then by casting the results to FT_UShort.
-	
+
 2001-03-17  David Turner   <[email protected]>
 
-	* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,         
-	src/type1/t1load.c, src/type1/t1objs.c: added a few casts to remove
-	compiler warnings in pedantic modes..
+	* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
+	src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
+	compiler warnings in pedantic modes.
 
-	* include/config/ft2build.h, include/config/ftheader.h: the file
+	* include/config/ft2build.h, include/config/ftheader.h: The file
 	"ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the
-	top-level <ft2build.h>
-	
-	* include/config/ftheader.h: added new section describing the #include
-	macros..
+	top-level <ft2build.h>.
 
+	* include/config/ftheader.h: Added new section describing the #include
+	macros.
+
 2001-03-17  Tom Kacvinsky  <[email protected]>
 
 	* src/cff/cffparse.c (cff_parse_font_bbox): Obtain rounded FT_Fixed
@@ -64,7 +71,7 @@
 	* src/cff/cffdrivr.c (get_cff_glyph_name):  New function.  Used in
 	cff_get_interface to facilitate getting a glyph name for glyph index
 	via FT_Get_Glyph_Name().
-	
+
 	(cff_get_interface): Added support for getting a glyph name via the
 	"glyph_name" module interface.  Uses the new function
 	get_cff_glyph_name().
@@ -75,7 +82,7 @@
 	not defined.  This is to add support for getting a glyph name from a
 	glyph index via FT_Get_Glyph_Name().
 	Submitted by Sander van der Wal <[email protected]>
-	
+
 	* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
 	deprecated operator "dotsection".
 	Submitted by Sander van der Wal <[email protected]>
@@ -150,7 +157,7 @@
 2001-03-05  Tom Kacvinsky  <[email protected]>
 
 	* src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
-	the Type 2 glyph charstring (used by conversion programs). 
+	the Type 2 glyph charstring (used by conversion programs).
 	Submitted by Ha Shao <[email protected]>.
 
 2001-03-04  Antoine Leca  <[email protected]>
@@ -304,7 +311,7 @@
 
 2001-01-11  David Turner  <[email protected]>
 
-	* docs/docmaker.py: Added cross-references generation as well as  
+	* docs/docmaker.py: Added cross-references generation as well as
 	more robust handling of pathname wildcard matching.
 
 2001-01-10  Werner Lemberg  <[email protected]>
@@ -332,7 +339,7 @@
 2001-01-03  Tom Kacvinsky  <[email protected]>
 
 	* src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
-	
+
 	* include/freetype/internal/internal.h: Changed to use cfftypes.h
 	(cfferrs.h) instead of t2types.h (t2errors.h, respectively).
 
@@ -354,7 +361,7 @@
 	* src/cff/t2gload.h: Renamed cffgload.h.
 
 	* src/cff/t2gload.c: Renamed cffgload.c
-	
+
 2000-01-02  Jouk Jansen  <[email protected]>
 
 	* builds/vms: Support files for VMS architecture added.
@@ -398,7 +405,7 @@
 
 	* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
 	t2_operator_seac): Added these functions for use in implementing the
-	seac emulation provided by the Type 2 endchar operator. 
+	seac emulation provided by the Type 2 endchar operator.
 	(T2_Parse_CharStrings): Added seac emulation for the endchar
 	operator.
 
@@ -406,13 +413,13 @@
 	CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
 	charset/encoding tables, and free the memory used by them when the
 	CFF driver is finished with them.  Added tables
-	
+
 	    cff_isoadobe_charset
 	    cff_expert_charset
 	    cff_expertsubset_charset
 	    cff_standard_encoding
 	    cff_expert_encoding
-	
+
 	so that the encoding/charset parser can handle predefined encodings and
 	charsets.
 
@@ -433,7 +440,7 @@
 
 2000-12-21  David Turner  <[email protected]>
 
-	* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, 
+	* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
 	we'll work on supporting CID AFM files later I guess :-)
 
 2000-12-21  Tom Kacvinsky  <[email protected]>
@@ -459,7 +466,7 @@
 
 2000-12-14  David Turner  <[email protected]>
 
-	Added support for clipped direct rendering in the smooth renderer. 
+	Added support for clipped direct rendering in the smooth renderer.
 	This should not break binary compatibility of existing applications.
 
 	* include/freetype/fttypes.h, include/freetype/ftimage.h: Move
@@ -468,7 +475,7 @@
 	FT_Raster_Flag enumeration.
 	Add `clip_box' element to FT_Raster_Params structure.
 	* src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
-	
+
 	* INSTALL: Updated installation instructions on Win32, listing the
 	new "make setup list" target used to list supported
 	compilers/targets.
@@ -483,7 +490,7 @@
 	to use direct definitions.  This is the only way to do these things
 	in a portable way :-(  The rest of the code should follow shortly
 	though everything compiles now.
-	
+
 	* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
 
 	* builds/win32/detect.mk: Added support for the Intel C/C++
@@ -759,13 +766,13 @@
 
 2000-11-22  Tom Kacvinsky  <[email protected]>
 
-	* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set 
+	* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
 	`root->num_faces' to `cff->num_faces' and set `units_per_EM'
 	to 1000.
 
 	* src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
 	loop.
-	
+
 	* src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
 	sid that was off by one.
 
--- a/INSTALL
+++ b/INSTALL
@@ -60,14 +60,14 @@
 II. In your own environment (IDE)
 ---------------------------------
 
-  You   need   to   add   the  directories   "freetype2/include" to
-  your include path when compiling the library.
+  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.
+  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:
+  DO NOT COMPILE ALL C FILES!  Rather, compile the following ones:
   
     -- base components (required)
      
--- a/builds/win32/detect.mk
+++ b/builds/win32/detect.mk
@@ -86,12 +86,12 @@
     .PHONY: visualc
   endif
 
-  ifneq ($(findstring intelc,$(MAKECMDGOALS)),)     # Intel C/C++
+  ifneq ($(findstring intelc,$(MAKECMDGOALS)),)      # Intel C/C++
     CONFIG_FILE := w32-intl.mk
     SEP         := $(BACKSLASH)
     CC          := cl
     visualc: setup
-    .PHONY: visualc
+    .PHONY: intelc
   endif
 
   ifneq ($(findstring watcom,$(MAKECMDGOALS)),)      # Watcom C/C++
--- a/docs/BUILD
+++ b/docs/BUILD
@@ -13,8 +13,8 @@
 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"..
+  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:
@@ -62,8 +62,8 @@
     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 !!
+    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:
@@ -72,7 +72,7 @@
 
     to display its version number.
 
-    VERSION 3.78.1 OR NEWER IS NEEDED !!.
+    VERSION 3.78.1 OR NEWER IS NEEDED!
 
   b. Invoke `make'
 
@@ -208,7 +208,7 @@
     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:
@@ -216,18 +216,18 @@
     - Add  the  top-level  `include'  directory  to  your  compilation
       include path
 
-    - Add the `src/<component>' directory to your compilation include path,
-      or simply 'cd' to the component's source directory
+    - Add the `src/<component>'  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 if you added `src/<component>'
-      to your include path..
+      need  to   be  in  the   component's  directory  if   you  added
+      `src/<component>' 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/truetype  src/truetype/truetype.c
+     cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c
 
   Alternatively:
 
@@ -252,7 +252,7 @@
 IV. Support for flat-directory compilation
 ------------------------------------------
 
-  It is 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.
 
     1. Copy all files in current directory:
@@ -270,7 +270,7 @@
         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)
+   You don't need to define the FT_FLAT_COMPILATION macro (as this was
+   required in previous releases of FreeType 2).
 
 End of file
--- a/docs/docmaker.py
+++ b/docs/docmaker.py
@@ -901,12 +901,13 @@
                 # provide a new one.
                 #
                 if abstract:
-                    section.block.print_error( "duplicate section definition for " +
-                                 "'" + name + "'\n" +
-                                 "previous definition in " +
-                                 "'" + section.block.location() + "'\n" +
-                                 "second definition in " +
-                                 "'" + block.location() + "'" )
+                    section.block.print_error(
+                      "duplicate section definition for " +
+                      "'" + name + "'\n" +
+                      "previous definition in " +
+                      "'" + section.block.location() + "'\n" +
+                      "second definition in " +
+                      "'" + block.location() + "'" )
             else:
                 # The old section didn't contain an abstract; we are
                 # now going to replace it.
--- a/include/freetype/config/ftheader.h
+++ b/include/freetype/config/ftheader.h
@@ -60,318 +60,369 @@
   /*                                                                       */
   /*************************************************************************/
 
-/*************************************************************************
- *
- * <Section> header_file_macros
- *
- * <Title> Header File Macros
- *
- * <Abstract>
- *    Macro definitions used to #include specific header files
- *
- * <Description>
- *    The following macros are defined to the name of specific FreeType 2
- *    header files. They can be used directly in #include statements as in:
- *
- *    {
- *      #include FT_FREETYPE_H
- *      #include FT_MULTIPLE_MASTERS_H
- *      #include FT_GLYPH_H
- *    }
- *
- *    there are several reasons why we're now using macros to name
- *    public header files. The first one is that the macros are not
- *    limited to the infamous 8.3 naming rule required by Dos
- *    (and FT_MULTIPLE_MASTERS_H is a lot more meaningful than "ftmm.h")
- *
- *    The second reason is that is allows for more flexibility in the way
- *    FreeType 2 is installed on a given system..
- *
- */
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Section>                                                             */
+  /*    header_file_macros                                                 */
+  /*                                                                       */
+  /* <Title>                                                               */
+  /*    Header File Macros                                                 */
+  /*                                                                       */
+  /* <Abstract>                                                            */
+  /*    Macro definitions used to #include specific header files.          */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    The following macros are defined to the name of specific           */
+  /*    FreeType 2 header files.  They can be used directly in #include    */
+  /*    statements as in:                                                  */
+  /*                                                                       */
+  /*    {                                                                  */
+  /*      #include FT_FREETYPE_H                                           */
+  /*      #include FT_MULTIPLE_MASTERS_H                                   */
+  /*      #include FT_GLYPH_H                                              */
+  /*    }                                                                  */
+  /*                                                                       */
+  /*    There are several reasons why we are now using macros to name      */
+  /*    public header files.  The first one is that such macros are not    */
+  /*    limited to the infamous 8.3 naming rule required by DOS (and       */
+  /*    `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h').   */
+  /*                                                                       */
+  /*    The second reason is that is allows for more flexibility in the    */
+  /*    way FreeType 2 is installed on a given system.                     */
+  /*                                                                       */
+  /*************************************************************************/
 
   /* configuration files */
-/*************************************************************************
- *
- * @macro: FT_CONFIG_CONFIG_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    FreeType 2 configuration
- */
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_CONFIG_CONFIG_H                                                 */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    FreeType 2 configuration data.                                     */
+  /*                                                                       */
 #ifndef FT_CONFIG_CONFIG_H
-#define FT_CONFIG_CONFIG_H     <freetype/config/ftconfig.h>
+#define FT_CONFIG_CONFIG_H  <freetype/config/ftconfig.h>
 #endif
 
-/*************************************************************************
- *
- * @macro: FT_CONFIG_OPTIONS_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    FreeType 2 project-specific configuration options
- */
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_CONFIG_OPTIONS_H                                                */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    FreeType 2 project-specific configuration options.                 */
+  /*                                                                       */
 #ifndef FT_CONFIG_OPTIONS_H
-#define FT_CONFIG_OPTIONS_H    <freetype/config/ftoption.h>
+#define FT_CONFIG_OPTIONS_H  <freetype/config/ftoption.h>
 #endif
 
-/*************************************************************************
- *
- * @macro: FT_CONFIG_MODULES_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the list of FreeType 2 modules that are statically linked to new
- *    library instances in @FT_Init_FreeType
- */
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_CONFIG_MODULES_H                                                */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the list of FreeType 2 modules that are statically linked to new   */
+  /*    library instances in @FT_Init_FreeType.                            */
+  /*                                                                       */
 #ifndef FT_CONFIG_MODULES_H
-#define FT_CONFIG_MODULES_H    <freetype/config/ftmodule.h>
+#define FT_CONFIG_MODULES_H  <freetype/config/ftmodule.h>
 #endif
 
   /* public headers */
-/*************************************************************************
- *
- * @macro: FT_FREETYPE_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the base FreeType 2 API
- */
-#define FT_FREETYPE_H          <freetype/freetype.h>
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_FREETYPE_H                                                      */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the base FreeType 2 API.                                           */
+  /*                                                                       */
+#define FT_FREETYPE_H  <freetype/freetype.h>
 
-/*************************************************************************
- *
- * @macro: FT_ERRORS_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the list of FreeType 2 error codes (and messages).
- *
- *    it is included by @FT_FREETYPE_H
- */
-#define FT_ERRORS_H            <freetype/fterrors.h>
 
-/*************************************************************************
- *
- * @macro: FT_SYSTEM_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the FreeType 2 interface to low-level operations (i.e. memory management
- *    and stream i/o)
- *
- *    it is included by @FT_FREETYPE_H
- */
-#define FT_SYSTEM_H            <freetype/ftsystem.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_ERRORS_H                                                        */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the list of FreeType 2 error codes (and messages).                 */
+  /*                                                                       */
+  /*    It is included by @FT_FREETYPE_H.                                  */
+  /*                                                                       */
+#define FT_ERRORS_H  <freetype/fterrors.h>
 
-/*************************************************************************
- *
- * @macro: FT_IMAGE_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    types definitions related to glyph images (i.e. bitmaps, outlines,
- *    scan-converter parameters)
- *
- *    it is included by @FT_FREETYPE_H
- */
-#define FT_IMAGE_H             <freetype/ftimage.h>
 
-/*************************************************************************
- *
- * @macro: FT_TYPES_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the basic data types defined by FreeType 2
- *
- *    it is included by @FT_FREETYPE_H
- */
-#define FT_TYPES_H             <freetype/fttypes.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_SYSTEM_H                                                        */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the FreeType 2 interface to low-level operations (i.e. memory      */
+  /*    management and stream i/o).                                        */
+  /*                                                                       */
+  /*    It is included by @FT_FREETYPE_H.                                  */
+  /*                                                                       */
+#define FT_SYSTEM_H  <freetype/ftsystem.h>
 
-/*************************************************************************
- *
- * @macro: FT_LIST_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the list management API of FreeType 2
- *
- *    (most applications will never need to include this file)
- */
-#define FT_LIST_H              <freetype/ftlist.h>
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_IMAGE_H                                                         */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    types definitions related to glyph images (i.e. bitmaps, outlines, */
+  /*    scan-converter parameters).                                        */
+  /*                                                                       */
+  /*    It is included by @FT_FREETYPE_H.                                  */
+  /*                                                                       */
+#define FT_IMAGE_H  <freetype/ftimage.h>
 
-/*************************************************************************
- *
- * @macro: FT_OUTLINE_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the scalable outline management API of FreeType 2
- */
-#define FT_OUTLINE_H           <freetype/ftoutln.h>
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_TYPES_H                                                         */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the basic data types defined by FreeType 2.                        */
+  /*                                                                       */
+  /*    It is included by @FT_FREETYPE_H.                                  */
+  /*                                                                       */
+#define FT_TYPES_H  <freetype/fttypes.h>
 
-/*************************************************************************
- *
- * @macro: FT_MODULE_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the module management API of FreeType 2
- */
-#define FT_MODULE_H            <freetype/ftmodule.h>
 
-/*************************************************************************
- *
- * @macro: FT_RENDER_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the renderer module management API of FreeType 2
- */
-#define FT_RENDER_H            <freetype/ftrender.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_LIST_H                                                          */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the list management API of FreeType 2.                             */
+  /*                                                                       */
+  /*    (Most applications will never need to include this file.)          */
+  /*                                                                       */
+#define FT_LIST_H  <freetype/ftlist.h>
 
-/*************************************************************************
- *
- * @macro: FT_TYPE1_TABLES_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the types and API specific to the Type 1 format.
- */
-#define FT_TYPE1_TABLES_H      <freetype/t1tables.h>
 
-/*************************************************************************
- *
- * @macro: FT_TRUETYPE_IDS_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the enumeration values used to identify name strings, languages,
- *    encodings, etc.. This file really contains a _large_ set of
- *    constant macro definitions, taken from the TrueType and OpenType
- *    specs..
- */
-#define FT_TRUETYPE_IDS_H    <freetype/ttnameid.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_OUTLINE_H                                                       */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the scalable outline management API of FreeType 2.                 */
+  /*                                                                       */
+#define FT_OUTLINE_H  <freetype/ftoutln.h>
 
-/*************************************************************************
- *
- * @macro: FT_TRUETYPE_TABLES_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the types and API specific to the TrueType (as well as OpenType) format.
- */
-#define FT_TRUETYPE_TABLES_H   <freetype/tttables.h>
 
-/*************************************************************************
- *
- * @macro: FT_TRUETYPE_TAGS_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the definitions of TrueType 4-byte "tags" used to identify blocks
- *    in SFNT-based font formats (i.e. TrueType and OpenType)
- */
-#define FT_TRUETYPE_TAGS_H     <freetype/tttags.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_MODULE_H                                                        */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the module management API of FreeType 2.                           */
+  /*                                                                       */
+#define FT_MODULE_H  <freetype/ftmodule.h>
 
-/*************************************************************************
- *
- * @macro: FT_GLYPH_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the API of the optional glyph management component.
- */
-#define FT_GLYPH_H             <freetype/ftglyph.h>
 
-/*************************************************************************
- *
- * @macro: FT_BBOX_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the API of the optional exact bounding box computation routines
- */
-#define FT_BBOX_H              <freetype/ftbbox.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_RENDER_H                                                        */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the renderer module management API of FreeType 2.                  */
+  /*                                                                       */
+#define FT_RENDER_H  <freetype/ftrender.h>
 
-/*************************************************************************
- *
- * @macro: FT_CACHE_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the API of the optional FreeType 2 cache sub-system.
- */
-#define FT_CACHE_H                 <freetype/ftcache.h>
 
-/*************************************************************************
- *
- * @macro: FT_CACHE_IMAGE_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the "glyph image" API of the FreeType 2 cache sub-system
- *
- *    it is used to define a cache for @FT_Glyph elements. You can also
- *    see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need
- *    to store small glyph bitmaps, as it will use less memory
- */
-#define FT_CACHE_IMAGE_H           <freetype/cache/ftcimage.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_TYPE1_TABLES_H                                                  */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the types and API specific to the Type 1 format.                   */
+  /*                                                                       */
+#define FT_TYPE1_TABLES_H  <freetype/t1tables.h>
 
-/*************************************************************************
- *
- * @macro: FT_CACHE_SMALL_BITMAPS_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the "small bitmaps" API of the FreeType 2 cache sub-system
- *
- *    it is used to define a cache for small glyph bitmaps in a relatively
- *    memory-efficient way. You can also use the API defined in
- *    @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including
- *    scalable outlines.
- */
-#define FT_CACHE_SMALL_BITMAPS_H   <freetype/cache/ftcsbits.h>
 
-/*************************************************************************
- *
- * @macro: FT_MAC_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the Macintosh-specific FreeType 2 API. The latter is used to 
- *    access fonts embedded in resource forks..
- *
- *    this header file must be explicitely included by client applications
- *    compiled on the Mac (note that the base API still works though)
- */
-#define FT_MAC_H               <freetype/ftmac.h>
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_TRUETYPE_IDS_H                                                  */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the enumeration values used to identify name strings, languages,   */
+  /*    encodings, etc.  This file really contains a _large_ set of        */
+  /*    constant macro definitions, taken from the TrueType and OpenType   */
+  /*    specifications.                                                    */
+  /*                                                                       */
+#define FT_TRUETYPE_IDS_H  <freetype/ttnameid.h>
 
-/*************************************************************************
- *
- * @macro: FT_MULTIPLE_MASTERS_H
- *
- * @description:
- *    a macro used in #include statements to name the file containing
- *    the optional multiple-masters management API of FreeType 2
- */
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_TRUETYPE_TABLES_H                                               */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the types and API specific to the TrueType (as well as OpenType)   */
+  /*    format.                                                            */
+  /*                                                                       */
+#define FT_TRUETYPE_TABLES_H  <freetype/tttables.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_TRUETYPE_TAGS_H                                                 */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the definitions of TrueType 4-byte `tags' used to identify blocks  */
+  /*    in SFNT-based font formats (i.e. TrueType and OpenType).           */
+  /*                                                                       */
+#define FT_TRUETYPE_TAGS_H  <freetype/tttags.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_GLYPH_H                                                         */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the API of the optional glyph management component.                */
+  /*                                                                       */
+#define FT_GLYPH_H  <freetype/ftglyph.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_BBOX_H                                                          */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the API of the optional exact bounding box computation routines.   */
+  /*                                                                       */
+#define FT_BBOX_H  <freetype/ftbbox.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_CACHE_H                                                         */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the API of the optional FreeType 2 cache sub-system.               */
+  /*                                                                       */
+#define FT_CACHE_H  <freetype/ftcache.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_CACHE_IMAGE_H                                                   */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the `glyph image' API of the FreeType 2 cache sub-system.          */
+  /*                                                                       */
+  /*    It is used to define a cache for @FT_Glyph elements.  You can also */
+  /*    see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need  */
+  /*    to store small glyph bitmaps, as it will use less memory.          */
+  /*                                                                       */
+#define FT_CACHE_IMAGE_H  <freetype/cache/ftcimage.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_CACHE_SMALL_BITMAPS_H                                           */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the `small bitmaps' API of the FreeType 2 cache sub-system.        */
+  /*                                                                       */
+  /*    It is used to define a cache for small glyph bitmaps in a          */
+  /*    relatively memory-efficient way.  You can also use the API defined */
+  /*    in @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images,  */
+  /*    including scalable outlines.                                       */
+  /*                                                                       */
+#define FT_CACHE_SMALL_BITMAPS_H  <freetype/cache/ftcsbits.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_MAC_H                                                           */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the Macintosh-specific FreeType 2 API. The latter is used to       */
+  /*    access fonts embedded in resource forks.                           */
+  /*                                                                       */
+  /*    This header file must be explicitly included by client             */
+  /*    applications compiled on the Mac (note that the base API still     */
+  /*    works though).                                                     */
+  /*                                                                       */
+#define FT_MAC_H  <freetype/ftmac.h>
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* @macro:                                                               */
+  /*    FT_MULTIPLE_MASTERS_H                                              */
+  /*                                                                       */
+  /* @description:                                                         */
+  /*    A macro used in #include statements to name the file containing    */
+  /*    the optional multiple-masters management API of FreeType 2.        */
+  /*                                                                       */
 #define FT_MULTIPLE_MASTERS_H  <freetype/ftmm.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_SFNT_NAMES_H              <freetype/ftsnames.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_SFNT_NAMES_H  <freetype/ftsnames.h>
+
+  /* */
+
  
 #define FT_SYNTHESIS_H             <freetype/ftsynth.h>
 
@@ -382,6 +433,7 @@
 #define FT_CACHE_INTERNAL_CHUNK_H  <freetype/cache/ftcchunk.h>
 
   /* now include internal headers definitions from <freetype/internal/...> */
+
 #define  FT_INTERNAL_INTERNAL_H    <freetype/internal/internal.h>
 #include FT_INTERNAL_INTERNAL_H
 
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -276,9 +276,9 @@
   /*    FT_Offset                                                          */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This is equivalent to the ANSI C "size_t" type, i.e. it's the      */
-  /*    largest _unsigned_ integer type used to express a file size or     */
-  /*    position, or a memory block size.                                  */
+  /*    This is equivalent to the ANSI C `size_t' type, i.e. the largest   */
+  /*    _unsigned_ integer type used to express a file size or position,   */
+  /*    or a memory block size.                                            */
   /*                                                                       */
   typedef size_t  FT_Offset;
 
@@ -289,7 +289,7 @@
   /*    FT_PtrDist                                                         */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This is equivalent to the ANSI C "ptrdiff_t" type, i.e. the        */
+  /*    This is equivalent to the ANSI C `ptrdiff_t' type, i.e. the        */
   /*    largest _signed_ integer type used to express the distance         */
   /*    between two pointers.                                              */
   /*                                                                       */
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -2079,10 +2079,10 @@
   }
 
 
-  FT_EXPORT_DEF(FT_Error)
-  FT_Render_Glyph_Internal( FT_Library    library,
-                            FT_GlyphSlot  slot,
-                            FT_UInt       render_mode )
+  FT_EXPORT_DEF( FT_Error )  FT_Render_Glyph_Internal(
+                               FT_Library    library,
+                               FT_GlyphSlot  slot,
+                               FT_UInt       render_mode )
   {
     FT_Error     error = FT_Err_Ok;
     FT_Renderer  renderer;
--- a/src/cff/cffdrivr.c
+++ b/src/cff/cffdrivr.c
@@ -225,7 +225,7 @@
                                 FT_Pointer  buffer,
                                 FT_UInt     buffer_max )
   {
-    CFF_Font*           font = (CFF_Font*)face->extra.data;
+    CFF_Font*           font   = (CFF_Font*)face->extra.data;
     FT_Memory           memory = FT_FACE_MEMORY(face);
     FT_String*          gname;
     FT_UShort           sid;
@@ -232,7 +232,8 @@
     PSNames_Interface*  psnames;
     FT_Error            error;
 
-    psnames = (PSNames_Interface*)FT_Get_Module_Interface( face->root.driver->root.library, "psnames" );
+    psnames = (PSNames_Interface*)FT_Get_Module_Interface(
+                face->root.driver->root.library, "psnames" );
 
     if ( !psnames )
     {
@@ -255,7 +256,7 @@
       FT_UInt  len = strlen( gname );
 
 
-      if (len >= buffer_max)
+      if ( len >= buffer_max )
         len = buffer_max - 1;
 
       MEM_Copy( buffer, gname, len );
@@ -268,6 +269,7 @@
     Exit:
       return error;
   }
+
 
   /*************************************************************************/
   /*                                                                       */
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -1066,7 +1066,6 @@
 
         case cff_op_hintmask:
         case cff_op_cntrmask:
-
           FT_TRACE4(( op == cff_op_hintmask ? " hintmask"
                                             : " cntrmask" ));
 
@@ -1078,7 +1077,9 @@
 
             FT_TRACE4(( " " ));
 
-            for ( maskbyte = 0; maskbyte < ( decoder->num_hints + 7 ) >> 3 ; maskbyte++, ip++ )
+            for ( maskbyte = 0;
+                  maskbyte < ( decoder->num_hints + 7 ) >> 3;
+                  maskbyte++, ip++ )
             {
               FT_TRACE4(( "%02X", *ip ));
             }
@@ -1839,10 +1840,8 @@
           goto Unimplemented;
 
         case cff_op_dotsection:
-          {
-            /* this operator is deprecated and ignored by the parser */
-            FT_TRACE4(( " dotsection" ));
-          }
+          /* this operator is deprecated and ignored by the parser */
+          FT_TRACE4(( " dotsection" ));
           break;
 
         case cff_op_and:
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -8,7 +8,7 @@
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
-/*  modified, and xdistributed under the terms of the FreeType project      */
+/*  modified, and distributed under the terms of the FreeType project      */
 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
 /*  this file you indicate that you have read the license and              */
 /*  understand and accept it fully.                                        */
--- a/src/cff/cffobjs.c
+++ b/src/cff/cffobjs.c
@@ -388,8 +388,8 @@
 
         /* set global bbox, as well as EM size */
         root->bbox         = dict->font_bbox;
-        root->ascender     = (FT_Short)(root->bbox.yMax >> 16);
-        root->descender    = (FT_Short)(root->bbox.yMin >> 16);
+        root->ascender     = (FT_Short)( root->bbox.yMax >> 16 );
+        root->descender    = (FT_Short)( root->bbox.yMin >> 16 );
         root->height       = ( ( root->ascender - root->descender ) * 12 ) / 10;
 
         if ( dict->units_per_em )
--- a/src/cff/cffparse.c
+++ b/src/cff/cffparse.c
@@ -339,7 +339,7 @@
       temp = ABS( matrix->yy );
 
       *upm = (FT_UShort)( FT_DivFix( 0x10000L,
-			  FT_DivFix( temp, 1000 ) ) >> 16 );
+                          FT_DivFix( temp, 1000 ) ) >> 16 );
 
       if ( temp != 0x10000L )
       {
--- a/src/cid/cidobjs.c
+++ b/src/cid/cidobjs.c
@@ -225,8 +225,8 @@
         if ( !root->units_per_EM )
           root->units_per_EM  = 1000;
 
-        root->ascender     = (FT_Short)(face->cid.font_bbox.yMax >> 16);
-        root->descender    = (FT_Short)(face->cid.font_bbox.yMin >> 16);
+        root->ascender     = (FT_Short)( face->cid.font_bbox.yMax >> 16 );
+        root->descender    = (FT_Short)( face->cid.font_bbox.yMin >> 16 );
         root->height       = ( ( root->ascender + root->descender ) * 12 )
                              / 10;
 
--- a/src/pcf/pcfread.c
+++ b/src/pcf/pcfread.c
@@ -981,10 +981,10 @@
         yres = find_property( face, "RESOLUTION_Y" );
         if ( ( xres != NULL ) && ( yres != NULL ) )
         {
-          root->available_sizes->width  = (FT_Short)
-            (prop->value.integer * 75 / xres->value.integer);
-          root->available_sizes->height = (FT_Short)
-            (prop->value.integer * 75 / yres->value.integer);
+          root->available_sizes->width =
+            (FT_Short)( prop->value.integer * 75 / xres->value.integer );
+          root->available_sizes->height =
+            (FT_Short)( prop->value.integer * 75 / yres->value.integer );
         }
       }
       else
--- a/src/type1/t1objs.c
+++ b/src/type1/t1objs.c
@@ -268,20 +268,19 @@
       root->num_fixed_sizes = 0;
       root->available_sizes = 0;
 
-      root->bbox         = face->type1.font_bbox;
+      root->bbox = face->type1.font_bbox;
 
       /* Set units_per_EM if we didn't set it in parse_font_matrix. */
       if ( !root->units_per_EM )
         root->units_per_EM = 1000;
 
-      root->ascender     = (FT_Short)(face->type1.font_bbox.yMax >> 16);
-      root->descender    = (FT_Short)(face->type1.font_bbox.yMin >> 16);
-      root->height       = ( ( root->ascender - root->descender ) * 12 ) / 10;
+      root->ascender  = (FT_Short)( face->type1.font_bbox.yMax >> 16 );
+      root->descender = (FT_Short)( face->type1.font_bbox.yMin >> 16 );
+      root->height    = ( ( root->ascender - root->descender ) * 12 ) / 10;
 
       /* now compute the maximum advance width */
-
-
-      root->max_advance_width = (FT_Short)(face->type1.font_bbox.xMax >> 16);
+      root->max_advance_width =
+        (FT_Short)( face->type1.font_bbox.xMax >> 16 );
       {
         FT_Int  max_advance;