shithub: freetype+ttf2subf

Download patch

ref: 6756dc15ba424186394ca3f295ba8d125b0f047e
parent: fd74ec68b44fe2346b89ccc485a1d451f26df9d6
author: Werner Lemberg <[email protected]>
date: Fri May 12 04:00:13 EDT 2006

* src/tools/docmaker/sources.py (re_source_keywords): Add word
boundary markers.
* src/tools/docmaker/content.py (re_field): Allow `.' in field names
(but not at the beginning or end).

* include/freetype/*: Many minor documentation improvements (adding
links, spelling errors, etc.).

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-05-12  Werner Lemberg  <[email protected]>
+
+	* src/tools/docmaker/sources.py (re_source_keywords): Add word
+	boundary markers.
+	* src/tools/docmaker/content.py (re_field): Allow `.' in field names
+	(but not at the beginning or end).
+
+	* include/freetype/*: Many minor documentation improvements (adding
+	links, spelling errors, etc.).
+
 2006-05-11  Werner Lemberg  <[email protected]>
 
 	* README: Minor updates.
--- a/include/freetype/config/ftheader.h
+++ b/include/freetype/config/ftheader.h
@@ -363,7 +363,7 @@
    *
    * @description:
    *   A macro used in #include statements to name the file containing the
-   *   definitions of TrueType 4-byte `tags' used to identify blocks in
+   *   definitions of TrueType four-byte `tags' used to identify blocks in
    *   SFNT-based font formats (i.e., TrueType and OpenType).
    *
    */
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -25,10 +25,6 @@
 #endif
 
 
-#ifndef __FREETYPE_H__
-#define __FREETYPE_H__
-
-
   /*************************************************************************/
   /*                                                                       */
   /* The `raster' component duplicates some of the declarations in         */
@@ -36,15 +32,8 @@
   /*                                                                       */
 
 
-  /*************************************************************************/
-  /*                                                                       */
-  /* The FREETYPE_MAJOR and FREETYPE_MINOR macros are used to version the  */
-  /* new FreeType design, which is able to host several kinds of font      */
-  /* drivers.  It starts at 2.0.                                           */
-  /*                                                                       */
-#define FREETYPE_MAJOR 2
-#define FREETYPE_MINOR 2
-#define FREETYPE_PATCH 1
+#ifndef __FREETYPE_H__
+#define __FREETYPE_H__
 
 
 #include <ft2build.h>
@@ -59,6 +48,86 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Section>                                                             */
+  /*    version                                                            */
+  /*                                                                       */
+  /* <Title>                                                               */
+  /*    FreeType Version                                                   */
+  /*                                                                       */
+  /* <Abstract>                                                            */
+  /*    Functions and macros related to FreeType versions.                 */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Note that those functions and macros are of limited use because    */
+  /*    even a new release of FreeType with only documentation changes     */
+  /*    increases the version number.                                      */
+  /*                                                                       */
+  /*************************************************************************/
+
+
+  /*************************************************************************
+   *
+   *  @enum:
+   *    FREETYPE_XXX
+   *
+   *  @description:
+   *    These three macros identify the FreeType source code version.
+   *    Use @FT_Library_Version to access them at runtime.
+   *
+   *  @values:
+   *    FREETYPE_MAJOR :: The major version number.
+   *    FREETYPE_MINOR :: The minor version number.
+   *    FREETYPE_PATCH :: The patch level.
+   *
+   *  @note:
+   *    The version number of FreeType if built as a dynamic link library
+   *    with the `libtool' package is _not_ controlled by these three
+   *    macros.
+   */
+#define FREETYPE_MAJOR  2
+#define FREETYPE_MINOR  2
+#define FREETYPE_PATCH  1
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Function>                                                            */
+  /*    FT_Library_Version                                                 */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    Return the version of the FreeType library being used.  This is    */
+  /*    useful when dynamically linking to the library, since one cannot   */
+  /*    use the macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and               */
+  /*    @FREETYPE_PATCH.                                                   */
+  /*                                                                       */
+  /* <Input>                                                               */
+  /*    library :: A source library handle.                                */
+  /*                                                                       */
+  /* <Output>                                                              */
+  /*    amajor  :: The major version number.                               */
+  /*                                                                       */
+  /*    aminor  :: The minor version number.                               */
+  /*                                                                       */
+  /*    apatch  :: The patch version number.                               */
+  /*                                                                       */
+  /* <Note>                                                                */
+  /*    The reason why this function takes a `library' argument is because */
+  /*    certain programs implement library initialization in a custom way  */
+  /*    that doesn't use @FT_Init_FreeType.                                */
+  /*                                                                       */
+  /*    In such cases, the library version might not be available before   */
+  /*    the library object has been created.                               */
+  /*                                                                       */
+  FT_EXPORT( void )
+  FT_Library_Version( FT_Library   library,
+                      FT_Int      *amajor,
+                      FT_Int      *aminor,
+                      FT_Int      *apatch );
+
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Section>                                                             */
   /*    user_allocation                                                    */
   /*                                                                       */
   /* <Title>                                                               */
@@ -76,6 +145,7 @@
   /*************************************************************************/
 
 
+
   /*************************************************************************/
   /*************************************************************************/
   /*                                                                       */
@@ -136,7 +206,6 @@
   /*                                                                       */
   /*    FT_Init_FreeType                                                   */
   /*    FT_Done_FreeType                                                   */
-  /*    FT_Library_Version                                                 */
   /*                                                                       */
   /*    FT_New_Face                                                        */
   /*    FT_Done_Face                                                       */
@@ -443,7 +512,7 @@
   /*                                                                       */
   /*    In other words, each time you call @FT_Load_Glyph or               */
   /*    @FT_Load_Char, the slot's content is erased by the new glyph data, */
-  /*    i.e. the glyph's metrics, its image (bitmap or outline), and       */
+  /*    i.e., the glyph's metrics, its image (bitmap or outline), and      */
   /*    other control information.                                         */
   /*                                                                       */
   /* <Also>                                                                */
@@ -816,9 +885,9 @@
   /*                           formats provide a style name, so this field */
   /*                           is optional, and can be set to NULL.  As    */
   /*                           for `family_name', some formats provide     */
-  /*                           localized/Unicode versions of this string.  */
-  /*                           Applications should use the format specific */
-  /*                           interface to access them.                   */
+  /*                           localized and Unicode versions of this      */
+  /*                           string.  Applications should use the format */
+  /*                           specific interface to access them.          */
   /*                                                                       */
   /*    num_fixed_sizes     :: The number of bitmap strikes in the face.   */
   /*                           Even if the face is scalable, there might   */
@@ -1150,7 +1219,6 @@
 #define FT_HAS_FIXED_SIZES( face ) \
           ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
 
-
   /* */
 
 
@@ -1221,7 +1289,7 @@
   /*    FT_Size_Internal                                                   */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    An opaque handle to an FT_Size_InternalRec structure, used to      */
+  /*    An opaque handle to an `FT_Size_InternalRec' structure, used to    */
   /*    model private data of a given FT_Size object.                      */
   /*                                                                       */
   typedef struct FT_Size_InternalRec_*  FT_Size_Internal;
@@ -1350,7 +1418,7 @@
   /*    FT_Slot_Internal                                                   */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    An opaque handle to an FT_Slot_InternalRec structure, used to      */
+  /*    An opaque handle to an `FT_Slot_InternalRec' structure, used to    */
   /*    model private data of a given FT_GlyphSlot object.                 */
   /*                                                                       */
   typedef struct FT_Slot_InternalRec_*  FT_Slot_Internal;
@@ -1363,8 +1431,8 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    FreeType root glyph slot class structure.  A glyph slot is a       */
-  /*    container where individual glyphs can be loaded, be they           */
-  /*    outline or bitmap.                                                 */
+  /*    container where individual glyphs can be loaded, be they in        */
+  /*    outline or bitmap format.                                          */
   /*                                                                       */
   /* <Fields>                                                              */
   /*    library           :: A handle to the FreeType library instance     */
@@ -1489,7 +1557,7 @@
   /*                                                                       */
   /*    Note that `slot->bitmap_left' and `slot->bitmap_top' are also used */
   /*    to specify the position of the bitmap relative to the current pen  */
-  /*    position (e.g. coordinates [0,0] on the baseline).  Of course,     */
+  /*    position (e.g., coordinates (0,0) on the baseline).  Of course,    */
   /*    `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP.         */
   /*                                                                       */
   /* <Note>                                                                */
@@ -1588,42 +1656,6 @@
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
-  /*    FT_Library_Version                                                 */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    Return the version of the FreeType library being used.  This is    */
-  /*    useful when dynamically linking to the library, since one cannot   */
-  /*    use the macros FT_FREETYPE_MAJOR, FT_FREETYPE_MINOR, and           */
-  /*    FT_FREETYPE_PATCH.                                                 */
-  /*                                                                       */
-  /* <Input>                                                               */
-  /*    library :: A source library handle.                                */
-  /*                                                                       */
-  /* <Output>                                                              */
-  /*    amajor :: The major version number.                                */
-  /*                                                                       */
-  /*    aminor :: The minor version number.                                */
-  /*                                                                       */
-  /*    apatch :: The patch version number.                                */
-  /*                                                                       */
-  /* <Note>                                                                */
-  /*    The reason why this function takes a `library' argument is because */
-  /*    certain programs implement library initialization in a custom way  */
-  /*    that doesn't use `FT_Init_FreeType'.                               */
-  /*                                                                       */
-  /*    In such cases, the library version might not be available before   */
-  /*    the library object has been created.                               */
-  /*                                                                       */
-  FT_EXPORT( void )
-  FT_Library_Version( FT_Library   library,
-                      FT_Int      *amajor,
-                      FT_Int      *aminor,
-                      FT_Int      *apatch );
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Function>                                                            */
   /*    FT_Done_FreeType                                                   */
   /*                                                                       */
   /* <Description>                                                         */
@@ -1659,7 +1691,7 @@
   /*                                                                       */
   /*    FT_OPEN_DRIVER      :: Use the `driver' field.                     */
   /*                                                                       */
-  /*    FT_OPEN_PARAMS      :: Use the `num_params' & `params' field.      */
+  /*    FT_OPEN_PARAMS      :: Use the `num_params' and `params' fields.   */
   /*                                                                       */
   /*    ft_open_memory      :: Deprecated; use @FT_OPEN_MEMORY instead.    */
   /*                                                                       */
@@ -1698,12 +1730,12 @@
   /*    to @FT_Open_Face.                                                  */
   /*                                                                       */
   /* <Fields>                                                              */
-  /*    tag  :: A 4-byte identification tag.                               */
+  /*    tag  :: A four-byte identification tag.                            */
   /*                                                                       */
   /*    data :: A pointer to the parameter data.                           */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    The id and function of parameters are driver-specific.             */
+  /*    The ID and function of parameters are driver-specific.             */
   /*                                                                       */
   typedef struct  FT_Parameter_
   {
@@ -1719,9 +1751,9 @@
   /*    FT_Open_Args                                                       */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    A structure used to indicate how to open a new font file/stream.   */
-  /*    A pointer to such a structure can be used as a parameter for the   */
-  /*    functions @FT_Open_Face and @FT_Attach_Stream.                     */
+  /*    A structure used to indicate how to open a new font file or        */
+  /*    stream.  A pointer to such a structure can be used as a parameter  */
+  /*    for the functions @FT_Open_Face and @FT_Attach_Stream.             */
   /*                                                                       */
   /* <Fields>                                                              */
   /*    flags       :: A set of bit flags indicating how to use the        */
@@ -1752,7 +1784,7 @@
   /*    If the `FT_OPEN_MEMORY' bit is set, assume that this is a          */
   /*    memory file of `memory_size' bytes, located at `memory_address'.   */
   /*    The data are are not copied, and the client is responsible for     */
-  /*    releasing/destroying them _after_ the corresponding call to        */
+  /*    releasing and destroying them _after_ the corresponding call to    */
   /*    @FT_Done_Face.                                                     */
   /*                                                                       */
   /*    Otherwise, if the `FT_OPEN_STREAM' bit is set, assume that a       */
@@ -1801,7 +1833,7 @@
   /* <Output>                                                              */
   /*    aface      :: A handle to a new face object.  If `face_index' is   */
   /*                  greater than or equal to zero, it must be non-NULL.  */
-  /*                  See note below.                                      */
+  /*                  See @FT_Open_Face for more details.                  */
   /*                                                                       */
   /* <Return>                                                              */
   /*    FreeType error code.  0 means success.                             */
@@ -1836,7 +1868,7 @@
   /* <Output>                                                              */
   /*    aface      :: A handle to a new face object.  If `face_index' is   */
   /*                  greater than or equal to zero, it must be non-NULL.  */
-  /*                  See note below.                                      */
+  /*                  See @FT_Open_Face for more details.                  */
   /*                                                                       */
   /* <Return>                                                              */
   /*    FreeType error code.  0 means success.                             */
@@ -1881,7 +1913,7 @@
   /*    slot for the face object which can be accessed directly through    */
   /*    `face->glyph'.                                                     */
   /*                                                                       */
-  /*    @FT_Open_Face can be used to quickly check whether the font        */
+  /*    FT_Open_Face can be used to quickly check whether the font         */
   /*    format of a given font resource is supported by FreeType.  If the  */
   /*    `face_index' field is negative, the function's return value is 0   */
   /*    if the font format is recognized, or non-zero otherwise;           */
@@ -1929,7 +1961,7 @@
   /*    FT_Attach_Stream                                                   */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    `Attach' data to a face object.  This is usually used to read      */
+  /*    `Attach' data to a face object.  Normally, this is used to read    */
   /*    additional information for the face object.  For example, you can  */
   /*    attach an AFM file that comes with a Type 1 font to get the        */
   /*    kerning values and other metrics.                                  */
@@ -1945,7 +1977,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    The meaning of the `attach' (i.e. what really happens when the     */
+  /*    The meaning of the `attach' (i.e., what really happens when the    */
   /*    new file is read) is not fixed by FreeType itself.  It really      */
   /*    depends on the font format (and thus the font driver).             */
   /*                                                                       */
@@ -2037,7 +2069,7 @@
   /*                                                                       */
   /* <Note>                                                                */
   /*    The above descriptions only apply to scalable formats.  For bitmap */
-  /*    formats, the behavior is up to the driver.                         */
+  /*    formats, the behaviour is up to the driver.                        */
   /*                                                                       */
   /*    See the note section of @FT_Size_Metrics if you wonder how size    */
   /*    requesting relates to scaling values.                              */
@@ -2127,8 +2159,8 @@
   /*    FT_Set_Char_Size                                                   */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This funcion calls @FT_Request_Size to request the nominal size,   */
-  /*    in points.                                                         */
+  /*    This function calls @FT_Request_Size to request the nominal size   */
+  /*    (in points).                                                       */
   /*                                                                       */
   /* <InOut>                                                               */
   /*    face            :: A handle to a target face object.               */
@@ -2163,8 +2195,8 @@
   /*    FT_Set_Pixel_Sizes                                                 */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This funcion calls @FT_Request_Size to request the nominal size,   */
-  /*    in pixels.                                                         */
+  /*    This function calls @FT_Request_Size to request the nominal size   */
+  /*    (in pixels).                                                       */
   /*                                                                       */
   /* <InOut>                                                               */
   /*    face         :: A handle to the target face object.                */
@@ -2553,13 +2585,13 @@
   /*      This mode corresponds to 1-bit bitmaps.                          */
   /*                                                                       */
   /*    FT_RENDER_MODE_LCD ::                                              */
-  /*      This mode corresponds to horizontal RGB/BGR sub-pixel displays,  */
-  /*      like LCD-screens.  It produces 8-bit bitmaps that are 3 times    */
-  /*      the width of the original glyph outline in pixels, and which use */
-  /*      the @FT_PIXEL_MODE_LCD mode.                                     */
+  /*      This mode corresponds to horizontal RGB and BGR sub-pixel        */
+  /*      displays, like LCD-screens.  It produces 8-bit bitmaps that are  */
+  /*      3 times the width of the original glyph outline in pixels, and   */
+  /*      which use the @FT_PIXEL_MODE_LCD mode.                           */
   /*                                                                       */
   /*    FT_RENDER_MODE_LCD_V ::                                            */
-  /*      This mode corresponds to vertical RGB/BGR sub-pixel displays     */
+  /*      This mode corresponds to vertical RGB and BGR sub-pixel displays */
   /*      (like PDA screens, rotated LCD displays, etc.).  It produces     */
   /*      8-bit bitmaps that are 3 times the height of the original        */
   /*      glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode.   */
@@ -2588,7 +2620,7 @@
   /*    ft_render_mode_xxx                                                 */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    These constats are deprecated.  Use the corresponding              */
+  /*    These constants are deprecated.  Use the corresponding             */
   /*    @FT_Render_Mode values instead.                                    */
   /*                                                                       */
   /* <Values>                                                              */
@@ -2606,7 +2638,8 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Convert a given glyph image to a bitmap.  It does so by inspecting */
-  /*    the glyph image format, find the relevant renderer, and invoke it. */
+  /*    the glyph image format, finding the relevant renderer, and         */
+  /*    invoking it.                                                       */
   /*                                                                       */
   /* <InOut>                                                               */
   /*    slot        :: A handle to the glyph slot containing the image to  */
@@ -2614,8 +2647,8 @@
   /*                                                                       */
   /* <Input>                                                               */
   /*    render_mode :: This is the render mode used to render the glyph    */
-  /*                   image into a bitmap.  See FT_Render_Mode for a list */
-  /*                   of possible values.                                 */
+  /*                   image into a bitmap.  See @FT_Render_Mode for a     */
+  /*                   list of possible values.                            */
   /*                                                                       */
   /* <Return>                                                              */
   /*    FreeType error code.  0 means success.                             */
@@ -2764,7 +2797,7 @@
   /*    FT_Get_Glyph_Name                                                  */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Retriev the ASCII name of a given glyph in a face.  This only      */
+  /*    Retrieve the ASCII name of a given glyph in a face.  This only     */
   /*    works for those faces where @FT_HAS_GLYPH_NAMES(face) returns      */
   /*    TRUE.                                                              */
   /*                                                                       */
@@ -2792,8 +2825,8 @@
   /*    long.  The returned string is always zero-terminated.              */
   /*                                                                       */
   /*    This function is not compiled within the library if the config     */
-  /*    macro FT_CONFIG_OPTION_NO_GLYPH_NAMES is defined in                */
-  /*    `include/freetype/config/ftoptions.h'                              */
+  /*    macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in              */
+  /*    `include/freetype/config/ftoptions.h'.                             */
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FT_Get_Glyph_Name( FT_Face     face,
@@ -2858,7 +2891,7 @@
   /*    FT_Set_Charmap                                                     */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Select a given charmap for character code to glyph index decoding. */
+  /*    Select a given charmap for character code to glyph index mapping.  */
   /*                                                                       */
   /* <InOut>                                                               */
   /*    face    :: A handle to the source face object.                     */
@@ -2871,7 +2904,7 @@
   /*                                                                       */
   /* <Note>                                                                */
   /*    This function returns an error if the charmap is not part of       */
-  /*    the face (i.e., if it is not listed in the face->charmaps[]        */
+  /*    the face (i.e., if it is not listed in the `face->charmaps'        */
   /*    table).                                                            */
   /*                                                                       */
   FT_EXPORT( FT_Error )
@@ -2907,7 +2940,7 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Return the glyph index of a given character code.  This function   */
-  /*    uses a charmap object to do the translation.                       */
+  /*    uses a charmap object to do the mapping.                           */
   /*                                                                       */
   /* <Input>                                                               */
   /*    face     :: A handle to the source face object.                    */
@@ -3000,8 +3033,8 @@
   /*                                                                       */
   /* <Note>                                                                */
   /*    You should use this function with @FT_Get_First_Char to walk       */
-  /*    through all character codes available in a given charmap.  See     */
-  /*    the note for this function for a simple code example.              */
+  /*    over all character codes available in a given charmap.  See the    */
+  /*    note for this function for a simple code example.                  */
   /*                                                                       */
   /*    Note that `*agindex' is set to 0 when there are no more codes in   */
   /*    the charmap.                                                       */
@@ -3099,9 +3132,9 @@
    *   FreeType error code.  0 means success.
    *
    * @note:
-   *   The values of *p_arg1, *p_arg2 and *p_transform must be interpreted
-   *   depending on the flags returns in *p_flags.  See the TrueType
-   *   specification for details.
+   *   The values of `*p_arg1', `*p_arg2', and `*p_transform' must be
+   *   interpreted depending on the flags returned in `*p_flags'.  See the
+   *   TrueType specification for details.
    *
    */
   FT_EXPORT( FT_Error )
@@ -3310,7 +3343,6 @@
   FT_EXPORT( void )
   FT_Vector_Transform( FT_Vector*        vec,
                        const FT_Matrix*  matrix );
-
 
   /* */
 
--- a/include/freetype/ftbitmap.h
+++ b/include/freetype/ftbitmap.h
@@ -57,7 +57,7 @@
   /*    FT_Bitmap_New                                                      */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Initialize a pointer to an FT_Bitmap structure.                    */
+  /*    Initialize a pointer to an @FT_Bitmap structure.                   */
   /*                                                                       */
   /* <InOut>                                                               */
   /*    abitmap :: A pointer to the bitmap structure.                      */
@@ -121,7 +121,7 @@
   /*    or equal to 8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO.      */
   /*                                                                       */
   /*    If you want to embolden the bitmap owned by a @FT_GlyphSlotRec,    */
-  /*    you should call @FT_GlyphSlot_Own_Bitmap on the slot first.        */
+  /*    you should call `FT_GlyphSlot_Own_Bitmap' on the slot first.       */
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FT_Bitmap_Embolden( FT_Library  library,
--- a/include/freetype/ftcache.h
+++ b/include/freetype/ftcache.h
@@ -44,7 +44,7 @@
    *   objects, as well as caching information like character maps and glyph
    *   images while limiting their maximum memory usage.
    *
-   *   Note that all types and functions begin with the FTC_ prefix.
+   *   Note that all types and functions begin with the `FTC_' prefix.
    *
    *   The cache is highly portable and thus doesn't know anything about the
    *   fonts installed on your system, or how to access them.  This implies
@@ -384,9 +384,9 @@
   /*    _within_ the lookup and force incremental flushes of the cache     */
   /*    until enough memory is released for the lookup to succeed.         */
   /*                                                                       */
-  /*    If a lookup fails with @FT_Err_Out_Of_Memory the cache has already */
-  /*    been completely flushed, and still no memory was available for the */
-  /*    operation.                                                         */
+  /*    If a lookup fails with `FT_Err_Out_Of_Memory' the cache has        */
+  /*    already been completely flushed, and still no memory was available */
+  /*    for the operation.                                                 */
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FTC_Manager_LookupFace( FTC_Manager  manager,
@@ -444,7 +444,7 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Retrieve the @FT_Size object that corresponds to a given           */
-  /*    @FTC_Scaler through a cache manager.                               */
+  /*    @FTC_ScalerRec pointer through a cache manager.                    */
   /*                                                                       */
   /* <Input>                                                               */
   /*    manager :: A handle to the cache manager.                          */
@@ -470,9 +470,9 @@
   /*    _within_ the lookup and force incremental flushes of the cache     */
   /*    until enough memory is released for the lookup to succeed.         */
   /*                                                                       */
-  /*    If a lookup fails with FT_Err_Out_Of_Memory the cache has already  */
-  /*    been completely flushed, and still no memory is available for the  */
-  /*    operation.                                                         */
+  /*    If a lookup fails with `FT_Err_Out_Of_Memory' the cache has        */
+  /*    already been completely flushed, and still no memory is available  */
+  /*    for the operation.                                                 */
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FTC_Manager_LookupSize( FTC_Manager  manager,
@@ -759,12 +759,12 @@
   /*                                                                       */
   /*    If `anode' is _not_ NULL, it receives the address of the cache     */
   /*    node containing the glyph image, after increasing its reference    */
-  /*    count.  This ensures that the node (as well as the FT_Glyph) will  */
+  /*    count.  This ensures that the node (as well as the @FT_Glyph) will */
   /*    always be kept in the cache until you call @FTC_Node_Unref to      */
   /*    `release' it.                                                      */
   /*                                                                       */
   /*    If `anode' is NULL, the cache node is left unchanged, which means  */
-  /*    that the FT_Glyph could be flushed out of the cache on the next    */
+  /*    that the @FT_Glyph could be flushed out of the cache on the next   */
   /*    call to one of the caching sub-system APIs.  Don't assume that it  */
   /*    is persistent!                                                     */
   /*                                                                       */
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -134,10 +134,10 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used for bitmap glyph images.  This really is a        */
-  /*    `sub-class' of `FT_GlyphRec'.                                      */
+  /*    `sub-class' of @FT_GlyphRec.                                       */
   /*                                                                       */
   /* <Fields>                                                              */
-  /*    root   :: The root FT_Glyph fields.                                */
+  /*    root   :: The root @FT_Glyph fields.                               */
   /*                                                                       */
   /*    left   :: The left-side bearing, i.e., the horizontal distance     */
   /*              from the current pen position to the left border of the  */
@@ -150,11 +150,11 @@
   /*    bitmap :: A descriptor for the bitmap.                             */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    You can typecast a @FT_Glyph to @FT_BitmapGlyph if you have        */
+  /*    You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have       */
   /*    `glyph->format == FT_GLYPH_FORMAT_BITMAP'.  This lets you access   */
   /*    the bitmap's contents easily.                                      */
   /*                                                                       */
-  /*    The corresponding pixel buffer is always owned by the BitmapGlyph  */
+  /*    The corresponding pixel buffer is always owned by @FT_BitmapGlyph  */
   /*    and is thus created and destroyed with it.                         */
   /*                                                                       */
   typedef struct  FT_BitmapGlyphRec_
@@ -186,10 +186,10 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used for outline (vectorial) glyph images.  This       */
-  /*    really is a `sub-class' of `FT_GlyphRec'.                          */
+  /*    really is a `sub-class' of @FT_GlyphRec.                           */
   /*                                                                       */
   /* <Fields>                                                              */
-  /*    root    :: The root FT_Glyph fields.                               */
+  /*    root    :: The root @FT_Glyph fields.                              */
   /*                                                                       */
   /*    outline :: A descriptor for the outline.                           */
   /*                                                                       */
@@ -334,11 +334,11 @@
   /*    @FT_Glyph_BBox_Mode values instead.                                */
   /*                                                                       */
   /* <Values>                                                              */
-  /*   ft_glyph_bbox_unscaled  :: see @FT_GLYPH_BBOX_UNSCALED              */
-  /*   ft_glyph_bbox_subpixels :: see @FT_GLYPH_BBOX_SUBPIXELS             */
-  /*   ft_glyph_bbox_gridfit   :: see @FT_GLYPH_BBOX_GRIDFIT               */
-  /*   ft_glyph_bbox_truncate  :: see @FT_GLYPH_BBOX_TRUNCATE              */
-  /*   ft_glyph_bbox_pixels    :: see @FT_GLYPH_BBOX_PIXELS                */
+  /*   ft_glyph_bbox_unscaled  :: See @FT_GLYPH_BBOX_UNSCALED.             */
+  /*   ft_glyph_bbox_subpixels :: See @FT_GLYPH_BBOX_SUBPIXELS.            */
+  /*   ft_glyph_bbox_gridfit   :: See @FT_GLYPH_BBOX_GRIDFIT.              */
+  /*   ft_glyph_bbox_truncate  :: See @FT_GLYPH_BBOX_TRUNCATE.             */
+  /*   ft_glyph_bbox_pixels    :: See @FT_GLYPH_BBOX_PIXELS.               */
   /*                                                                       */
 #define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
 #define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
@@ -353,7 +353,7 @@
   /*    FT_Glyph_Get_CBox                                                  */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Returns a glyph's `control box'.  The control box encloses all the */
+  /*    Return a glyph's `control box'.  The control box encloses all the  */
   /*    outline's points, including Bezier control points.  Though it      */
   /*    coincides with the exact bounding box for most glyphs, it can be   */
   /*    slightly larger in some situations (like when rotating an outline  */
@@ -393,7 +393,7 @@
   /*    }                                                                  */
   /*                                                                       */
   /*    Note also that for 26.6 coordinates, if `bbox_mode' is set to      */
-  /*    `FT_GLYPH_BBOX_GRIDFIT', the coordinates will also be grid-fitted, */
+  /*    @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted,  */
   /*    which corresponds to:                                              */
   /*                                                                       */
   /*    {                                                                  */
@@ -446,7 +446,7 @@
   /*    The glyph image is translated with the `origin' vector before      */
   /*    rendering.                                                         */
   /*                                                                       */
-  /*    The first parameter is a pointer to a FT_Glyph handle, that will   */
+  /*    The first parameter is a pointer to an @FT_Glyph handle, that will */
   /*    be replaced by this function.  Typically, you would use (omitting  */
   /*    error handling):                                                   */
   /*                                                                       */
@@ -504,6 +504,8 @@
   /*                                                                       */
   FT_EXPORT( void )
   FT_Done_Glyph( FT_Glyph  glyph );
+
+  /* */
 
 
   /* other helpful functions */
--- a/include/freetype/ftgxval.h
+++ b/include/freetype/ftgxval.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType API for validating TrueTypeGX/AAT tables (specification).   */
 /*                                                                         */
-/*  Copyright 2004, 2005 by                                                */
+/*  Copyright 2004, 2005, 2006 by                                          */
 /*  Masatake YAMATO, Redhat K.K,                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
@@ -193,7 +193,7 @@
   *       The size of the `tables' array.  Normally, `FT_VALIDATE_GX_LENGTH'
   *       should be passed.
   *
-  * @output
+  * @output:
   *    tables ::
   *       The array where all validated sfnt tables are stored.
   *       The array itself must be allocated by a client.
@@ -301,7 +301,7 @@
   *       A bit field which specifies the dialect to be validated.  See
   *       @FT_VALIDATE_CKERNXXX for possible values.
   *
-  * @output
+  * @output:
   *    ckern_table ::
   *       A pointer to the kern table.
   *
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -313,12 +313,12 @@
   /*                                                                       */
   /*    n_points   :: The number of points in the outline.                 */
   /*                                                                       */
-  /*    points     :: A pointer to an array of `n_points' FT_Vector        */
+  /*    points     :: A pointer to an array of `n_points' @FT_Vector       */
   /*                  elements, giving the outline's point coordinates.    */
   /*                                                                       */
   /*    tags       :: A pointer to an array of `n_points' chars, giving    */
   /*                  each outline point's type.  If bit 0 is unset, the   */
-  /*                  point is `off' the curve, i.e. a Bezier control      */
+  /*                  point is `off' the curve, i.e., a Bezier control     */
   /*                  point, while it is `on' when set.                    */
   /*                                                                       */
   /*                  Bit 1 is meaningful for `off' points only.  If set,  */
@@ -333,7 +333,7 @@
   /*                                                                       */
   /*    flags      :: A set of bit flags used to characterize the outline  */
   /*                  and give hints to the scan-converter and hinter on   */
-  /*                  how to convert/grid-fit it.  See FT_Outline_Flags.   */
+  /*                  how to convert/grid-fit it.  See @FT_OUTLINE_FLAGS.  */
   /*                                                                       */
   typedef struct  FT_Outline_
   {
@@ -362,7 +362,7 @@
   /*    FT_OUTLINE_NONE           :: Value 0 is reserved.                  */
   /*                                                                       */
   /*    FT_OUTLINE_OWNER          :: If set, this flag indicates that the  */
-  /*                                 outline's field arrays (i.e.          */
+  /*                                 outline's field arrays (i.e.,         */
   /*                                 `points', `flags' & `contours') are   */
   /*                                 `owned' by the outline object, and    */
   /*                                 should thus be freed when it is       */
@@ -611,8 +611,10 @@
   /*    version of the original coordinates (this is important for high    */
   /*    accuracy during scan-conversion).  The transformation is simple:   */
   /*                                                                       */
+  /*    {                                                                  */
   /*      x' = (x << shift) - delta                                        */
   /*      y' = (x << shift) - delta                                        */
+  /*    }                                                                  */
   /*                                                                       */
   /*    Set the value of `shift' and `delta' to 0 to get the original      */
   /*    point coordinates.                                                 */
@@ -811,11 +813,10 @@
   /*                                                                       */
   /* <Note>                                                                */
   /*    This structure is used by the span drawing callback type named     */
-  /*    FT_SpanFunc which takes the y-coordinate of the span as a          */
+  /*    @FT_SpanFunc which takes the y-coordinate of the span as a         */
   /*    a parameter.                                                       */
   /*                                                                       */
-  /*    The coverage value is always between 0 and 255, even if the number */
-  /*    of gray levels have been set through FT_Set_Gray_Levels().         */
+  /*    The coverage value is always between 0 and 255.                    */
   /*                                                                       */
   typedef struct  FT_Span_
   {
@@ -853,11 +854,11 @@
   /*    given background bitmap, and even perform translucency.            */
   /*                                                                       */
   /*    Note that the `count' field cannot be greater than a fixed value   */
-  /*    defined by the FT_MAX_GRAY_SPANS configuration macro in            */
-  /*    ftoption.h.  By default, this value is set to 32, which means that */
-  /*    if there are more than 32 spans on a given scanline, the callback  */
-  /*    will be called several times with the same `y' parameter in order  */
-  /*    to draw all callbacks.                                             */
+  /*    defined by the `FT_MAX_GRAY_SPANS' configuration macro in          */
+  /*    `ftoption.h'.  By default, this value is set to 32, which means    */
+  /*    that if there are more than 32 spans on a given scanline, the      */
+  /*    callback is called several times with the same `y' parameter in    */
+  /*    order to draw all callbacks.                                       */
   /*                                                                       */
   /*    Otherwise, the callback is only called once per scan-line, and     */
   /*    only for those scanlines that do have `gray' pixels on them.       */
@@ -960,8 +961,8 @@
   /*    FT_RASTER_FLAG_CLIP    :: This flag is only used in direct         */
   /*                              rendering mode.  If set, the output will */
   /*                              be clipped to a box specified in the     */
-  /*                              `clip_box' field of the FT_Raster_Params */
-  /*                              structure.                               */
+  /*                              `clip_box' field of the                  */
+  /*                              @FT_Raster_Params structure.             */
   /*                                                                       */
   /*                              Note that by default, the glyph bitmap   */
   /*                              is clipped to the target pixmap, except  */
@@ -992,8 +993,8 @@
   /* <Fields>                                                              */
   /*    target      :: The target bitmap.                                  */
   /*                                                                       */
-  /*    source      :: A pointer to the source glyph image (e.g. an        */
-  /*                   FT_Outline).                                        */
+  /*    source      :: A pointer to the source glyph image (e.g., an       */
+  /*                   @FT_Outline).                                       */
   /*                                                                       */
   /*    flags       :: The rendering flags.                                */
   /*                                                                       */
@@ -1014,11 +1015,11 @@
   /*                   26.6 fixed-point units).                            */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    An anti-aliased glyph bitmap is drawn if the FT_RASTER_FLAG_AA bit */
-  /*    flag is set in the `flags' field, otherwise a monochrome bitmap    */
-  /*    will be generated.                                                 */
+  /*    An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA    */
+  /*    bit flag is set in the `flags' field, otherwise a monochrome       */
+  /*    bitmap is generated.                                               */
   /*                                                                       */
-  /*    If the FT_RASTER_FLAG_DIRECT bit flag is set in `flags', the       */
+  /*    If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags', the      */
   /*    raster will call the `gray_spans' callback to draw gray pixel      */
   /*    spans, in the case of an aa glyph bitmap, it will call             */
   /*    `black_spans', and `bit_test' and `bit_set' in the case of a       */
@@ -1065,9 +1066,9 @@
   /* <Note>                                                                */
   /*    The `memory' parameter is a typeless pointer in order to avoid     */
   /*    un-wanted dependencies on the rest of the FreeType code.  In       */
-  /*    practice, it is a FT_Memory, i.e., a handle to the standard        */
-  /*    FreeType memory allocator.  However, this field can be completely  */
-  /*    ignored by a given raster implementation.                          */
+  /*    practice, it is an @FT_Memory object, i.e., a handle to the        */
+  /*    standard FreeType memory allocator.  However, this field can be    */
+  /*    completely ignored by a given raster implementation.               */
   /*                                                                       */
   typedef int
   (*FT_Raster_NewFunc)( void*       memory,
@@ -1162,8 +1163,8 @@
   /* <Input>                                                               */
   /*    raster :: A handle to the raster object.                           */
   /*                                                                       */
-  /*    params :: A pointer to a FT_Raster_Params structure used to store  */
-  /*              the rendering parameters.                                */
+  /*    params :: A pointer to an @FT_Raster_Params structure used to      */
+  /*              store the rendering parameters.                          */
   /*                                                                       */
   /* <Return>                                                              */
   /*    Error code.  0 means success.                                      */
@@ -1170,18 +1171,18 @@
   /*                                                                       */
   /* <Note>                                                                */
   /*    The exact format of the source image depends on the raster's glyph */
-  /*    format defined in its FT_Raster_Funcs structure.  It can be an     */
-  /*    FT_Outline or anything else in order to support a large array of   */
+  /*    format defined in its @FT_Raster_Funcs structure.  It can be an    */
+  /*    @FT_Outline or anything else in order to support a large array of  */
   /*    glyph formats.                                                     */
   /*                                                                       */
   /*    Note also that the render function can fail and return a           */
-  /*    FT_Err_Unimplemented_Feature error code if the raster used does    */
+  /*    `FT_Err_Unimplemented_Feature' error code if the raster used does  */
   /*    not support direct composition.                                    */
   /*                                                                       */
   /*    XXX: For now, the standard raster doesn't support direct           */
   /*         composition but this should change for the final release (see */
-  /*         the files demos/src/ftgrays.c and demos/src/ftgrays2.c for    */
-  /*         examples of distinct implementations which support direct     */
+  /*         the files `demos/src/ftgrays.c' and `demos/src/ftgrays2.c'    */
+  /*         for examples of distinct implementations which support direct */
   /*         composition).                                                 */
   /*                                                                       */
   typedef int
--- a/include/freetype/ftlist.h
+++ b/include/freetype/ftlist.h
@@ -174,12 +174,12 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    An FT_List iterator function which is called during a list parse   */
-  /*    by FT_List_Iterate().                                              */
+  /*    by @FT_List_Iterate.                                               */
   /*                                                                       */
   /* <Input>                                                               */
   /*    node :: The current iteration list node.                           */
   /*                                                                       */
-  /*    user :: A typeless pointer passed to FT_List_Iterate().            */
+  /*    user :: A typeless pointer passed to @FT_List_Iterate.             */
   /*            Can be used to point to the iteration's state.             */
   /*                                                                       */
   typedef FT_Error
@@ -219,8 +219,8 @@
   /*    FT_List_Destructor                                                 */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    An FT_List iterator function which is called during a list         */
-  /*    finalization by FT_List_Finalize() to destroy all elements in a    */
+  /*    An @FT_List iterator function which is called during a list        */
+  /*    finalization by @FT_List_Finalize to destroy all elements in a     */
   /*    given list.                                                        */
   /*                                                                       */
   /* <Input>                                                               */
@@ -228,7 +228,7 @@
   /*                                                                       */
   /*    data   :: The current object to destroy.                           */
   /*                                                                       */
-  /*    user   :: A typeless pointer passed to FT_List_Iterate().  It can  */
+  /*    user   :: A typeless pointer passed to @FT_List_Iterate.  It can   */
   /*              be used to point to the iteration's state.               */
   /*                                                                       */
   typedef void
--- a/include/freetype/ftmac.h
+++ b/include/freetype/ftmac.h
@@ -65,7 +65,7 @@
   /*    library    :: A handle to the library resource.                    */
   /*                                                                       */
   /* <Input>                                                               */
-  /*    fond       :: An FOND resource.                                    */
+  /*    fond       :: A FOND resource.                                     */
   /*                                                                       */
   /*    face_index :: Only supported for the -1 `sanity check' special     */
   /*                  case.                                                */
@@ -77,7 +77,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Notes>                                                               */
-  /*    This function can be used to create FT_Face objects from fonts     */
+  /*    This function can be used to create @FT_Face objects from fonts    */
   /*    that are installed in the system as follows.                       */
   /*                                                                       */
   /*    {                                                                  */
--- a/include/freetype/ftmm.h
+++ b/include/freetype/ftmm.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType Multiple Master font interface (specification).             */
 /*                                                                         */
-/*  Copyright 1996-2001, 2003, 2004 by                                     */
+/*  Copyright 1996-2001, 2003, 2004, 2006 by                               */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -40,11 +40,11 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    The following types and functions are used to manage Multiple      */
-  /*    Master fonts, i.e. the selection of specific design instances by   */
+  /*    Master fonts, i.e., the selection of specific design instances by  */
   /*    setting design axis coordinates.                                   */
   /*                                                                       */
   /*    George Williams has extended this interface to make it work with   */
-  /*    both Type 1 Multiple Masters fonts, and GX distortable (var)       */
+  /*    both Type 1 Multiple Masters fonts and GX distortable (var)        */
   /*    fonts.  Some of these routines only work with MM fonts, others     */
   /*    will work with both types.  They are similar enough that a         */
   /*    consistent interface makes sense.                                  */
@@ -93,7 +93,7 @@
   /* <Fields>                                                              */
   /*    num_axis    :: Number of axes.  Cannot exceed 4.                   */
   /*                                                                       */
-  /*    num_designs :: Number of designs; should ne normally 2^num_axis    */
+  /*    num_designs :: Number of designs; should be normally 2^num_axis    */
   /*                   even though the Type 1 specification strangely      */
   /*                   allows for intermediate designs to be present. This */
   /*                   number cannot exceed 16.                            */
--- a/include/freetype/ftoutln.h
+++ b/include/freetype/ftoutln.h
@@ -122,8 +122,8 @@
   /* <Input>                                                               */
   /*    library     :: A handle to the library object from where the       */
   /*                   outline is allocated.  Note however that the new    */
-  /*                   outline will NOT necessarily be FREED, when         */
-  /*                   destroying the library, by FT_Done_FreeType().      */
+  /*                   outline will *not* necessarily be *freed*, when     */
+  /*                   destroying the library, by @FT_Done_FreeType.       */
   /*                                                                       */
   /*    numPoints   :: The maximal number of points within the outline.    */
   /*                                                                       */
@@ -160,7 +160,7 @@
   /*    FT_Outline_Done                                                    */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Destroys an outline created with FT_Outline_New().                 */
+  /*    Destroys an outline created with @FT_Outline_New.                  */
   /*                                                                       */
   /* <Input>                                                               */
   /*    library :: A handle of the library object used to allocate the     */
@@ -296,7 +296,7 @@
   /*    matrix  :: A pointer to the transformation matrix.                 */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    You can use FT_Outline_Translate() if you need to translate the    */
+  /*    You can use @FT_Outline_Translate if you need to translate the     */
   /*    outline's points.                                                  */
   /*                                                                       */
   FT_EXPORT( void )
@@ -335,9 +335,11 @@
   /*                                                                       */
   /*    Example call:                                                      */
   /*                                                                       */
+  /*    {                                                                  */
   /*      FT_Load_Glyph( face, index, FT_LOAD_DEFAULT );                   */
   /*      if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE )             */
   /*        FT_Outline_Embolden( &face->slot->outline, strength );         */
+  /*    }                                                                  */
   /*                                                                       */
   FT_EXPORT( FT_Error )
   FT_Outline_Embolden( FT_Outline*  outline,
@@ -357,7 +359,7 @@
   /*    outline :: A pointer to the target outline descriptor.             */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    This functions toggles the bit flag `FT_OUTLINE_REVERSE_FILL' in   */
+  /*    This functions toggles the bit flag @FT_OUTLINE_REVERSE_FILL in    */
   /*    the outline's `flags' field.                                       */
   /*                                                                       */
   /*    It shouldn't be used by a normal client application, unless it     */
@@ -406,7 +408,7 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Renders an outline within a bitmap using the current scan-convert. */
-  /*    This functions uses an FT_Raster_Params structure as an argument,  */
+  /*    This functions uses an @FT_Raster_Params structure as an argument, */
   /*    allowing advanced features like direct composition, translucency,  */
   /*    etc.                                                               */
   /*                                                                       */
@@ -416,7 +418,7 @@
   /*    outline :: A pointer to the source outline descriptor.             */
   /*                                                                       */
   /* <InOut>                                                               */
-  /*    params  :: A pointer to a FT_Raster_Params structure used to       */
+  /*    params  :: A pointer to an @FT_Raster_Params structure used to     */
   /*               describe the rendering operation.                       */
   /*                                                                       */
   /* <Return>                                                              */
@@ -423,7 +425,7 @@
   /*    FreeType error code.  0 means success.                             */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    You should know what you are doing and how FT_Raster_Params works  */
+  /*    You should know what you are doing and how @FT_Raster_Params works */
   /*    to use this function.                                              */
   /*                                                                       */
   /*    The field `params.source' will be set to `outline' before the scan */
--- a/include/freetype/ftpfr.h
+++ b/include/freetype/ftpfr.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType API for accessing PFR-specific data (specification only).   */
 /*                                                                         */
-/*  Copyright 2002, 2003, 2004 by                                          */
+/*  Copyright 2002, 2003, 2004, 2006 by                                    */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -154,7 +154,7 @@
   *
   * @note:
   *    You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics
-  *    to convert the advance to device sub-pixels (i.e. 1/64th of pixels).
+  *    to convert the advance to device sub-pixels (i.e., 1/64th of pixels).
   */
   FT_EXPORT( FT_Error )
   FT_Get_PFR_Advance( FT_Face   face,
--- a/include/freetype/ftsizes.h
+++ b/include/freetype/ftsizes.h
@@ -54,7 +54,7 @@
   /*    Managing multiple sizes per face.                                  */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    When creating a new face object (e.g. with @FT_New_Face), an       */
+  /*    When creating a new face object (e.g., with @FT_New_Face), an      */
   /*    @FT_Size object is automatically created and used to store all     */
   /*    pixel-size dependent information, available in the `face->size'    */
   /*    field.                                                             */
@@ -80,7 +80,7 @@
   /*    FT_New_Size                                                        */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Creates a new size object from a given face object.                */
+  /*    Create a new size object from a given face object.                 */
   /*                                                                       */
   /* <Input>                                                               */
   /*    face :: A handle to a parent face object.                          */
@@ -107,7 +107,7 @@
   /*    FT_Done_Size                                                       */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    Discards a given size object.  Note that @FT_Done_Face             */
+  /*    Discard a given size object.  Note that @FT_Done_Face              */
   /*    automatically discards all size objects allocated with             */
   /*    @FT_New_Size.                                                      */
   /*                                                                       */
--- a/include/freetype/ftsnames.h
+++ b/include/freetype/ftsnames.h
@@ -7,7 +7,7 @@
 /*                                                                         */
 /*    This is _not_ used to retrieve glyph names!                          */
 /*                                                                         */
-/*  Copyright 1996-2001, 2002, 2003 by                                     */
+/*  Copyright 1996-2001, 2002, 2003, 2006 by                               */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -78,12 +78,12 @@
   /*    name_id     :: An identifier for `string'.                         */
   /*                                                                       */
   /*    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..             */
+  /*                   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..                         */
+  /*                   zero-terminated.  Please refer to the TrueType      */
+  /*                   specification for details.                          */
   /*                                                                       */
   /*    string_len  :: The length of `string' in bytes.                    */
   /*                                                                       */
@@ -92,6 +92,9 @@
   /*    and `name_id' are given in the file `ttnameid.h'.  For details     */
   /*    please refer to the TrueType or OpenType specification.            */
   /*                                                                       */
+  /*    See also @TT_PLATFORM_XXX, @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX,       */
+  /*    @TT_ISO_ID_XXX, and @TT_MS_ID_XXX.                                 */
+  /*                                                                       */
   typedef struct  FT_SfntName_
   {
     FT_UShort  platform_id;
@@ -137,7 +140,7 @@
   /*    idx   :: The index of the `name' string.                           */
   /*                                                                       */
   /* <Output>                                                              */
-  /*    aname :: The indexed FT_SfntName structure.                        */
+  /*    aname :: The indexed @FT_SfntName structure.                       */
   /*                                                                       */
   /* <Return>                                                              */
   /*    FreeType error code.  0 means success.                             */
@@ -146,7 +149,7 @@
   /*    The `string' array returned in the `aname' structure is not        */
   /*    null-terminated.                                                   */
   /*                                                                       */
-  /*    Use FT_Get_Sfnt_Name_Count() to get the total number of available  */
+  /*    Use @FT_Get_Sfnt_Name_Count to get the total number of available   */
   /*    `name' table entries, then do a loop until you get the right       */
   /*    platform, encoding, and name ID.                                   */
   /*                                                                       */
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -498,8 +498,8 @@
   /*    FT_ListNode                                                        */
   /*                                                                       */
   /* <Description>                                                         */
-  /*     Many elements and objects in FreeType are listed through a        */
-  /*     FT_List record (see FT_ListRec).  As its name suggests, a         */
+  /*     Many elements and objects in FreeType are listed through an       */
+  /*     @FT_List record (see @FT_ListRec).  As its name suggests, an      */
   /*     FT_ListNode is a handle to a single list element.                 */
   /*                                                                       */
   typedef struct FT_ListNodeRec_*  FT_ListNode;
@@ -511,7 +511,7 @@
   /*    FT_List                                                            */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    A handle to a list record (see FT_ListRec).                        */
+  /*    A handle to a list record (see @FT_ListRec).                       */
   /*                                                                       */
   typedef struct FT_ListRec_*  FT_List;
 
--- a/include/freetype/t1tables.h
+++ b/include/freetype/t1tables.h
@@ -64,7 +64,7 @@
   /* <Description>                                                         */
   /*    A structure used to model a Type1/Type2 FontInfo dictionary.  Note */
   /*    that for Multiple Master fonts, each instance has its own          */
-  /*    FontInfo.                                                          */
+  /*    FontInfo dictionary.                                               */
   /*                                                                       */
   typedef struct  PS_FontInfoRec
   {
@@ -193,7 +193,9 @@
 
   } T1_Blend_Flags;
 
+  /* */
 
+
   /*# backwards compatible definitions */
 #define t1_blend_underline_position   T1_BLEND_UNDERLINE_POSITION
 #define t1_blend_underline_thickness  T1_BLEND_UNDERLINE_THICKNESS
@@ -286,6 +288,14 @@
   typedef CID_FaceDictRec  CID_FontDict;
 
 
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Struct>                                                              */
+  /*    CID_FaceInfoRec                                                    */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    A structure used to represent CID Face information.                */
+  /*                                                                       */
   typedef struct  CID_FaceInfoRec_
   {
     FT_String*      cid_font_name;
@@ -322,7 +332,7 @@
   /*    CID_Info                                                           */
   /*                                                                       */
   /* <Description>                                                         */
-  /*   This type is equivalent to CID_FaceInfoRec.  It is deprecated but   */
+  /*   This type is equivalent to @CID_FaceInfoRec.  It is deprecated but  */
   /*   kept to maintain source compatibility between various versions of   */
   /*   FreeType.                                                           */
   /*                                                                       */
@@ -381,7 +391,7 @@
   *    the face and don't need to be freed by the caller.
   *
   *    If the font's format is not Postscript-based, this function will
-  *    return the FT_Err_Invalid_Argument error code.
+  *    return the `FT_Err_Invalid_Argument' error code.
   */
   FT_EXPORT( FT_Error )
   FT_Get_PS_Font_Info( FT_Face          face,
@@ -413,7 +423,7 @@
   *    the face and don't need to be freed by the caller.
   *
   *    If the font's format is not Postscript-based, this function will
-  *    return the FT_Err_Invalid_Argument error code.
+  *    return the `FT_Err_Invalid_Argument' error code.
   */
   FT_EXPORT( FT_Error )
   FT_Get_PS_Font_Private( FT_Face         face,
--- a/include/freetype/ttnameid.h
+++ b/include/freetype/ttnameid.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    TrueType name ID definitions (specification only).                   */
 /*                                                                         */
-/*  Copyright 1996-2002, 2003, 2004 by                                     */
+/*  Copyright 1996-2002, 2003, 2004, 2006 by                               */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -65,7 +65,7 @@
    *     Used by Microsoft to indicate Windows-specific charmaps.  See
    *     @TT_MS_ID_XXX for a list of corresponding `encoding_id' values.
    *     Note that most fonts contain a Unicode charmap using
-   *     (@TT_PLATFORM_MICROSOFT, @TT_MS_ID_UNICODE_CS).
+   *     (TT_PLATFORM_MICROSOFT, @TT_MS_ID_UNICODE_CS).
    *
    *   TT_PLATFORM_CUSTOM ::
    *     Used to indicate application-specific charmaps.
@@ -96,14 +96,18 @@
    * @values:
    *   TT_APPLE_ID_DEFAULT ::
    *     Unicode version 1.0.
+   *
    *   TT_APPLE_ID_UNICODE_1_1 ::
    *     Unicode 1.1; specifies Hangul characters starting at U+34xx.
+   *
    *   TT_APPLE_ID_ISO_10646 ::
-   *     Deprecated (identical to preceding.)
+   *     Deprecated (identical to preceding).
+   *
    *   TT_APPLE_ID_UNICODE_2_0 ::
-   *     Unicode 2.0 and beyond (UTF-16 BMP only.)
+   *     Unicode 2.0 and beyond (UTF-16 BMP only).
+   *
    *   TT_APPLE_ID_UNICODE_32 ::
-   *     Unicode 3.1 and beyond, using UTF-32
+   *     Unicode 3.1 and beyond, using UTF-32.
    */
 
 #define TT_APPLE_ID_DEFAULT      0 /* Unicode 1.0 */
--- a/include/freetype/tttables.h
+++ b/include/freetype/tttables.h
@@ -407,9 +407,9 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to model a TrueType Postscript table.  All fields */
-  /*    comply to the TrueType table.  This structure does not reference   */
-  /*    the Postscript glyph names, which can be nevertheless accessed     */
-  /*    with the `ttpost' module.                                          */
+  /*    comply to the TrueType specification.  This structure does not     */
+  /*    reference the Postscript glyph names, which can be nevertheless    */
+  /*    accessed with the `ttpost' module.                                 */
   /*                                                                       */
   typedef struct  TT_Postscript_
   {
@@ -436,7 +436,7 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    A structure used to model a TrueType PCLT table.  All fields       */
-  /*    comply to the TrueType table.                                      */
+  /*    comply to the TrueType specification.                              */
   /*                                                                       */
   typedef struct  TT_PCLT_
   {
@@ -594,8 +594,8 @@
   /*    The table is owned by the face object and disappears with it.      */
   /*                                                                       */
   /*    This function is only useful to access SFNT tables that are loaded */
-  /*    by the sfnt/truetype/opentype drivers.  See @FT_Sfnt_Tag for a     */
-  /*    list.                                                              */
+  /*    by the sfnt, truetype, and opentype drivers.  See @FT_Sfnt_Tag for */
+  /*    a list.                                                             */
   /*                                                                       */
   FT_EXPORT( void* )
   FT_Get_Sfnt_Table( FT_Face      face,
@@ -615,8 +615,8 @@
   *     A handle to the source face.
   *
   *   tag ::
-  *     The 4-byte tag of the table to load.  Use the value 0 if you want to
-  *     access the whole font file.  Otherwise, you can use one of the
+  *     The four-byte tag of the table to load.  Use the value 0 if you want
+  *     to access the whole font file.  Otherwise, you can use one of the
   *     definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
   *     one with @FT_MAKE_TAG.
   *              
@@ -712,7 +712,7 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Return TrueType/sfnt specific cmap language ID.  Definitions of    */
-  /*    language ID values are in freetype/ttnameid.h.                     */
+  /*    language ID values are in `freetype/ttnameid.h'.                   */
   /*                                                                       */
   /* <Input>                                                               */
   /*    charmap ::                                                         */
--- a/include/freetype/ttunpat.h
+++ b/include/freetype/ttunpat.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Definitions for the unpatented TrueType hinting system               */
 /*                                                                         */
-/*  Copyright 2003 by                                                      */
+/*  Copyright 2003, 2006 by                                                */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  Written by Graham Asher <[email protected]>                  */
@@ -43,7 +43,7 @@
   * @description:
   *   A constant used as the tag of an @FT_Parameter structure to indicate
   *   that unpatented methods only should be used by the TrueType bytecode
-  *   interpreter for a typeface opened by FT_Open_Face.
+  *   interpreter for a typeface opened by @FT_Open_Face.
   *
   */
 #define FT_PARAM_TAG_UNPATENTED_HINTING  FT_MAKE_TAG( 'u', 'n', 'p', 'a' )
--- a/src/tools/docmaker/content.py
+++ b/src/tools/docmaker/content.py
@@ -218,7 +218,7 @@
 
 # this regular expression is used to detect field definitions
 #
-re_field  = re.compile( r"\s*(\w*)\s*::" )
+re_field  = re.compile( r"\s*(\w*|\w(\w|\.)*\w)\s*::" )
 
 
 
--- a/src/tools/docmaker/sources.py
+++ b/src/tools/docmaker/sources.py
@@ -151,26 +151,26 @@
 #
 # a list of reserved source keywords
 #
-re_source_keywords = re.compile( '''( typedef |
-                                       struct |
-                                       enum   |
-                                       union  |
-                                       const  |
-                                       char   |
-                                       int    |
-                                       short  |
-                                       long   |
-                                       void   |
-                                       signed |
-                                       unsigned |
-                                       \#include |
-                                       \#define  |
-                                       \#undef   |
-                                       \#if      |
-                                       \#ifdef   |
-                                       \#ifndef  |
-                                       \#else    |
-                                       \#endif   )''', re.VERBOSE )
+re_source_keywords = re.compile( '''\\b ( typedef   |
+                                          struct    |
+                                          enum      |
+                                          union     |
+                                          const     |
+                                          char      |
+                                          int       |
+                                          short     |
+                                          long      |
+                                          void      |
+                                          signed    |
+                                          unsigned  |
+                                          \#include |
+                                          \#define  |
+                                          \#undef   |
+                                          \#if      |
+                                          \#ifdef   |
+                                          \#ifndef  |
+                                          \#else    |
+                                          \#endif   ) \\b''', re.VERBOSE )
 
 ################################################################
 ##