shithub: freetype+ttf2subf

Download patch

ref: fd74ec68b44fe2346b89ccc485a1d451f26df9d6
parent: 94168f0b4184f08cd0f6f5661152de3895284bd9
author: Werner Lemberg <[email protected]>
date: Fri May 12 00:00:44 EDT 2006

* README: Minor updates.

* include/freetype/*: s/scale/scaling value/ where appropriate.
Many other minor documentation improvements.

* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
trailing punctuation.
* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
warning message for undefined cross references.
Update handling of re_italic and re_bold.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2006-05-11  Werner Lemberg  <[email protected]>
+
+	* README: Minor updates.
+
+	* include/freetype/*: s/scale/scaling value/ where appropriate.
+	Many other minor documentation improvements.
+
+	* src/tools/docmaker/sources.py (re_italic, re_bold): Handle
+	trailing punctuation.
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::make_html_word): Add
+	warning message for undefined cross references.
+	Update handling of re_italic and re_bold.
+
 2006-05-11  Masatake YAMATO  <[email protected]>
  
 	* builds/unix/ftsystem.c (FT_Stream_Open): Check errno only if 
--- a/README
+++ b/README
@@ -17,8 +17,10 @@
 
   Read the files `docs/INSTALL' for installation instructions.
 
-  Note  that  the FreeType 2  documentation  (together with  signature
-  files) is now available as a separate package from our sites.  Go to
+  The FreeType 2 API reference is located in `docs/reference'; use the
+  file   `ft2-doc.html'   as   the   top  entry   point.    Additional
+  documentation is available as a separate package from our sites.  Go
+  to
 
     http://download.savannah.gnu.org/releases/freetype/
 
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -471,7 +471,7 @@
   /* component offsets in composite glyphs.                                */
   /*                                                                       */
   /* Apple and MS disagree on the default behavior of component offsets    */
-  /* in composites.  Apple says that they should be scaled by the scale    */
+  /* in composites.  Apple says that they should be scaled by the scaling  */
   /* factors in the transformation matrix (roughly, it's more complex)     */
   /* while MS says they should not.  OpenType defines two bits in the      */
   /* composite flags array which can be used to disambiguate, but old      */
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -490,7 +490,7 @@
   /*    FT_ENC_TAG                                                         */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This macro converts four letter tags into an unsigned long.  It is */
+  /*    This macro converts four-letter tags into an unsigned long.  It is */
   /*    used to define `encoding' identifiers (see @FT_Encoding).          */
   /*                                                                       */
   /* <Note>                                                                */
@@ -498,7 +498,9 @@
   /*    should redefine this macro in case of problems to something like   */
   /*    this:                                                              */
   /*                                                                       */
+  /*    {                                                                  */
   /*      #define FT_ENC_TAG( value, a, b, c, d )  value                   */
+  /*    }                                                                  */
   /*                                                                       */
   /*    to get a simple enumeration without assigning special numbers.     */
   /*                                                                       */
@@ -621,23 +623,24 @@
   /*                                                                       */
   /*   FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap   */
   /*   is neither Unicode nor ISO-8859-1 (otherwise it is set to           */
-  /*   FT_ENCODING_UNICODE).  Use `FT_Get_BDF_Charset_ID' to find out      */
-  /*   which encoding is really present.  If, for example, the             */
-  /*   `cs_registry' field is `KOI8' and the `cs_encoding' field is `R',   */
-  /*   the font is encoded in KOI8-R.                                      */
+  /*   FT_ENCODING_UNICODE).  Use @FT_Get_BDF_Charset_ID to find out which */
+  /*   encoding is really present.  If, for example, the `cs_registry'     */
+  /*   field is `KOI8' and the `cs_encoding' field is `R', the font is     */
+  /*   encoded in KOI8-R.                                                  */
   /*                                                                       */
   /*   FT_ENCODING_NONE is always set (with a single exception) by the     */
-  /*   winfonts driver.  Use `FT_Get_WinFNT_Header' and examine the        */
-  /*   `charset' field of the `FT_WinFNT_HeaderRec' structure to find out  */
-  /*   which encoding is really present.  For example, FT_WinFNT_ID_CP1251 */
-  /*   (204) means Windows code page 1251 (for Russian).                   */
+  /*   winfonts driver.  Use @FT_Get_WinFNT_Header and examine the         */
+  /*   `charset' field of the @FT_WinFNT_HeaderRec structure to find out   */
+  /*   which encoding is really present.  For example,                     */
+  /*   @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for        */
+  /*   Russian).                                                           */
   /*                                                                       */
-  /*   FT_ENCODING_NONE is set if `platform_id' is `TT_PLATFORM_MACINTOSH' */
-  /*   and `encoding_id' is not `TT_MAC_ID_ROMAN' (otherwise it is set to  */
+  /*   FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH  */
+  /*   and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to   */
   /*   FT_ENCODING_APPLE_ROMAN).                                           */
   /*                                                                       */
-  /*   If `platform_id' is `TT_PLATFORM_MACINTOSH', use the function       */
-  /*   `FT_Get_CMap_Language_ID' to query the Mac language ID which may be */
+  /*   If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function  c     */
+  /*   @FT_Get_CMap_Language_ID  to query the Mac language ID which may be */
   /*   needed to be able to distinguish Apple encoding variants.  See      */
   /*                                                                       */
   /*     http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT   */
@@ -645,9 +648,9 @@
   /*   to get an idea how to do that.  Basically, if the language ID is 0, */
   /*   dont use it, otherwise subtract 1 from the language ID.  Then       */
   /*   examine `encoding_id'.  If, for example, `encoding_id' is           */
-  /*   `TT_MAC_ID_ROMAN' and the language ID (minus 1) is                  */
+  /*   @TT_MAC_ID_ROMAN and the language ID (minus 1) is                   */
   /*   `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman.         */
-  /*   `TT_MAC_ID_ARABIC' with `TT_MAC_LANGID_FARSI' means the Farsi       */
+  /*   @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi        */
   /*   variant the Arabic encoding.                                        */
   /*                                                                       */
   typedef enum  FT_Encoding_
@@ -756,7 +759,7 @@
   /*    FT_Face_Internal                                                   */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    An opaque handle to an FT_Face_InternalRec structure, used to      */
+  /*    An opaque handle to an `FT_Face_InternalRec' structure, used to    */
   /*    model private data of a given @FT_Face object.                     */
   /*                                                                       */
   /*    This structure might change between releases of FreeType 2 and is  */
@@ -834,16 +837,17 @@
   /*                           @FT_Generic type description.               */
   /*                                                                       */
   /*    bbox                :: The font bounding box.  Coordinates are     */
-  /*                           expressed in font units (see units_per_EM). */
-  /*                           The box is large enough to contain any      */
-  /*                           glyph from the font.  Thus, bbox.yMax can   */
-  /*                           be seen as the `maximal ascender', and      */
-  /*                           bbox.yMin as the `minimal descender'. Only  */
-  /*                           relevant for scalable formats.              */
+  /*                           expressed in font units (see                */
+  /*                           `units_per_EM').  The box is large enough   */
+  /*                           to contain any glyph from the font.  Thus,  */
+  /*                           `bbox.yMax' can be seen as the `maximal     */
+  /*                           ascender', and `bbox.yMin' as the `minimal  */
+  /*                           descender'.  Only relevant for scalable     */
+  /*                           formats.                                    */
   /*                                                                       */
   /*    units_per_EM        :: The number of font units per EM square for  */
   /*                           this face.  This is typically 2048 for      */
-  /*                           TrueType fonts, and 1000 for Type1 fonts.   */
+  /*                           TrueType fonts, and 1000 for Type 1 fonts.  */
   /*                           Only relevant for scalable formats.         */
   /*                                                                       */
   /*    ascender            :: The typographic ascender of the face,       */
@@ -1240,14 +1244,15 @@
   /*                    hence the term `ppem' (pixels per EM).  It is also */
   /*                    referred to as `nominal height'.                   */
   /*                                                                       */
-  /*    x_scale      :: A 16.16 fractional scale used to convert           */
+  /*    x_scale      :: A 16.16 fractional scaling value used to convert   */
   /*                    horizontal metrics from font units to 26.6         */
   /*                    fractional pixels.  Only relevant for scalable     */
   /*                    font formats.                                      */
   /*                                                                       */
-  /*    y_scale      :: A 16.16 fractional scale used to convert vertical  */
-  /*                    metrics from font units to 26.6 fractional pixels. */
-  /*                    Only relevant for scalable font formats.           */
+  /*    y_scale      :: A 16.16 fractional scaling value used to convert   */
+  /*                    vertical metrics from font units to 26.6           */
+  /*                    fractional pixels.  Only relevant for scalable     */
+  /*                    font formats.                                      */
   /*                                                                       */
   /*    ascender     :: The ascender in 26.6 fractional pixels.  See       */
   /*                    @FT_FaceRec for the details.                       */
@@ -1262,8 +1267,8 @@
   /*                    pixels.  See @FT_FaceRec for the details.          */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    The scales, if relevant, are determined first during a size        */
-  /*    changing operation.  The remaining fields are then set by the      */
+  /*    The scaling values, if relevant, are determined first during a     */
+  /*    size changing operation.  The remaining fields are then set by the */
   /*    driver.  For scalable formats, they are usually set to scaled      */
   /*    values of the corresponding fields in @FT_FaceRec.                 */
   /*                                                                       */
@@ -1280,8 +1285,8 @@
     FT_UShort  x_ppem;      /* horizontal pixels per EM               */
     FT_UShort  y_ppem;      /* vertical pixels per EM                 */
 
-    FT_Fixed   x_scale;     /* two scales used to convert font units  */
-    FT_Fixed   y_scale;     /* to 26.6 fractional pixels              */
+    FT_Fixed   x_scale;     /* scaling values used to convert font    */
+    FT_Fixed   y_scale;     /* units to 26.6 fractional pixels        */
 
     FT_Pos     ascender;    /* ascender in 26.6 frac. pixels          */
     FT_Pos     descender;   /* descender in 26.6 frac. pixels         */
@@ -2006,28 +2011,29 @@
   /* <Values>                                                              */
   /*    FT_SIZE_REQUEST_TYPE_NOMINAL ::                                    */
   /*      The nominal size.  The `units_per_EM' field of @FT_FaceRec is    */
-  /*      used to determine both scales.                                   */
+  /*      used to determine both scaling values.                           */
   /*                                                                       */
   /*    FT_SIZE_REQUEST_TYPE_REAL_DIM ::                                   */
   /*      The real dimension.  The sum of the the `Ascender' and (minus    */
   /*      of) the `Descender' fields of @FT_FaceRec are used to determine  */
-  /*      both scales.                                                     */
+  /*      both scaling values.                                             */
   /*                                                                       */
   /*    FT_SIZE_REQUEST_TYPE_BBOX ::                                       */
   /*      The font bounding box.  The width and height of the `bbox' field */
   /*      of @FT_FaceRec are used to determine the horizontal and vertical */
-  /*      scales respectively.                                             */
+  /*      scaling value, respectively.                                     */
   /*                                                                       */
   /*    FT_SIZE_REQUEST_TYPE_CELL ::                                       */
   /*      The `max_advance_width' field of @FT_FaceRec is used to          */
-  /*      determine the horizontal scale, and the vertical scale is        */
-  /*      determined the same way as @FT_SIZE_REQUEST_TYPE_REAL_DIM does.  */
-  /*      Finally, both scales are set to the smaller one.  This type is   */
-  /*      useful if you want to specify the font size for, say, a window   */
-  /*      of a given dimension and 80x24 cells.                            */
+  /*      determine the horizontal scaling value; the vertical scaling     */
+  /*      value is determined the same way as                              */
+  /*      @FT_SIZE_REQUEST_TYPE_REAL_DIM does.  Finally, both scaling      */
+  /*      values are set to the smaller one.  This type is useful if you   */
+  /*      want to specify the font size for, say, a window of a given      */
+  /*      dimension and 80x24 cells.                                       */
   /*                                                                       */
   /*    FT_SIZE_REQUEST_TYPE_SCALES ::                                     */
-  /*      Specify the scales directly.                                     */
+  /*      Specify the scaling values directly.                             */
   /*                                                                       */
   /* <Note>                                                                */
   /*    The above descriptions only apply to scalable formats.  For bitmap */
@@ -2034,7 +2040,7 @@
   /*    formats, the behavior is up to the driver.                         */
   /*                                                                       */
   /*    See the note section of @FT_Size_Metrics if you wonder how size    */
-  /*    requesting relates to scales.                                      */
+  /*    requesting relates to scaling values.                              */
   /*                                                                       */
   typedef enum  FT_Size_Request_Type_
   {
@@ -2073,8 +2079,8 @@
   /*                      value.                                           */
   /*                                                                       */
   /* <Note>                                                                */
-  /*    If `width' is zero, then the horizontal scale is set equal to the  */
-  /*    vertical scale, and vice versa.                                    */
+  /*    If `width' is zero, then the horizontal scaling value is set      */
+  /*    equal to the vertical scaling value, and vice versa.               */
   /*                                                                       */
   typedef struct  FT_Size_RequestRec_
   {
@@ -2699,7 +2705,7 @@
   /*    right_glyph :: The index of the right glyph in the kern pair.      */
   /*                                                                       */
   /*    kern_mode   :: See @FT_Kerning_Mode for more information.          */
-  /*                   Determines the scale/dimension of the returned      */
+  /*                   Determines the scale and dimension of the returned  */
   /*                   kerning vector.                                     */
   /*                                                                       */
   /* <Output>                                                              */
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -144,15 +144,15 @@
   /*                                                                       */
   /*    FT_PIXEL_MODE_LCD ::                                               */
   /*      An 8-bit bitmap, used to represent RGB or BGR decimated glyph    */
-  /*      images used for display on LCD displays; the bitmap's width is   */
-  /*      three times wider than the original glyph image.  See also       */
+  /*      images used for display on LCD displays; the bitmap is three     */
+  /*      times wider than the original glyph image.  See also             */
   /*      @FT_RENDER_MODE_LCD.                                             */
   /*                                                                       */
   /*    FT_PIXEL_MODE_LCD_V ::                                             */
   /*      An 8-bit bitmap, used to represent RGB or BGR decimated glyph    */
-  /*      images used for display on rotated LCD displays; the bitmap's    */
-  /*      height is three times taller than the original glyph image.      */
-  /*      See also @FT_RENDER_MODE_LCD_V.                                  */
+  /*      images used for display on rotated LCD displays; the bitmap      */
+  /*      is three times taller than the original glyph image.  See also   */
+  /*      @FT_RENDER_MODE_LCD_V.                                           */
   /*                                                                       */
   typedef enum  FT_Pixel_Mode_
   {
@@ -179,11 +179,11 @@
   /*    @FT_Pixel_Mode values instead.                                     */
   /*                                                                       */
   /* <Values>                                                              */
-  /*    ft_pixel_mode_none  :: see @FT_PIXEL_MODE_NONE                     */
-  /*    ft_pixel_mode_mono  :: see @FT_PIXEL_MODE_MONO                     */
-  /*    ft_pixel_mode_grays :: see @FT_PIXEL_MODE_GRAY                     */
-  /*    ft_pixel_mode_pal2  :: see @FT_PIXEL_MODE_GRAY2                    */
-  /*    ft_pixel_mode_pal4  :: see @FT_PIXEL_MODE_GRAY4                    */
+  /*    ft_pixel_mode_none  :: See @FT_PIXEL_MODE_NONE.                    */
+  /*    ft_pixel_mode_mono  :: See @FT_PIXEL_MODE_MONO.                    */
+  /*    ft_pixel_mode_grays :: See @FT_PIXEL_MODE_GRAY.                    */
+  /*    ft_pixel_mode_pal2  :: See @FT_PIXEL_MODE_GRAY2.                   */
+  /*    ft_pixel_mode_pal4  :: See @FT_PIXEL_MODE_GRAY4.                   */
   /*                                                                       */
 #define ft_pixel_mode_none   FT_PIXEL_MODE_NONE
 #define ft_pixel_mode_mono   FT_PIXEL_MODE_MONO
@@ -203,8 +203,8 @@
   /* <Description>                                                         */
   /*    THIS TYPE IS DEPRECATED.  DO NOT USE IT!                           */
   /*                                                                       */
-  /*    An enumeration type used to describe the format of a bitmap        */
-  /*    palette, used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.      */
+  /*    An enumeration type to describe the format of a bitmap palette,    */
+  /*    used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8.               */
   /*                                                                       */
   /* <Fields>                                                              */
   /*    ft_palette_mode_rgb  :: The palette is an array of 3-bytes RGB     */
@@ -258,7 +258,7 @@
   /*                    most cases.                                        */
   /*                                                                       */
   /*    num_grays    :: This field is only used with                       */
-  /*                    `FT_PIXEL_MODE_GRAY'; it gives the number of gray  */
+  /*                    @FT_PIXEL_MODE_GRAY; it gives the number of gray   */
   /*                    levels used in the bitmap.                         */
   /*                                                                       */
   /*    pixel_mode   :: The pixel mode, i.e., how pixel bits are stored.   */
@@ -644,7 +644,7 @@
   /*    FT_IMAGE_TAG                                                       */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This macro converts four letter tags into an unsigned long.        */
+  /*    This macro converts four-letter tags to an unsigned long type.     */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Since many 16bit compilers don't like 32bit enumerations, you      */
@@ -651,7 +651,9 @@
   /*    should redefine this macro in case of problems to something like   */
   /*    this:                                                              */
   /*                                                                       */
+  /*    {                                                                  */
   /*      #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  value         */
+  /*    }                                                                  */
   /*                                                                       */
   /*    to get a simple enumeration without assigning special numbers.     */
   /*                                                                       */
@@ -677,7 +679,7 @@
   /*                                                                       */
   /* <Values>                                                              */
   /*    FT_GLYPH_FORMAT_NONE ::                                            */
-  /*      The value 0 is reserved and does describe a glyph format.        */
+  /*      The value 0 is reserved.                                         */
   /*                                                                       */
   /*    FT_GLYPH_FORMAT_COMPOSITE ::                                       */
   /*      The glyph image is a composite of several other images.  This    */
@@ -690,13 +692,13 @@
   /*      the @FT_GlyphSlotRec structure to read it.                       */
   /*                                                                       */
   /*    FT_GLYPH_FORMAT_OUTLINE ::                                         */
-  /*      The glyph image is a vertorial outline made of line segments     */
+  /*      The glyph image is a vectorial outline made of line segments     */
   /*      and Bezier arcs; it can be described as an @FT_Outline; you      */
   /*      generally want to access the `outline' field of the              */
   /*      @FT_GlyphSlotRec structure to read it.                           */
   /*                                                                       */
   /*    FT_GLYPH_FORMAT_PLOTTER ::                                         */
-  /*      The glyph image is a vectorial path with no inside/outside       */
+  /*      The glyph image is a vectorial path with no inside and outside   */
   /*      contours.  Some Type 1 fonts, like those in the Hershey family,  */
   /*      contain glyphs in this format.  These are described as           */
   /*      @FT_Outline, but FreeType isn't currently capable of rendering   */
@@ -724,11 +726,11 @@
   /*    @FT_Glyph_Format values instead.                                   */
   /*                                                                       */
   /* <Values>                                                              */
-  /*    ft_glyph_format_none      :: see @FT_GLYPH_FORMAT_NONE             */
-  /*    ft_glyph_format_composite :: see @FT_GLYPH_FORMAT_COMPOSITE        */
-  /*    ft_glyph_format_bitmap    :: see @FT_GLYPH_FORMAT_BITMAP           */
-  /*    ft_glyph_format_outline   :: see @FT_GLYPH_FORMAT_OUTLINE          */
-  /*    ft_glyph_format_plotter   :: see @FT_GLYPH_FORMAT_PLOTTER          */
+  /*    ft_glyph_format_none      :: See @FT_GLYPH_FORMAT_NONE.            */
+  /*    ft_glyph_format_composite :: See @FT_GLYPH_FORMAT_COMPOSITE.       */
+  /*    ft_glyph_format_bitmap    :: See @FT_GLYPH_FORMAT_BITMAP.          */
+  /*    ft_glyph_format_outline   :: See @FT_GLYPH_FORMAT_OUTLINE.         */
+  /*    ft_glyph_format_plotter   :: See @FT_GLYPH_FORMAT_PLOTTER.         */
   /*                                                                       */
 #define ft_glyph_format_none       FT_GLYPH_FORMAT_NONE
 #define ft_glyph_format_composite  FT_GLYPH_FORMAT_COMPOSITE
--- a/include/freetype/ftincrem.h
+++ b/include/freetype/ftincrem.h
@@ -40,7 +40,7 @@
   *    Incremental Loading
   *
   * @abstract:
-  *    Custom Glyph Loading
+  *    Custom Glyph Loading.
   *
   * @description:
   *   This section contains various functions used to perform so-called
--- a/include/freetype/ftmodapi.h
+++ b/include/freetype/ftmodapi.h
@@ -316,7 +316,7 @@
    *   The TrueType Engine
    *
    * @abstract:
-   *   TrueType bytecode support
+   *   TrueType bytecode support.
    *
    * @description:
    *   This section contains a function used to query the level of TrueType
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -273,8 +273,8 @@
   /*    FT_Fixed                                                           */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This type is used to store 16.16 fixed float values, like scales   */
-  /*    or matrix coefficients.                                            */
+  /*    This type is used to store 16.16 fixed float values, like scaling  */
+  /*    values or matrix coefficients.                                     */
   /*                                                                       */
   typedef signed long  FT_Fixed;
 
@@ -409,7 +409,7 @@
   /*                                                                       */
   /* <Description>                                                         */
   /*    Describes a function used to destroy the `client' data of any      */
-  /*    FreeType object.  See the description of the FT_Generic type for   */
+  /*    FreeType object.  See the description of the @FT_Generic type for  */
   /*    details of usage.                                                  */
   /*                                                                       */
   /* <Input>                                                               */
@@ -461,7 +461,7 @@
   /*    FT_MAKE_TAG                                                        */
   /*                                                                       */
   /* <Description>                                                         */
-  /*    This macro converts four letter tags which are used to label       */
+  /*    This macro converts four-letter tags which are used to label       */
   /*    TrueType tables into an unsigned long to be used within FreeType.  */
   /*                                                                       */
   /* <Note>                                                                */
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -516,9 +516,10 @@
   /*                                                                       */
   /*    last         :: The last point position.                           */
   /*                                                                       */
-  /*    scale_x      :: The horizontal scale (FUnits to sub-pixels).       */
+  /*    scale_x      :: The horizontal scaling value (FUnits to            */
+  /*                    sub-pixels).                                       */
   /*                                                                       */
-  /*    scale_y      :: The vertical scale (FUnits to sub-pixels).         */
+  /*    scale_y      :: The vertical scaling value (FUnits to sub-pixels). */
   /*                                                                       */
   /*    pos_x        :: The horizontal translation (if composite glyph).   */
   /*                                                                       */
--- a/src/tools/docmaker/sources.py
+++ b/src/tools/docmaker/sources.py
@@ -135,8 +135,8 @@
 #
 # used to detect italic and bold styles in paragraph text
 #
-re_italic = re.compile( r"_(\w(\w|')*)_" )     #  _italic_
-re_bold   = re.compile( r"\*(\w(\w|')*)\*" )   #  *bold*
+re_italic = re.compile( r"_(\w(\w|')*)_(.*)" )     #  _italic_
+re_bold   = re.compile( r"\*(\w(\w|')*)\*(.*)" )   #  *bold*
 
 #
 # used to detect the end of commented source lines
--- a/src/tools/docmaker/tohtml.py
+++ b/src/tools/docmaker/tohtml.py
@@ -155,7 +155,7 @@
         self.html_header   = html_header_1 + project_title + html_header_2 + \
                              project_title + html_header_3
 
-        self.html_footer = "<center><font size=""-2"">generated on " +   \
+        self.html_footer = "<center><font size=""-2"">generated on " +      \
                             time.asctime( time.localtime( time.time() ) ) + \
                            "</font></center>" + html_footer
 
@@ -189,11 +189,13 @@
             try:
                 name = m.group(1)
                 rest = m.group(2)
-                block = self.identifiers[ name ]
+                block = self.identifiers[name]
                 url   = self.make_block_url( block )
                 return '<a href="' + url + '">' + name + '</a>' + rest
             except:
                 # we detected a cross-reference to an unknown item
+                sys.stderr.write( \
+                   "WARNING: undefined cross reference '" + name + "'.\n" )
                 return '?' + name + '?' + rest
 
         # look for italics and bolds
@@ -200,12 +202,14 @@
         m = re_italic.match( word )
         if m:
             name = m.group(1)
-            return '<i>' + name + '</i>'
+            rest = m.group(3)
+            return '<i>' + name + '</i>' + rest
 
         m = re_bold.match( word )
         if m:
             name = m.group(1)
-            return '<b>' + name + '</b>'
+            rest = m.group(3)
+            return '<b>' + name + '</b>' + rest
 
         return html_quote(word)
 
@@ -283,9 +287,9 @@
                     result = result + prefix + '<a href="' + \
                              self.make_block_url(block) + '">' + name + '</a>'
                 else:
-                    result = result + html_quote(line[ : length ])
+                    result = result + html_quote(line[:length])
 
-                line = line[ length : ]
+                line = line[length:]
             else:
                 result = result + html_quote(line)
                 line   = []
@@ -336,9 +340,9 @@
         self.index_items = {}
 
     def  index_name_enter( self, name ):
-        block = self.identifiers[ name ]
+        block = self.identifiers[name]
         url   = self.make_block_url( block )
-        self.index_items[ name ] = url
+        self.index_items[name] = url
 
     def  index_exit( self ):
 
@@ -352,8 +356,8 @@
             for c in range(self.columns):
                 i = r + c*rows
                 if i < count:
-                    bname = self.block_index[ r + c*rows ]
-                    url   = self.index_items[ bname ]
+                    bname = self.block_index[r + c * rows]
+                    url   = self.index_items[bname]
                     line = line + '<td><a href="' + url + '">' + bname + '</a></td>'
                 else:
                     line = line + '<td></td>'