shithub: freetype+ttf2subf

Download patch

ref: 98add9e68c172e2c689a420ea3c53bd5c2772b87
parent: db3d5c1ad912b9ccb0c1a3795cf33acfac7a41a5
author: Werner Lemberg <[email protected]>
date: Wed Sep 18 07:32:12 EDT 2002

Formatting, minor doc fixes.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,14 +1,14 @@
 2002-09-17  David Turner  <[email protected]>
 
-        * include/freetype/freetype.h, include/freetype/ftimage.h,
-        include/freetype/ftstroker.h, include/freetype/ftsysio.h,
-        include/freetype/ftsysmem.h, include/freetype/ttnameid.h:
-        updating the in-source documentation
+	* include/freetype/freetype.h, include/freetype/ftimage.h,
+	include/freetype/ftstroker.h, include/freetype/ftsysio.h,
+	include/freetype/ftsysmem.h, include/freetype/ttnameid.h: Updating
+	the in-source documentation.
 
-        * src/tools/docmaker/tohtml.py: updating the HTML formatter in the
-        DocMaker tool
+	* src/tools/docmaker/tohtml.py: Updating the HTML formatter in the
+	DocMaker tool.
 
-        * src/tools/docmaker.py: removing obsolete file
+	* src/tools/docmaker.py: Removed.
 
 2002-09-17  Werner Lemberg  <[email protected]>
 
@@ -63,42 +63,91 @@
 
 2002-09-09  David Turner  <[email protected]>
 
-        * src/pshinter/pshalgo2.c, src/pshinter/pshalgo3.c: adding fix to
-        prevent seg fault when hints are provided in an empty glyph !!
+	* src/pshinter/pshalgo2.c (psh2_glyph_find_strong_points),
+	src/pshinter/pshalgo3.c (psh3_glyph_find_strong_points): Adding fix
+	to prevent seg fault when hints are provided in an empty glyph.
 
-	* src/cache/ftccache.i: fixed a bug that prevented compilation in
-	debug mode of template instantiation
+	* src/cache/ftccache.i (GEN_CACHE_LOOKUP) [FT_DEBUG_LEVEL_ERROR]:
+	Removed conditional code.  This fixes a bug that prevented
+	compilation in debug mode of template instantiation.
 
-        * include/freetype/ftimage.h: removed incorrect "zft_" definitions
-        and updated constants documentation comments
+	* include/freetype/ftimage.h: Removed incorrect "zft_" definitions
+	and updated constants documentation comments.
 
-	* src/cff/cffparse.c: fixed the CFF table loader. It didn't accept
-	empty arrays, and this prevented the loading of certain fonts.
+	* src/cff/cffparse.c (cff_parser_run): Fixed the CFF table loader. 
+	It didn't accept empty arrays, and this prevented the loading of
+	certain fonts.
 
-        * include/freetype/freetype.h (FT_FaceRec): updating documentation
-        comment. The "descender" value is always *negative*, not positive !
+	* include/freetype/freetype.h (FT_FaceRec): Updating documentation
+	comment.  The "descender" value is always *negative*, not positive.
 
 2002-09-09  Owen Taylor  <[email protected]>
 
-	* src/pcf/pcfdriver.c (PCF_Glyph_Load): fixing incorrect computation
+	* src/pcf/pcfdriver.c (PCF_Glyph_Load): Fixing incorrect computation
 	of bitmap metrics.
 
 2002-09-08  David Turner  <[email protected]>
 
-	* src/smooth/ftsmooth.c, src/base/ftobjs.c,
-	include/freetype/config/ftmodule.h: updated to correctly support
-	sub-pixel rendering
+	Various updates to correctly support sub-pixel rendering.
 
-	* include/freetype/cache/ftcimage.h, include/freetype/cache/ftcsbits.h,
-	src/cache/ftcimage.c, src/cache/ftcsbit.c: updated to support sub-pixel
-	rendering correctly. Definition of FTC_ImageTypeRec that replaces the
-	obsolete FTC_ImageDesc, and has slightly different fields. The
-	image type is now determined directly by "load_flags" values.
+	* include/freetype/config/ftmodule.h: Add two renderers for LCD.
 
-	* src/autohint/ahtypes.h, src/autohint/ahhint.c,
-	src/pshinter/pshalgo3.c, src/pshinter/pshalgo3.h: various enhancements
-	to the automatic and Postscript hinters !! and sub-pixel hinting now
-	works correctly (see demo programs)
+	* src/base/ftobjs.c (FT_Load_Glyph): Updated.
+
+	* src/smooth/ftsmooth.c (ft_smooth_render_lcd,
+	ft_smooth_render_lcd_v): Set FT_PIXEL_MODE_LCD and
+	FT_PIXEL_MODE_LCD_V, respectively.
+
+	* include/freetype/cache/ftcimage.h (FTC_ImageTypeRec): New
+	structure.
+	Updated all users.
+	(FTC_ImageDesc): Removed.
+	(FTC_ImageCache_Lookup): Second parameter is now of type
+	`FTC_ImageType'.
+	Updated all users.
+	(FTC_IMAGE_DESC_COMPARE): Updated and renamed to...
+	(FTC_IMAGE_TYPE_COMPARE): This.
+	(FTC_IMAGE_DESC_HASH): Updated and renamed to...
+	(FTC_IMAGE_TYPE_HASH): This.
+
+	* include/freetype/cache/ftcsbits.h (FTC_SBitRec): Field `num_grays'
+	replaced with `max_grays'.
+	`pitch' is now FT_Short.
+	(FTC_SBitCache_Lookup): Second parameter is now of type
+	`FTC_ImageType'.
+	Updated all users.
+
+	* src/cache/ftcimage.c (FTC_ImageQueryRec, FTC_ImageFamilyRec):
+	Updated.
+	(ftc_image_node_init): Updated.
+	Moved code to convert type flags to load flags to...
+	(FTC_Image_Cache_Lookup): This function.
+	(ftc_image_family_init): Updated.
+
+	* src/cache/ftcsbit.c (FTC_SBitQueryRec, FTC_SBitFamilyRec):
+	Updated.
+	(ftc_sbit_node_load): Updated.
+	Moved code to convert type flags to load flags to...
+	(FTC_SBitCache_Lookup): This function.
+
+	* src/autohint/ahtypes.h (AH_HinterRec): Replace `no_*_hints' with
+	`do_*_snapping'.
+	Update all users (with negation).
+	* src/autohint/ahhint.c (ah_compute_stem_width): Fix threshold for
+	`dist' for `delta' < 40.
+
+	* src/pshinter/pshalgo3.h (PSH3_GlyphRec): Replace `no_*_hints' with
+	`do_*_snapping'.
+	Update all users (with negation).
+	* src/pshinter/pshalgo3.c (psh3_dimension_quantize_len): New
+	function.
+	(psh3_hint_align): Use it.
+	Improve hinting code.
+	[STRONGER]: Removed.
+	(STRONGER): Removed.
+
+	* include/freetype/freetype.h (FT_Set_Hint_Flags, FT_HINT_*):
+	Removed.
 
 2002-09-05  Werner Lemberg  <[email protected]>
 
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -24,43 +24,48 @@
 
     - The computation of bearings in the BDF driver has been fixed.
 
-    - The Postscript hinter did crash when trying to hint certain glyphs
-      (more precisely, when trying to apply hints to an empty glyph outline !)
+    - The Postscript hinter crashed when trying to hint certain glyphs (more
+      precisely, when trying to apply hints to an empty glyph outline).
 
     - The TrueType glyph loader now supports composites in "Apple format"
       (they differ slightly from Microsoft/OpenType ones in the way transform
-      offsets are computed...)
+      offsets are computed).
 
+
   II. MISCELLANEOUS
 
     - The automatic and postscript hinters have both been updated.  This
       results in a relatively important increase of rendering quality since
-      many nasty defaults have been supressed. Please visit the web page:
+      many nasty defaults have been supressed.  Please visit the web page:
 
-             http://www.freetype.org/freetype2/smooth-hinting.html
+        http://www.freetype.org/freetype2/smooth-hinting.html
 
-      for additional details on this topic..
+      for additional details on this topic.
 
-    - Added support for the DESTDIR variable during "make install", to make
-      packager's life a bit less miserable :-)
+    - Added support for the DESTDIR variable during "make install".  This
+      simplifies packaging of FreeType.
 
     - The DocMaker tool used to generate the on-line API reference has been
-      completely rewritten. If is now located in "src/tools/docmaker/docmaker.py"
-      It now provides:
+      completely rewritten.  It is now located in
+      "src/tools/docmaker/docmaker.py".  Features:
 
         - better cross-referenced output
         - more polished output
-        - uses Python regular expressions (though it didn't speed the program)
+        - uses Python regular expressions (though it didn't speed the
+          program)
         - much more modular structure, which allows for different "backends"
-          in order to generate HTML, XML or whatever format...
+          in order to generate HTML, XML, or whatever format.
 
-      one can re-generate the API reference by calling:
+      One can regenerate the API reference by calling:
 
-         python src/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.1.3
-         --output=<outputdirectory> include/freetype/*.h include/freetype/config/*.h
-         include/freetype/cache/*.h
+         python src/tools/docmaker/docmaker.py \
+                --prefix=ft2 \
+                --title=FreeType-2.1.3 \
+                --output=<outputdirectory> 
+                include/freetype/*.h \
+                include/freetype/config/*.h \
+                include/freetype/cache/*.h
 
-
     - A new, experimental, support for incremental font loading (i.e.,
       loading of fonts where the glyphs are not in the font file itself, but
       provided by an external component, like a Postscript interpreter) has
@@ -67,9 +72,9 @@
       been added by Graham Asher.  This is still work in progress, however.
 
     - A new, experimental, path stroker has been added.  It doesn't suffer
-      from severe rounding errors, and treat bezier arcs directly.  Still
-      work in progress (i.e. not part of the official API). See the file
-      <freetype/ftstroker.h> for some of the details...
+      from severe rounding errors and treat bezier arcs directly.  Still
+      work in progress (i.e. not part of the official API).  See the file
+      <freetype/ftstroker.h> for some of the details.
 
     - The massive re-formatting of sources and internal re-design is still
       under-way.  Many internal functions, constants, and types have been
--- a/include/freetype/cache/ftcimage.h
+++ b/include/freetype/cache/ftcimage.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType Image cache (specification).                                */
 /*                                                                         */
-/*  Copyright 2000-2001 by                                                 */
+/*  Copyright 2000-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -53,24 +53,24 @@
   /*************************************************************************/
 
 
-
-
  /**************************************************************************
   *
-  * @struct: FTC_ImageTypeRec
+  * @struct:
+  *   FTC_ImageTypeRec
   *
   * @description:
-  *   a simple structure used to describe the type of glyph image to be
-  *   loaded into the cache
+  *   A simple structure used to describe the type of glyph image to be
+  *   loaded into the cache.
   *
   * @fields:
-  *   font  :: An @FTC_FontRec used to describe the glyph's face and size
-  *   flags :: the load flags to be applied when loading the glyph, see
-  *            the @FT_LOAD_XXX constants for details
+  *   font  :: An @FTC_FontRec used to describe the glyph's face and size.
   *
+  *   flags :: The load flags to be applied when loading the glyph; see
+  *            the @FT_LOAD_XXX constants for details.
+  *
   * @note:
-  *   this type completely replaces the @FTC_Image_Desc structure which is
-  *   now obsolete..
+  *   This type completely replaces the @FTC_Image_Desc structure which is
+  *   now obsolete.
   */
   typedef struct  FTC_ImageTypeRec_
   {
@@ -85,11 +85,11 @@
 
 #define FTC_IMAGE_TYPE_COMPARE( d1, d2 )                    \
           ( FTC_FONT_COMPARE( &(d1)->font, &(d2)->font ) && \
-            (d1)->flags == (d2)->flags                      )
+            (d1)->flags == (d2)->flags                   )
 
 #define FTC_IMAGE_TYPE_HASH( d )                    \
           (FT_UFast)( FTC_FONT_HASH( &(d)->font ) ^ \
-                      ( (d)->flags << 4 )           )
+                      ( (d)->flags << 4 )         )
 
 
   /*************************************************************************/
--- a/include/freetype/cache/ftcsbits.h
+++ b/include/freetype/cache/ftcsbits.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    A small-bitmap cache (specification).                                */
 /*                                                                         */
-/*  Copyright 2000-2001 by                                                 */
+/*  Copyright 2000-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -72,7 +72,7 @@
   /*                                                                       */
   /*    format    :: The format of the glyph bitmap (monochrome or gray).  */
   /*                                                                       */
-  /*    max_grays :: maximum gray level value, from 1 to 255               */
+  /*    max_grays :: Maximum gray level value (in the range 1 to 255).     */
   /*                                                                       */
   /*    pitch     :: The number of bytes per bitmap line.  May be positive */
   /*                 or negative.                                          */
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -1934,7 +1934,7 @@
   /*    glyph_index :: The index of the glyph in the font file.            */
   /*                                                                       */
   /*    load_flags  :: A flag indicating what to load for this glyph.  The */
-  /*                   FT_LOAD_XXX constants can be used to control the    */
+  /*                   @FT_LOAD_XXX constants can be used to control the   */
   /*                   glyph loading process (e.g., whether the outline    */
   /*                   should be scaled, whether to load bitmaps or not,   */
   /*                   whether to hint the outline, etc).                  */
@@ -1975,7 +1975,7 @@
   /*                   current charmap used in the face.                   */
   /*                                                                       */
   /*    load_flags  :: A flag indicating what to load for this glyph.  The */
-  /*                   FT_LOAD_XXX constants can be used to control the    */
+  /*                   @FT_LOAD_XXX constants can be used to control the   */
   /*                   glyph loading process (e.g., whether the outline    */
   /*                   should be scaled, whether to load bitmaps or not,   */
   /*                   whether to hint the outline, etc).                  */
@@ -2002,133 +2002,127 @@
                 FT_Int32  load_flags );
 
 
-/****************************************************************************
- *
- * @enum: FT_LOAD_XXX
- *
- * @description:
- *   a list of bit-field constants, used with @FT_Load_Glyph to indicate
- *   what kind of operations to perform during glyph loading
- *
- * @values:
- *   FT_LOAD_DEFAULT ::
- *     corresponding to 0, this value is used a default glyph load. In this
- *     case, the following will happen:
- *
- *     1/ FreeType will look for a bitmap for the glyph corresponding to
- *        the face's current size. If one is found, the function returns.
- *        the bitmap data can be accessed from the glyph slot (see note
- *        below)
- *
- *     2/ If no embedded bitmap is searched or found, FreeType looks for
- *        a scalable outline. If one is found, it is loaded from the font
- *        file, scaled to device pixels, then "hinted" to the pixel grid
- *        in order to optimize it. the outline data can be accessed from
- *        the glyph slot (see note below)
- *
- *     Note that by default, the glyph loader doesn't render outlines into
- *     bitmaps. the following flags are used to modify this default behaviour
- *     to more specific and useful cases.
- *
- *   FT_LOAD_NO_SCALE ::
- *     indicates that the vector outline being loaded should not be scaled
- *     to 26.6 fractional pixels, but kept in font units. Note that this
- *     also disables hinting and the loading of embedded bitmaps. You should
- *     only use it when you want to retrieve the original glyph outlines
- *     in font units.
- *
- *   FT_LOAD_NO_HINTING ::
- *     indicates that the glyph outlines should not be hinted after their
- *     scaling to device pixels. This generally generates "blurrier" glyphs
- *     in anti-aliased modes.
- *
- *     this flag is ignored if @FT_LOAD_NO_SCALE is set
- *
- *   FT_LOAD_RENDER ::
- *     indicates that the glyph outline should be rendered immediately into
- *     a bitmap before the glyph loader returns. By default, the glyph is
- *     rendered for the @FT_RENDER_MODE_NORMAL mode, which corresponds to
- *     8-bit anti-aliased bitmaps using 256 opacity levels. You can use
- *     either @FT_LOAD_TARGET_MONO or @FT_LOAD_MONOCHROME to render
- *     1-bit monochrome bitmaps
- *
- *     This flag is ignored if @FT_LOAD_NO_SCALE is set
- *
- *
- *   FT_LOAD_NO_BITMAP ::
- *     indicates that you do not want to look for bitmaps when loading
- *     the glyph. Only scalable outlines will be loaded when available,
- *     and scaled/hinted/rendered depending on other bit flags
- *
- *     this does not prevent you from rendering outlines to bitmaps
- *     with @FT_LOAD_RENDER however.
- *
- *   FT_LOAD_VERTICAL_LAYOUT ::
- *     indicates that the glyph image should be prepared for vertical
- *     text layout. This basically means that 'face.glyph.advance' will
- *     correspond to the vertical advance height (instead of the default
- *     horizontal advance width), and that the glyph image will be
- *     translated to match the vertical bearings positions
- *
- *   FT_LOAD_FORCE_AUTOHINT ::
- *     indicates that you want to force the use of the FreeType auto-hinter
- *     when a glyph outline is loaded. You shouldn't need this in a typical
- *     application, since it's mostly used to experiment with its algorithm
- *
- *   FT_LOAD_CROP_BITMAP ::
- *     indicates that the glyph loader should try to crop the bitmap (i.e.
- *     remove all space around its black bits) when loading it. This is
- *     only useful when loading embedded bitmaps in certain fonts, since
- *     bitmaps rendered with @FT_LOAD_RENDER are always cropped by default
- *
- *   FT_LOAD_PEDANTIC ::
- *     indicates that the glyph loader should perform pedantic verifications
- *     during glyph loading. This is mostly used to detect broken glyphs in
- *     fonts. By default, FreeType will always try to deal with such cases.
- *
- *   FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
- *     indicates that the glyph loader should ignore the global advance
- *     width defined in the font. As far as we know, this is only used by the
- *     X-TrueType font server, in order to deal correctly with the incorrect
- *     metrics contained in DynaLab's TrueType CJK fonts.
- *
- *   FT_LOAD_NO_RECURSE ::
- *     this flag is only used internally. It merely indicates that the glyph
- *     loader should not load composite glyphs recursively. Instead, it should
- *     set the 'num_subglyph' and 'subglyphs' values of the glyph slot
- *     accordingly, and set "glyph->format" to @FT_GLYPH_FORMAT_COMPOSITE
- *
- *     the description of sub-glyphs is not available to client applications
- *     for now
- *
- *   FT_LOAD_IGNORE_TRANSFORM ::
- *     indicates that the glyph loader should not try to transform the
- *     loaded glyph image. This doesn't prevent scaling/hinting/rendering
- *
- *   FT_LOAD_MONOCHROME ::
- *     this flag is used with @FT_LOAD_RENDER to indicate that you want
- *     to render a 1-bit monochrome glyph bitmap from a vectorial outline.
- *
- *     note that this has no effect on the hinting algorithm used by the
- *     glyph loader. You'd better use @FT_LOAD_TARGET_MONO if you want to
- *     render monochrome-optimized glyph images instead.
- *
- *   FT_LOAD_LINEAR_DESIGN ::
- *     indicates that the function should return the linearly scaled metrics
- *     expressed in original font units, instead of the default 16.16 pixel
- *     values
- *
- *   FT_LOAD_NO_AUTOHINT ::
- *     indicates that the auto-hinter should never be used to hint glyph
- *     outlines. This doesn't prevent native format-specific hinters from
- *     being used. This can be important for certain fonts where un-hinted
- *     output is better than auto-hinted one.
- *
- *
- *
- *
- *
- */
+ /****************************************************************************
+  *
+  * @enum:
+  *   FT_LOAD_XXX
+  *
+  * @description:
+  *   A list of bit-field constants, used with @FT_Load_Glyph to indicate
+  *   what kind of operations to perform during glyph loading.
+  *
+  * @values:
+  *   FT_LOAD_DEFAULT ::
+  *     Corresponding to 0, this value is used a default glyph load.  In this
+  *     case, the following will happen:
+  *
+  *     1. FreeType looks for a bitmap for the glyph corresponding to the
+  *        face's current size.  If one is found, the function returns.  The
+  *        bitmap data can be accessed from the glyph slot (see note below).
+  *
+  *     2. If no embedded bitmap is searched or found, FreeType looks for a
+  *        scalable outline.  If one is found, it is loaded from the font
+  *        file, scaled to device pixels, then "hinted" to the pixel grid in
+  *        order to optimize it.  The outline data can be accessed from the
+  *        glyph slot (see note below).
+  *
+  *     Note that by default, the glyph loader doesn't render outlines into
+  *     bitmaps.  The following flags are used to modify this default
+  *     behaviour to more specific and useful cases.
+  *
+  *   FT_LOAD_NO_SCALE ::
+  *     Don't scale the vector outline being loaded to 26.6 fractional
+  *     pixels, but kept in font units.  Note that this also disables
+  *     hinting and the loading of embedded bitmaps.  You should only use it
+  *     when you want to retrieve the original glyph outlines in font units.
+  *
+  *   FT_LOAD_NO_HINTING ::
+  *     Don't hint glyph outlines after their scaling to device pixels. 
+  *     This generally generates "blurrier" glyphs in anti-aliased modes.
+  *
+  *     This flag is ignored if @FT_LOAD_NO_SCALE is set.
+  *
+  *   FT_LOAD_RENDER ::
+  *     Render the glyph outline immediately into a bitmap before the glyph
+  *     loader returns.  By default, the glyph is rendered for the
+  *     @FT_RENDER_MODE_NORMAL mode, which corresponds to 8-bit anti-aliased
+  *     bitmaps using 256 opacity levels.  You can use either
+  *     @FT_LOAD_TARGET_MONO or @FT_LOAD_MONOCHROME to render 1-bit
+  *     monochrome bitmaps.
+  *
+  *     This flag is ignored if @FT_LOAD_NO_SCALE is set.
+  *
+  *   FT_LOAD_NO_BITMAP ::
+  *     Don't look for bitmaps when loading the glyph.  Only scalable
+  *     outlines will be loaded when available, and scaled, hinted, or
+  *     rendered depending on other bit flags.
+  *
+  *     This does not prevent you from rendering outlines to bitmaps
+  *     with @FT_LOAD_RENDER, however.
+  *
+  *   FT_LOAD_VERTICAL_LAYOUT ::
+  *     Prepare the glyph image for vertical text layout.  This basically
+  *     means that `face.glyph.advance' will correspond to the vertical
+  *     advance height (instead of the default horizontal advance width),
+  *     and that the glyph image will be translated to match the vertical
+  *     bearings positions.
+  *
+  *   FT_LOAD_FORCE_AUTOHINT ::
+  *     Force the use of the FreeType auto-hinter when a glyph outline is
+  *     loaded.  You shouldn't need this in a typical application, since it
+  *     is mostly used to experiment with its algorithm.
+  *
+  *   FT_LOAD_CROP_BITMAP ::
+  *     Indicates that the glyph loader should try to crop the bitmap (i.e.,
+  *     remove all space around its black bits) when loading it.  This is
+  *     only useful when loading embedded bitmaps in certain fonts, since
+  *     bitmaps rendered with @FT_LOAD_RENDER are always cropped by default.
+  *
+  *   FT_LOAD_PEDANTIC ::
+  *     Indicates that the glyph loader should perform pedantic
+  *     verifications during glyph loading, rejecting invalid fonts.  This
+  *     is mostly used to detect broken glyphs in fonts.  By default,
+  *     FreeType tries to handle broken fonts also.
+  *
+  *   FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ::
+  *     Indicates that the glyph loader should ignore the global advance
+  *     width defined in the font.  As far as we know, this is only used by
+  *     the X-TrueType font server, in order to deal correctly with the
+  *     incorrect metrics contained in DynaLab's TrueType CJK fonts.
+  *
+  *   FT_LOAD_NO_RECURSE ::
+  *     This flag is only used internally.  It merely indicates that the
+  *     glyph loader should not load composite glyphs recursively.  Instead,
+  *     it should set the `num_subglyph' and `subglyphs' values of the glyph
+  *     slot accordingly, and set "glyph->format" to
+  *     @FT_GLYPH_FORMAT_COMPOSITE.
+  *
+  *     The description of sub-glyphs is not available to client
+  *     applications for now.
+  *
+  *   FT_LOAD_IGNORE_TRANSFORM ::
+  *     Indicates that the glyph loader should not try to transform the
+  *     loaded glyph image.  This doesn't prevent scaling, hinting, or
+  *     rendering.
+  *
+  *   FT_LOAD_MONOCHROME ::
+  *     This flag is used with @FT_LOAD_RENDER to indicate that you want
+  *     to render a 1-bit monochrome glyph bitmap from a vectorial outline.
+  *
+  *     Note that this has no effect on the hinting algorithm used by the
+  *     glyph loader.  You should better use @FT_LOAD_TARGET_MONO if you
+  *     want to render monochrome-optimized glyph images instead.
+  *
+  *   FT_LOAD_LINEAR_DESIGN ::
+  *     Return the linearly scaled metrics expressed in original font units
+  *     instead of the default 16.16 pixel values.
+  *
+  *   FT_LOAD_NO_AUTOHINT ::
+  *     Indicates that the auto-hinter should never be used to hint glyph
+  *     outlines.  This doesn't prevent native format-specific hinters from
+  *     being used.  This can be important for certain fonts where unhinted
+  *     output is better than auto-hinted one.
+  */
 #define FT_LOAD_NO_SCALE                     0x1
 #define FT_LOAD_NO_HINTING                   0x2
 #define FT_LOAD_RENDER                       0x4
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -5,7 +5,7 @@
 /*    FreeType glyph image formats and default raster interface            */
 /*    (specification).                                                     */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -429,20 +429,21 @@
 
  /*************************************************************************
   *
-  * @enum: ft_outline_xxx
+  * @enum:
+  *   ft_outline_xxx
   *
   * @description:
-  *   these constants are deprecated. Please use the corresponding
-  *   @FT_OUTLINE_XXX values
+  *   These constants are deprecated.  Please use the corresponding
+  *   @FT_OUTLINE_XXX values.
   *
   * @values:
-  *   ft_outline_none            :: see @FT_OUTLINE_NONE
-  *   ft_outline_owner           :: see @FT_OUTLINE_OWNER
-  *   ft_outline_even_odd_fill   :: see @FT_OUTLINE_EVEN_ODD_FILL
-  *   ft_outline_reverse_fill    :: see @FT_OUTLINE_REVERSE_FILL
-  *   ft_outline_ignore_dropouts :: see @FT_OUTLINE_IGNORE_DROPOUTS
-  *   ft_outline_high_precision  :: see @FT_OUTLINE_HIGH_PRECISION
-  *   ft_outline_single_pass     :: see @FT_OUTLINE_SINGLE_PASS
+  *   ft_outline_none            :: See @FT_OUTLINE_NONE.
+  *   ft_outline_owner           :: See @FT_OUTLINE_OWNER.
+  *   ft_outline_even_odd_fill   :: See @FT_OUTLINE_EVEN_ODD_FILL.
+  *   ft_outline_reverse_fill    :: See @FT_OUTLINE_REVERSE_FILL.
+  *   ft_outline_ignore_dropouts :: See @FT_OUTLINE_IGNORE_DROPOUTS.
+  *   ft_outline_high_precision  :: See @FT_OUTLINE_HIGH_PRECISION.
+  *   ft_outline_single_pass     :: See @FT_OUTLINE_SINGLE_PASS.
   */
 #define ft_outline_none             FT_OUTLINE_NONE
 #define ft_outline_owner            FT_OUTLINE_OWNER
--- a/include/freetype/ftsysio.h
+++ b/include/freetype/ftsysio.h
@@ -5,7 +5,7 @@
  /************************************************************************/
  /*****                                                              *****/
  /*****    NOTE: THE CONTENT OF THIS FILE IS NOT CURRENTLY USED      *****/
- /*****          IN NORMAL BUILDS. CONSIDER IT EXPERIMENTAL          *****/
+ /*****          IN NORMAL BUILDS.  CONSIDER IT EXPERIMENTAL.        *****/
  /*****                                                              *****/
  /************************************************************************/
  /************************************************************************/
--- a/include/freetype/ftsysmem.h
+++ b/include/freetype/ftsysmem.h
@@ -9,7 +9,7 @@
  /************************************************************************/
  /*****                                                              *****/
  /*****    NOTE: THE CONTENT OF THIS FILE IS NOT CURRENTLY USED      *****/
- /*****          IN NORMAL BUILDS. CONSIDER IT EXPERIMENTAL          *****/
+ /*****          IN NORMAL BUILDS.  CONSIDER IT EXPERIMENTAL.        *****/
  /*****                                                              *****/
  /************************************************************************/
  /************************************************************************/
--- a/src/cache/ftcimage.c
+++ b/src/cache/ftcimage.c
@@ -110,7 +110,8 @@
                                      &face, &size );
     if ( !error )
     {
-      FT_UInt  gindex     = FTC_GLYPH_NODE_GINDEX( inode );
+      FT_UInt  gindex = FTC_GLYPH_NODE_GINDEX( inode );
+
 
       error = FT_Load_Glyph( face, gindex, ifam->type.flags );
       if ( !error )