shithub: freetype+ttf2subf

Download patch

ref: f9d864a916becf67e6ae0e3f0888fda3a89d419e
parent: 850fee2ccbc52805237b349db64db3da47605ec3
author: Werner Lemberg <[email protected]>
date: Fri Jul 25 01:57:21 EDT 2003

* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
* builds/unix/configure.ac (version_info): Set to 10:0:3.
* builds/unix/configure: Updated.
* builds/freetype.mk (refdoc): Fix --title.

* docs/CHANGES, docs/VERSION.DLL, README: Updated.

* src/tools/docmaker/sources.py (re_crossref): Fix regular
expression to handle trailing punctuation characters.
* src/tools/docmaker/tohtml.py (make_html_word): Updated.

* docs/release: New file.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2003-07-24  Werner Lemberg  <[email protected]>
+
+	* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+	* builds/unix/configure.ac (version_info): Set to 10:0:3.
+	* builds/unix/configure: Updated.
+	* builds/freetype.mk (refdoc): Fix --title.
+
+	* docs/CHANGES, docs/VERSION.DLL, README: Updated.
+
+	* src/tools/docmaker/sources.py (re_crossref): Fix regular
+	expression to handle trailing punctuation characters.
+	* src/tools/docmaker/tohtml.py (make_html_word): Updated.
+
+	* docs/release: New file.
+
 2003-07-23  YAMANO-UCHI Hidetoshi  <[email protected]>
 
 	* include/freetype/internal/psaux.h (PS_Parser_FuncsRec): New
@@ -50,7 +65,7 @@
 
 	A new try to synchronize bitmap font access.
 
-	include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
+	* include/freetype/freetype.h (FT_Bitmap_Size): `height' is now
 	defined to return the baseline-to-baseline distance.  This was
 	already the value returned by the BDF and PCF drivers.
 
@@ -111,7 +126,7 @@
 
 2003-06-24  Werner Lemberg  <[email protected]>
 
-	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect agains zero
+	* src/cff/cffdrivr.c (cff_get_glyph_name): Protect against zero
 	glyph name pointer.  Reported by Mikey Anbary <[email protected]>.
 
 2003-06-23  Werner Lemberg  <[email protected]>
--- a/README
+++ b/README
@@ -10,7 +10,7 @@
   is called `libttf'.  They are *not* compatible!
 
 
-  FreeType 2.1.4
+  FreeType 2.1.5
   ==============
 
   Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION.
@@ -20,9 +20,9 @@
   Note  that  the FreeType  2  documentation  is  now available  as  a
   separate package from our sites.  See:
 
-    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.4.tar.bz2
-    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.4.tar.gz
-    ftp://ftp.freetype.org/pub/freetype2/ftdoc214.zip
+    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.5.tar.bz2
+    ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.5.tar.gz
+    ftp://ftp.freetype.org/pub/freetype2/ftdoc215.zip
 
 
   Bugs
--- a/builds/freetype.mk
+++ b/builds/freetype.mk
@@ -252,7 +252,7 @@
 refdoc:
 	python $(SRC_DIR)/tools/docmaker/docmaker.py \
                --prefix=ft2                          \
-               --title=FreeType-2.x.x                \
+               --title=FreeType-2.1.5                \
                --output=$(DOC_DIR)                   \
                $(PUBLIC_DIR)/*.h                     \
                $(PUBLIC_DIR)/config/*.h              \
--- a/builds/unix/configure
+++ b/builds/unix/configure
@@ -1403,7 +1403,7 @@
           ac_config_headers="$ac_config_headers ftconfig.h:ftconfig.in"
 
 
-version_info='9:3:3'
+version_info='10:0:3'
 
 ft_version=`echo $version_info | tr : .`
 
--- a/builds/unix/configure.ac
+++ b/builds/unix/configure.ac
@@ -10,7 +10,7 @@
 AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
 
 dnl Don't forget to update VERSION.DLL!
-version_info='9:3:3'
+version_info='10:0:3'
 AC_SUBST(version_info)
 ft_version=`echo $version_info | tr : .`
 AC_SUBST(ft_version)
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -1,3 +1,108 @@
+LATEST CHANGES BETWEEN 2.1.5 and 2.1.4
+
+
+ATTENTION!  Version 2.1.5 is not binary compatible with 2.1.4.
+
+
+  I. IMPORTANT BUG FIXES
+
+    - Parsing the /CIDFontName field now removes the leading slash to
+      be in sync with other font drivers.
+
+    - gzip support was buggy.
+
+    - Fonts which have nested subglyphs more than one level deep no
+      longer cause a segfault.
+
+    - Creation of synthetic cmaps for fonts in CFF format was broken
+      partially.
+
+    - Numeric font dictionary entries for synthetic fonts are no longer
+      overwritten.  To support this properly the PS_FontInfo structure
+      has been changed: `italic_angle', `is_fixed_pitch',
+      `underline_position', and `underline_thickness' are now pointers.
+
+    - The test for the charset registry in BDF and PCF fonts is now
+      case-insensitive.
+
+    - FT_Vector_Rotate rotating sometimes returned strange values due to
+      rounding errors.
+
+    - The PCF driver now returns the correct number of glyphs (including
+      an artificial `notdef' glyph at index 0).
+
+    - FreeType now supports buggy CMaps which are contained in many CJK
+      fonts from Dynalab.
+
+    - Opening an invalid font on a Mac caused a segfault due to
+      double-freeing memory.
+
+    - BDF fonts with more than 32768 glyphs weren't supported properly.
+
+
+  II. IMPORTANT CHANGES
+
+    - Unpatented hinting (see below) XXX
+
+    - Accessing bitmap font formats has been synchronized.  To do that
+      the FT_Bitmap_Size structure has been extended to contain new
+      fields `size', `x_ppem', and `y_ppem'.
+
+    - The FNT driver now returns multiple faces, not multiple strikes.
+
+    - The `psnames' module has been updated to the Adobe Glyph List
+      version 2.0.
+
+    - The `psnames' module now understands `uXXXX[X[X]]' glyph names.
+
+    - The algorithm for guessing the font style has been improved.
+
+    - For fonts in sfnt format, root->height is no longer increased if
+      the line gap is zero.  There exist fonts (containing e.g. form
+      drawing characters) which intentionally have a zero line gap value.
+
+    - ft_glyph_bbox_xxx flags are now deprecated in favour of
+      FT_GLYPH_BBOX_XXX.
+
+    - ft_module_xxx flags are now deprecated in favour of FT_MODULE_XXX.
+
+
+  III. MISCELLANEOUS
+
+    - The autohinter has been further improved; for example, `m' glyphs
+      now retain its vertical symmetry.
+
+    - Added the optional unpatented hinting system for TrueType.  It
+      allows typefaces which need hinting to produce correct glyph forms
+      (e.g., Chinese typefaces from Dynalab) to work acceptably without
+      infringing Apple patents.  This system is compiled only if
+      TT_CONFIG_OPTION_COMPILE_UNPATENTED_HINTING is defined in
+      ftoption.h.
+
+    - Partial support of Mac fonts on non-Mac platforms.
+
+    - `make refdoc' (after first `make') builds the HTML documentation.
+      You need Python for this.
+
+    - The make build system should now work more reliable on DOS-like
+      platforms.
+
+    - Support for EMX gcc and Watson C/C++ compilers on MS-DOS has been
+      added.
+
+    - Better VMS build support.
+
+    - Support for the pkg-config package by providing a `freetype.pc'
+      file.
+
+    - New configure option --with-old-mac-fonts for Darwin.
+
+    - Some source files have been renamed (mainly to fit into the 8.3
+      naming scheme).
+
+
+==============================================================================
+
 LATEST CHANGES BETWEEN 2.1.4 and 2.1.3
 
   I. IMPORTANT BUG FIXES
--- a/docs/VERSION.DLL
+++ b/docs/VERSION.DLL
@@ -50,15 +50,16 @@
 libtool  number, as well  as the  shared object  number found  on _most_
 systems, but not all of them:
 
-    release       libtool        so
-  -------------------------------------
-     2.1.4         9.3.3         6.3.3
-     2.1.3         9.2.3         6.3.2
-     2.1.2         9.1.3         6.3.1
-     2.1.1         9.0.3          ?
-     2.1.0         8.0.2          ?
-     2.0.9         9.0.3          ?
-     2.0.8         8.0.2          ?
+    release    libtool      so
+  --------------------------------------------------------------------
+     2.1.5     10.0.3     7.3.0   (not binary compatible with 2.1.4)
+     2.1.4      9.3.3     6.3.3
+     2.1.3      9.2.3     6.3.2
+     2.1.2      9.1.3     6.3.1
+     2.1.1      9.0.3         ?
+     2.1.0      8.0.2         ?
+     2.0.9      9.0.3         ?
+     2.0.8      8.0.2         ?
 
 The libtool numbers are a bit inconsistent due to the library's history:
 
--- /dev/null
+++ b/docs/release
@@ -1,0 +1,18 @@
+How to prepare a new release
+----------------------------
+
+. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, and
+  FREETYPE_PATCH.
+
+. builds/unix/configure.ac (version_info): Update according to the libtool
+  rules, then regenerate the configure script.
+
+. builds/freetype.mk (refdoc): Update the --title option.
+
+. docs/CHANGES: Document differences to last release.
+
+. README: Update.
+
+. docs/VERSION.DLL: Document changed version_info.
+
+. ChangeLog: Announce new release.
--- a/include/freetype/cache/ftccmap.h
+++ b/include/freetype/cache/ftccmap.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType charmap cache (specification).                              */
 /*                                                                         */
-/*  Copyright 2000-2001 by                                                 */
+/*  Copyright 2000-2001, 2003 by                                           */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -36,7 +36,7 @@
   /*************************************************************************/
   /*                                                                       */
   /* @type:                                                                */
-  /*    FTC_CmapCache                                                      */
+  /*    FTC_CMapCache                                                      */
   /*                                                                       */
   /* @description:                                                         */
   /*    An opaque handle used to manager a charmap cache.  This cache is   */
@@ -54,8 +54,8 @@
   /*    A handle to an @FTC_CMapDescRec structure used to describe a given */
   /*    charmap in a charmap cache.                                        */
   /*                                                                       */
-  /*    Each @FTC_CMapDesc describes which charmap (of which @FTC_Face) we */
-  /*    want to use in @FTC_CMapCache_Lookup.                              */
+  /*    Each @FTC_CMapDesc describes which charmap (of which @FTC_FaceID)  */
+  /*    we want to use in @FTC_CMapCache_Lookup.                           */
   /*                                                                       */
   typedef struct FTC_CMapDescRec_*  FTC_CMapDesc;
 
@@ -66,8 +66,8 @@
   /*    FTC_CMapType                                                       */
   /*                                                                       */
   /* @description:                                                         */
-  /*    The list of valid @FTC_CMap types.  They indicate how we want to   */
-  /*    address a charmap within an @FTC_FaceID.                           */
+  /*    The list of valid @FTC_CMapDesc types.  They indicate how we want  */
+  /*    to address a charmap within an @FTC_FaceID.                        */
   /*                                                                       */
   /* @values:                                                              */
   /*    FTC_CMAP_BY_INDEX ::                                               */
--- a/include/freetype/cache/ftcimage.h
+++ b/include/freetype/cache/ftcimage.h
@@ -202,6 +202,7 @@
   /* scaled outline */
 #define ftc_image_outline          ftc_image_format_outline
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
@@ -208,7 +209,7 @@
   /*    FTC_Image_Desc                                                     */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    THIS TYPE IS DEPRECATED.  Use @FTC_ImageDescRec instead.           */
+  /*    THIS TYPE IS DEPRECATED.  Use @FTC_ImageTypeRec instead.           */
   /*                                                                       */
   /*    A simple structure used to describe a given glyph image category.  */
   /*                                                                       */
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -35,7 +35,7 @@
   /*                                                                       */
 #define FREETYPE_MAJOR 2
 #define FREETYPE_MINOR 1
-#define FREETYPE_PATCH 4
+#define FREETYPE_PATCH 5
 
 
 #include <ft2build.h>
@@ -147,6 +147,12 @@
   /*    FT_LOAD_NO_RECURSE                                                 */
   /*    FT_LOAD_PEDANTIC                                                   */
   /*                                                                       */
+  /*    FT_LOAD_TARGET_NORMAL                                              */
+  /*    FT_LOAD_TARGET_LIGHT                                               */
+  /*    FT_LOAD_TARGET_MONO                                                */
+  /*    FT_LOAD_TARGET_LCD                                                 */
+  /*    FT_LOAD_TARGET_LCD_V                                               */
+  /*                                                                       */
   /*    FT_Render_Glyph                                                    */
   /*    FT_Render_Mode                                                     */
   /*    FT_Get_Kerning                                                     */
@@ -534,7 +540,7 @@
   /*                                                                       */
   /*   FT_ENCODING_ADOBE_STANDARD ::                                       */
   /*     Corresponds to the Adobe Standard encoding, as found in Type 1,   */
-  /*     CFF, and OpenType/CFF fonts.  It is limited to 256character       */
+  /*     CFF, and OpenType/CFF fonts.  It is limited to 256 character      */
   /*     codes.                                                            */
   /*                                                                       */
   /*   FT_ENCODING_ADOBE_EXPERT ::                                         */
@@ -955,7 +961,7 @@
   /*      Indicates that the font contains glyph names that can be         */
   /*      retrieved through @FT_Get_Glyph_Name.  Note that some TrueType   */
   /*      fonts contain broken glyph name tables.  Use the function        */
-  /*      @FT_Has_PS_Glyph_Name when needed.                               */
+  /*      @FT_Has_PS_Glyph_Names when needed.                              */
   /*                                                                       */
   /*    FT_FACE_FLAG_EXTERNAL_STREAM ::                                    */
   /*      Used internally by FreeType to indicate that a face's stream was */
@@ -1370,8 +1376,8 @@
   /*    num_subglyphs     :: The number of subglyphs in a composite glyph. */
   /*                         This field is only valid for the composite    */
   /*                         glyph format that should normally only be     */
-  /*                         loaded with the FT_LOAD_NO_RECURSE flag.  For */
-  /*                         now this is internal to FreeType.             */
+  /*                         loaded with the @FT_LOAD_NO_RECURSE flag.     */
+  /*                         For now this is internal to FreeType.         */
   /*                                                                       */
   /*    subglyphs         :: An array of subglyph descriptors for          */
   /*                         composite glyphs.  There are `num_subglyphs'  */
@@ -1547,15 +1553,15 @@
   /*                                                                       */
   /*    FT_OPEN_PARAMS      :: Use the `num_params' & `params' field.      */
   /*                                                                       */
-  /*    ft_open_memory      :: Deprecated. use @FT_OPEN_MEMORY instead.    */
+  /*    ft_open_memory      :: Deprecated; use @FT_OPEN_MEMORY instead.    */
   /*                                                                       */
-  /*    ft_open_stream      :: Deprecated. use @FT_OPEN_STREAM instead.    */
+  /*    ft_open_stream      :: Deprecated; use @FT_OPEN_STREAM instead.    */
   /*                                                                       */
-  /*    ft_open_pathname    :: Deprecated. use @FT_OPEN_PATHNAME instead.  */
+  /*    ft_open_pathname    :: Deprecated; use @FT_OPEN_PATHNAME instead.  */
   /*                                                                       */
-  /*    ft_open_driver      :: Deprecated, use @FT_OPEN_DRIVER instead.    */
+  /*    ft_open_driver      :: Deprecated; use @FT_OPEN_DRIVER instead.    */
   /*                                                                       */
-  /*    ft_open_params      :: Deprecated, use @FT_OPEN_PARAMS instead.    */
+  /*    ft_open_params      :: Deprecated; use @FT_OPEN_PARAMS instead.    */
   /*                                                                       */
   /* <Note>                                                                */
   /*    The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME'     */
@@ -2065,7 +2071,7 @@
                 FT_Int32  load_flags );
 
 
- /****************************************************************************
+ /***************************************************************************
   *
   * @enum:
   *   FT_LOAD_XXX
@@ -2186,6 +2192,7 @@
   *     being used.  This can be important for certain fonts where unhinted
   *     output is better than auto-hinted one.
   */
+#define FT_LOAD_DEFAULT                      0x0
 #define FT_LOAD_NO_SCALE                     0x1
 #define FT_LOAD_NO_HINTING                   0x2
 #define FT_LOAD_RENDER                       0x4
@@ -2206,9 +2213,36 @@
 
   /* */
 
+
 #define FT_LOAD_TARGET_( x )      ( (FT_Int32)( (x) & 15 ) << 16 )
 #define FT_LOAD_TARGET_MODE( x )  ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
 
+
+ /***************************************************************************
+  *
+  * @enum:
+  *   FT_LOAD_TARGET_XXX
+  *
+  * @description:
+  *   A list of load targets.  XXX
+  *
+  * @values:
+  *   FT_LOAD_TARGET_NORMAL ::
+  *     XXX
+  *
+  *   FT_LOAD_TARGET_LIGHT ::
+  *     XXX
+  *
+  *   FT_LOAD_TARGET_MONO ::
+  *     XXX
+  *
+  *   FT_LOAD_TARGET_LCD ::
+  *     XXX
+  *
+  *   FT_LOAD_TARGET_LCD_V ::
+  *     XXX
+  */
+
 #define FT_LOAD_TARGET_NORMAL     FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
 #define FT_LOAD_TARGET_LIGHT      FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT  )
 #define FT_LOAD_TARGET_MONO       FT_LOAD_TARGET_( FT_RENDER_MODE_MONO   )
@@ -2215,7 +2249,7 @@
 #define FT_LOAD_TARGET_LCD        FT_LOAD_TARGET_( FT_RENDER_MODE_LCD    )
 #define FT_LOAD_TARGET_LCD_V      FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V  )
 
-#define FT_LOAD_DEFAULT           0x0
+  /* */
 
 
   /*************************************************************************/
@@ -2241,7 +2275,7 @@
   /*    The transformation is only applied to scalable image formats after */
   /*    the glyph has been loaded.  It means that hinting is unaltered by  */
   /*    the transformation and is performed on the character size given in */
-  /*    the last call to @FT_Set_Char_Sizes or @FT_Set_Pixel_Sizes.        */
+  /*    the last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes.         */
   /*                                                                       */
   FT_EXPORT( void )
   FT_Set_Transform( FT_Face     face,
@@ -2826,7 +2860,7 @@
   /* <Note>                                                                */
   /*    The optimization for FT_DivFix() is simple: If (a << 16) fits in   */
   /*    32 bits, then the division is computed directly.  Otherwise, we    */
-  /*    use a specialized version of the old @FT_MulDiv64.                 */
+  /*    use a specialized version of @FT_MulDiv.                           */
   /*                                                                       */
   FT_EXPORT( FT_Long )
   FT_DivFix( FT_Long  a,
--- a/include/freetype/ftcache.h
+++ b/include/freetype/ftcache.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    FreeType Cache subsystem (specification).                            */
 /*                                                                         */
-/*  Copyright 1996-2001 by                                                 */
+/*  Copyright 1996-2001, 2002, 2003 by                                     */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -71,7 +71,6 @@
   /*   FTC_Node_Unref                                                      */
   /*                                                                       */
   /*   FTC_Font                                                            */
-  /*   FTC_ImageDesc                                                       */
   /*   FTC_ImageCache                                                      */
   /*   FTC_ImageCache_New                                                  */
   /*   FTC_ImageCache_Lookup                                               */
@@ -242,9 +241,9 @@
   /*    If you lookup nodes, you have the ability to "acquire" them, i.e., */
   /*    to increment their reference count.  This will prevent the node    */
   /*    from being flushed out of the cache until you explicitly "release" */
-  /*    it (see @FTC_Node_Release).                                        */
+  /*    it (see @FTC_Node_Unref).                                          */
   /*                                                                       */
-  /*    See also @FTC_BitsetCache_Lookup and @FTC_ImageCache_Lookup.       */
+  /*    See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup.         */
   /*                                                                       */
   typedef struct FTC_NodeRec_*  FTC_Node;
 
@@ -368,12 +367,12 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Retrieves the @FT_Face and @FT_Size objects that correspond to a   */
-  /*    given @FTC_SizeID.                                                 */
+  /*    given font.                                                        */
   /*                                                                       */
   /* <Input>                                                               */
   /*    manager :: A handle to the cache manager.                          */
   /*                                                                       */
-  /*    size_id :: The ID of the `font size' to use.                       */
+  /*    font    :: The font to use.                                        */
   /*                                                                       */
   /* <Output>                                                              */
   /*    aface   :: A pointer to the handle of the face object.  Set it to  */
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -282,10 +282,67 @@
                       FT_Matrix*  matrix,
                       FT_Vector*  delta );
 
-  /* */
 
   /*************************************************************************/
   /*                                                                       */
+  /* <Enum>                                                                */
+  /*    FT_Glyph_BBox_Mode                                                 */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    The mode how the values of @FT_Glyph_Get_CBox are returned.        */
+  /*                                                                       */
+  /* <Values>                                                              */
+  /*    FT_GLYPH_BBOX_UNSCALED ::                                          */
+  /*      Return unscaled font units.                                      */
+  /*                                                                       */
+  /*    FT_GLYPH_BBOX_SUBPIXELS ::                                         */
+  /*      Return unfitted 26.6 coordinates.                                */
+  /*                                                                       */
+  /*    FT_GLYPH_BBOX_GRIDFIT ::                                           */
+  /*      Return grid-fitted 26.6 coordinates.                             */
+  /*                                                                       */
+  /*    FT_GLYPH_BBOX_TRUNCATE ::                                          */
+  /*      Return coordinates in integer pixels.                            */
+  /*                                                                       */
+  /*    FT_GLYPH_BBOX_PIXELS ::                                            */
+  /*      Return grid-fitted pixel coordinates.                            */
+  /*                                                                       */
+  typedef enum  FT_Glyph_BBox_Mode_
+  {
+    FT_GLYPH_BBOX_UNSCALED  = 0,
+    FT_GLYPH_BBOX_SUBPIXELS = 0,
+    FT_GLYPH_BBOX_GRIDFIT   = 1,
+    FT_GLYPH_BBOX_TRUNCATE  = 2,
+    FT_GLYPH_BBOX_PIXELS    = 3
+
+  } FT_Glyph_BBox_Mode;
+
+
+  /*************************************************************************/
+  /*                                                                       */
+  /* <Enum>                                                                */
+  /*    ft_glyph_bbox_xxx                                                  */
+  /*                                                                       */
+  /* <Description>                                                         */
+  /*    These constants are deprecated.  Use the corresponding             */
+  /*    @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                */
+  /*                                                                       */
+#define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
+#define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
+#define ft_glyph_bbox_gridfit    FT_GLYPH_BBOX_GRIDFIT
+#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
+#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
+
+
+  /*************************************************************************/
+  /*                                                                       */
   /* <Function>                                                            */
   /*    FT_Glyph_Get_CBox                                                  */
   /*                                                                       */
@@ -342,40 +399,6 @@
   /*    To get the bbox in grid-fitted pixel coordinates, set `bbox_mode'  */
   /*    to `FT_GLYPH_BBOX_PIXELS'.                                         */
   /*                                                                       */
-  typedef enum  FT_Glyph_BBox_Mode_
-  {
-    FT_GLYPH_BBOX_UNSCALED  = 0, /* return unscaled font units           */
-    FT_GLYPH_BBOX_SUBPIXELS = 0, /* return unfitted 26.6 coordinates     */
-    FT_GLYPH_BBOX_GRIDFIT   = 1, /* return grid-fitted 26.6 coordinates  */
-    FT_GLYPH_BBOX_TRUNCATE  = 2, /* return coordinates in integer pixels */
-    FT_GLYPH_BBOX_PIXELS    = 3  /* return grid-fitted pixel coordinates */
-
-  } FT_Glyph_BBox_Mode;
-
-
-  /*************************************************************************/
-  /*                                                                       */
-  /* <Enum>                                                                */
-  /*    ft_glyph_bbox_xxx                                                  */
-  /*                                                                       */
-  /* <Description>                                                         */
-  /*    These constats are deprecated.  Use the corresponding              */
-  /*    @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                */
-  /*                                                                       */
-#define ft_glyph_bbox_unscaled   FT_GLYPH_BBOX_UNSCALED
-#define ft_glyph_bbox_subpixels  FT_GLYPH_BBOX_SUBPIXELS
-#define ft_glyph_bbox_gridfit    FT_GLYPH_BBOX_GRIDFIT
-#define ft_glyph_bbox_truncate   FT_GLYPH_BBOX_TRUNCATE
-#define ft_glyph_bbox_pixels     FT_GLYPH_BBOX_PIXELS
-
-
   FT_EXPORT( void )
   FT_Glyph_Get_CBox( FT_Glyph  glyph,
                      FT_UInt   bbox_mode,
--- a/include/freetype/ftgzip.h
+++ b/include/freetype/ftgzip.h
@@ -62,9 +62,9 @@
   * @note:
   *   The source stream must be opened _before_ calling this function.
   *
-  *   Calling @FT_Stream_Close on the new stream will *not* call
-  *   @FT_Stream_Close on the source stream.  None of the stream objects
-  *   will be released to the heap.
+  *   Calling the internal function FT_Stream_Close on the new stream will
+  *   *not* call FT_Stream_Close on the source stream.  None of the stream
+  *   objects will be released to the heap.
   *
   *   The stream implementation is very basic and resets the decompression
   *   process each time seeking backwards is needed within the stream.
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -687,8 +687,8 @@
   /*                                                                       */
   /*    FT_GLYPH_FORMAT_COMPOSITE ::                                       */
   /*      The glyph image is a composite of several other images.  This    */
-  /*      format is _only_ used with @FT_LOAD_FLAG_NO_RECURSE, and is      */
-  /*      used to report compound glyphs (like accented characters).       */
+  /*      format is _only_ used with @FT_LOAD_NO_RECURSE, and is used to   */
+  /*      report compound glyphs (like accented characters).               */
   /*                                                                       */
   /*    FT_GLYPH_FORMAT_BITMAP ::                                          */
   /*      The glyph image is a bitmap, and can be described as an          */
--- a/include/freetype/ftincrem.h
+++ b/include/freetype/ftincrem.h
@@ -199,7 +199,7 @@
    * 
    * @description:
    *   A table of functions for accessing fonts that load data
-   *   incrementally.  Used in @FT_Incremental_Interface.
+   *   incrementally.  Used in @FT_Incremental_InterfaceRec.
    * 
    * @fields:
    *   get_glyph_data ::
--- a/include/freetype/t1tables.h
+++ b/include/freetype/t1tables.h
@@ -314,7 +314,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.                                                           */
   /*                                                                       */
@@ -373,7 +373,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,
--- a/include/freetype/ttnameid.h
+++ b/include/freetype/ttnameid.h
@@ -41,7 +41,7 @@
    *
    * @description:
    *   A list of valid values for the `platform_id' identifier code in
-   *   @FT_CharmapRec and @FT_SfntName structures.
+   *   @FT_CharMapRec and @FT_SfntName structures.
    *
    * @values:
    *   TT_PLATFORM_APPLE_UNICODE ::
--- a/src/tools/docmaker/sources.py
+++ b/src/tools/docmaker/sources.py
@@ -130,7 +130,7 @@
 #
 # used to detect a cross-reference, after markup tags have been stripped
 #
-re_crossref = re.compile( r'@(\w*)' )
+re_crossref = re.compile( r'@(\w*)(.*)' )
 
 #
 # used to detect italic and bold styles in paragraph text
--- a/src/tools/docmaker/tohtml.py
+++ b/src/tools/docmaker/tohtml.py
@@ -85,7 +85,7 @@
 keyword_prefix = '<font color="darkblue">'
 keyword_suffix = '</font>'
 
-section_synopsis_header = '<h2>Synopsys</h2><font color="cyan">'
+section_synopsis_header = '<h2>Synopsis</h2><font color="cyan">'
 section_synopsis_footer = '</font>'
 
 # Translate a single line of source to HTML.  This will convert
@@ -172,11 +172,12 @@
         if m:
             try:
                 name = m.group(1)
+                rest = m.group(2)
                 block = self.identifiers[ name ]
                 url   = self.make_block_url( block )
-                return '<a href="' + url + '">' + name + '</a>'
+                return '<a href="' + url + '">' + name + '</a>' + rest
             except:
-                return '?' + name + '?'
+                return '?' + name + '?' + rest
 
         # look for italics and bolds
         m = re_italic.match( word )
@@ -473,4 +474,4 @@
     def section_dump_all( self ):
         for section in self.sections:
             self.section_dump( section, self.file_prefix + section.name + '.html' )
-        
\ No newline at end of file
+