shithub: freetype+ttf2subf

Download patch

ref: 4db32ecbc5781f191a22e64e35f61e943aa5d09f
parent: 2ce9203735802a8831f36731310e02fe0f863d98
author: Werner Lemberg <[email protected]>
date: Fri Mar 24 06:54:53 EST 2006

* docs/CHANGES: Updated.

* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
padding between table elements.


Formatting, copyright years.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,25 @@
+2006-03-23  Werner Lemberg  <[email protected]>
+
+	* docs/CHANGES: Updated.
+
+	* src/tools/docmaker/tohtml.py (html_header_2): Add horizontal
+	padding between table elements.
+
 2006-03-23  David Turner <[email protected]>
 
-	* include/freetype/freetype.h, include/freetype/internal/ftgloadr.h,
-        src/base/ftobjs.c: adding FT_Get_SubGlyph_Info API to retrieve subglyph
-        data. Note that we do not expose FT_SubGlyphRec here !
+	Add FT_Get_SubGlyph_Info API to retrieve subglyph data.  Note that
+        we do not expose the FT_SubGlyphRec structure.
 
-	* src/autofit/afloader.c: compute lsb_delta and rsb_delta correctly
-        in edge cases
+	* include/freetype/internal/ftgloadr.h (FT_SUBGLYPH_FLAGS_*): Moved
+	to...
+	* include/freetype/freetype.h (FT_SUBGLYPH_FLAGS_*): Here.
+	(FT_Get_SybGlyph_Info): New declaration.
+
+	* src/base/ftobjs.c (FT_Get_SubGlyph_Info): New function.
+
+
+	* src/autofit/afloader.c (af_loader_load_g): Compute lsb_delta and
+        rsb_delta correctly in edge cases.
 
 2006-03-22  Werner Lemberg  <[email protected]>
 
--- a/devel/ftoption.h
+++ b/devel/ftoption.h
@@ -436,7 +436,7 @@
   /*   Do not #undef this macro here, since the build system might         */
   /*   define it for certain configurations only.                          */
   /*                                                                       */
-#define xxTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
 
 
   /*************************************************************************/
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -21,6 +21,7 @@
       command.  Consequently, a number of rogue clients which directly
       access  FreeType's  internal   functions  and  structures  won't
       compile without modification.
+
       We provide  patches for  most of those  rogue clients.   See the
       following page for more information:
 
@@ -57,7 +58,7 @@
         FT_Renderer_RenderFunc
         FT_Renderer_TransformFunc
 
-      Note that this doesn't affect binary backwards compatibility.
+      Note that this doesn't affect binary backward compatibility.
 
     - On MacOS,  new APIs have  been added as replacements  for legacy
       APIs:  `FT_New_Face_From_FSRef'  for  `FT_New_Face_From_FSSpec',
@@ -65,11 +66,14 @@
       `FT_GetFile_From_Mac_Name'.  Legacy APIs are still available, if
       FreeType is built without disabling them.
 
-    - A new API `FT_Select_Size' is added to select a bitmap strike by
-      its index.  Code  using other functions to select bitmap strikes
-      should be updated to use this function.
+    - A new  API `FT_Select_Size'  has been added  to select  a bitmap
+      strike  by its  index.   Code using  other  functions to  select
+      bitmap strikes should be updated to use this function.
 
-    - In 2.1.10, the behaviour  of `FT_Set_Pixel_Sizes' is changed for
+    - A  new API  `FT_Get_SubGlyph_Info'  has been  added to  retrieve
+      subglyph data.
+
+    - In 2.1.10, the behaviour of `FT_Set_Pixel_Sizes' was changed for
       BDF/PCF fonts,  and only  for them.  This  causes inconsistency.
       In this release,  we undo the change.  The  intent of the change
       in 2.1.10  is to allow  size selection through  real dimensions,
@@ -87,9 +91,9 @@
       used to specify the hinting algorithm, the other to specify  the
       pixel rendering mode.
 
-    - FT_New_Face()  and   FT_New_Face_From_FSSpec()  in  ftmac.c  are
+    - FT_New_Face() and FT_New_Face_From_FSSpec() in ftmac.c have been
       changed to count supported scalable faces (sfnt, LWFN) only, and
-      returns  the  number  of  available faces  via  face->num_faces.
+      to  return the  number of  available faces  via face->num_faces.
       Unsupported bitmap faces (fbit, NFNT) are ignored.
 
     - builds/unix/configure  has been  improved for  MacOS X.   It now
@@ -1326,7 +1330,7 @@
     - Important updates to the Mac-specific parts of the library.
 
     - The caching sub-system has  been completely re-designed, and its
-      API has  evolved (the old  one is still supported  for backwards
+      API has  evolved (the  old one is  still supported  for backward
       compatibility).
 
       The documentation for it is  not yet completed, sorry.  For now,
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -1403,14 +1403,14 @@
   /*                                                                       */
   /*    format            :: This field indicates the format of the image  */
   /*                         contained in the glyph slot.  Typically       */
-  /*                         FT_GLYPH_FORMAT_BITMAP,                       */
-  /*                         FT_GLYPH_FORMAT_OUTLINE, and                  */
-  /*                         FT_GLYPH_FORMAT_COMPOSITE, but others are     */
+  /*                         @FT_GLYPH_FORMAT_BITMAP,                      */
+  /*                         @FT_GLYPH_FORMAT_OUTLINE, or                  */
+  /*                         @FT_GLYPH_FORMAT_COMPOSITE, but others are    */
   /*                         possible.                                     */
   /*                                                                       */
   /*    bitmap            :: This field is used as a bitmap descriptor     */
   /*                         when the slot format is                       */
-  /*                         FT_GLYPH_FORMAT_BITMAP.  Note that the        */
+  /*                         @FT_GLYPH_FORMAT_BITMAP.  Note that the       */
   /*                         address and content of the bitmap buffer can  */
   /*                         change between calls of @FT_Load_Glyph and a  */
   /*                         few other functions.                          */
@@ -1418,7 +1418,7 @@
   /*    bitmap_left       :: This is the bitmap's left bearing expressed   */
   /*                         in integer pixels.  Of course, this is only   */
   /*                         valid if the format is                        */
-  /*                         FT_GLYPH_FORMAT_BITMAP.                       */
+  /*                         @FT_GLYPH_FORMAT_BITMAP.                      */
   /*                                                                       */
   /*    bitmap_top        :: This is the bitmap's top bearing expressed in */
   /*                         integer pixels.  Remember that this is the    */
@@ -1428,7 +1428,7 @@
   /*                                                                       */
   /*    outline           :: The outline descriptor for the current glyph  */
   /*                         image if its format is                        */
-  /*                         FT_GLYPH_FORMAT_OUTLINE.  Once a glyph is     */
+  /*                         @FT_GLYPH_FORMAT_OUTLINE.  Once a glyph is    */
   /*                         loaded, `outline' can be transformed,         */
   /*                         distorted, embolded, etc.  However, it must   */
   /*                         not be freed.                                 */
@@ -1482,7 +1482,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,     */
-  /*    `slot->format' is also changed to `FT_GLYPH_FORMAT_BITMAP' .       */
+  /*    `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP.         */
   /*                                                                       */
   /* <Note>                                                                */
   /*    Here a small pseudo code fragment which shows how to use           */
@@ -3222,21 +3222,26 @@
   FT_Vector_Transform( FT_Vector*        vec,
                        const FT_Matrix*  matrix );
 
- /**
-  * @macro: FT_SUBGLYPH_FLAG_XXX
-  *
-  * @description:
-  *   a list of constant used to describe each subglyph
-  *
-  * @values:
-  *   FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
-  *   FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ::
-  *   FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID ::
-  *   FT_SUBGLYPH_FLAG_SCALE ::
-  *   FT_SUBGLYPH_FLAG_XY_SCALE ::
-  *   FT_SUBGLYPH_FLAG_2X2 ::
-  *   FT_SUBGLYPH_FLAG_USE_MY_METRICS ::
-  */
+
+  /*************************************************************************
+   *
+   * @macro:
+   *   FT_SUBGLYPH_FLAG_XXX
+   *
+   * @description:
+   *   A list of constants used to describe subglyphs.  Please refer to the
+   *   TrueType specification for the meaning of the various flags.
+   *
+   * @values:
+   *   FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS ::
+   *   FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES ::
+   *   FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID ::
+   *   FT_SUBGLYPH_FLAG_SCALE ::
+   *   FT_SUBGLYPH_FLAG_XY_SCALE ::
+   *   FT_SUBGLYPH_FLAG_2X2 ::
+   *   FT_SUBGLYPH_FLAG_USE_MY_METRICS ::
+   *
+   */
 #define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
 #define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
 #define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
@@ -3245,41 +3250,57 @@
 #define FT_SUBGLYPH_FLAG_2X2                  0x80
 #define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
 
- /**
-  * @func: FT_Get_SubGlyph_Info
-  *
-  * @description:
-  *   a function used to retrieve a description of a given subglyph.
-  *   only use it when 'glyph->format' is FT_GLYPH_FORMAT_COMPOSITE, or
-  *   an error will be returned
-  *
-  * @input:
-  *   glyph     :: source glyph slot
-  *   sub_index :: index of subglyph. must be less than 'glyph->num_subglyphs'
-  *
-  * @output:
-  *   p_index     :: subglyph glyph index
-  *   p_flags     :: subglyph flags, see @FT_SUBGLYPH_FLAG_XXX
-  *   p_arg1      :: subglyph first argument  (if any)
-  *   p_arg2      :: subglyph second argument (if any)
-  *   p_transform :: subglyph transform (if any)
-  *
-  * @return:
-  *   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
-  */
+
+  /*************************************************************************
+   *
+   * @func:
+   *   FT_Get_SubGlyph_Info
+   *
+   * @description:
+   *   Retrieve a description of a given subglyph.  Only use it if
+   *   `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE, or an error is
+   *   returned.
+   *
+   * @input:
+   *   glyph ::
+   *     The source glyph slot.
+   *
+   *   sub_index ::
+   *     The index of subglyph.  Must be less than `glyph->num_subglyphs'.
+   *
+   * @output:
+   *   p_index ::
+   *     The glyph index of the subglyph.
+   *
+   *   p_flags ::
+   *     The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX.
+   *
+   *   p_arg1 ::
+   *     The subglyph's first argument (if any).
+   *
+   *   p_arg2 ::
+   *     The subglyph's second argument (if any).
+   *
+   *   p_transform ::
+   *     The subglyph transformation (if any).
+   *
+   * @return:
+   *   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.
+   *
+   */
   FT_EXPORT( FT_Error )
   FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
                         FT_UInt       sub_index,
-						FT_Int       *p_index,
-						FT_UInt      *p_flags,
-						FT_Int       *p_arg1,
-						FT_Int       *p_arg2,
-						FT_Matrix    *p_transform );
+                        FT_Int       *p_index,
+                        FT_UInt      *p_flags,
+                        FT_Int       *p_arg1,
+                        FT_Int       *p_arg2,
+                        FT_Matrix    *p_transform );
 
   /* */
 
--- a/include/freetype/internal/ftgloadr.h
+++ b/include/freetype/internal/ftgloadr.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    The FreeType glyph loader (specification).                           */
 /*                                                                         */
-/*  Copyright 2002, 2003, 2005 by                                          */
+/*  Copyright 2002, 2003, 2005, 2006 by                                    */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg                       */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -43,7 +43,7 @@
   typedef struct FT_GlyphLoaderRec_*  FT_GlyphLoader ;
 
 
-#if 0  /* now in freetype.h since 2.2 */
+#if 0  /* moved to freetype.h in version 2.2 */
 #define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS          1
 #define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES      2
 #define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID        4
@@ -52,6 +52,7 @@
 #define FT_SUBGLYPH_FLAG_2X2                  0x80
 #define FT_SUBGLYPH_FLAG_USE_MY_METRICS      0x200
 #endif
+
 
   typedef struct  FT_SubGlyphRec_
   {
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -3865,29 +3865,31 @@
   FT_EXPORT_DEF( FT_Error )
   FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,
                         FT_UInt       sub_index,
-						FT_Int       *p_index,
-						FT_UInt      *p_flags,
-						FT_Int       *p_arg1,
-						FT_Int       *p_arg2,
-						FT_Matrix    *p_transform )
+                        FT_Int       *p_index,
+                        FT_UInt      *p_flags,
+                        FT_Int       *p_arg1,
+                        FT_Int       *p_arg2,
+                        FT_Matrix    *p_transform )
   {
-	FT_Error  error = FT_Err_Invalid_Argument;
-	  
-	if ( glyph != NULL                              && 
-		 glyph->format == FT_GLYPH_FORMAT_COMPOSITE &&
-		 sub_index < glyph->num_subglyphs           )
-	{
+    FT_Error  error = FT_Err_Invalid_Argument;
+      
+
+    if ( glyph != NULL                              && 
+         glyph->format == FT_GLYPH_FORMAT_COMPOSITE &&
+         sub_index < glyph->num_subglyphs           )
+    {
       FT_SubGlyph  subg = glyph->subglyphs + sub_index;
-		
-	  *p_index     = subg->index;
-	  *p_flags     = subg->flags;
-	  *p_arg1      = subg->arg1;
-	  *p_arg2      = subg->arg2;
-	  *p_transform = subg->transform;
-	}
-	return error;
+        
+
+      *p_index     = subg->index;
+      *p_flags     = subg->flags;
+      *p_arg1      = subg->arg1;
+      *p_arg2      = subg->arg2;
+      *p_transform = subg->transform;
+    }
+
+    return error;
   }
 
-  
-  
+
 /* END */
--- a/src/tools/docmaker/tohtml.py
+++ b/src/tools/docmaker/tohtml.py
@@ -23,6 +23,7 @@
   p { text-align: justify; }
   h1 { text-align: center; }
   li { text-align: justify; }
+  td { padding: 0 0.5em 0 0.5em }
 
   a:link { color: #0000EF; }
   a:visited { color: #51188E; }