shithub: freetype+ttf2subf

Download patch

ref: d2e1573706cd2f9a28250f8f98e943da3fba9d8f
parent: 540b954574569bc56e4ea61eec67159e88ca4dff
author: Werner Lemberg <[email protected]>
date: Sun Dec 30 18:49:14 EST 2007

* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
correctly.

Whitespace.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,20 +1,24 @@
+2007-12-30  Werner Lemberg  <[email protected]>
+
+	* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
+	correctly.
+
 2007-12-21  suzuki toshiya  <[email protected]>
 
 	Improvement of POSIX resource-fork accessor to load unsorted
-	references in a resource. In HelveLTMM (resource-fork
-	PostScript Type1 font bundled to Mac OS X since 10.3.x),
-	the appearance order of PFB chunks is not sorted.
-	Sorting the chunks by reference IDs is required.
+	references in a resource.  In HelveLTMM (resource-fork PostScript
+	Type1 font bundled with Mac OS X since 10.3.x), the appearance order
+	of PFB chunks is not sorted; sorting the chunks by reference IDs is
+	required.
 
-	* include/freetype/internal/ftrfork.h (FT_RFork_Ref):
-	New structure type to store a pair of reference ID and offset
-	to the chunk.
+	* include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
+	type to store a pair of reference ID and offset to the chunk.
 
-	* src/base/ftrfork.c (ft_raccess_sort_ref_by_id):
-	New function to sort FT_RFork_Ref by their reference ID.
+	* src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
+	sort FT_RFork_Ref by their reference IDs.
 
-	(FT_Raccess_Get_DataOffsets): Returns an array of offsets
-	that is sorted by reference ID.
+	(FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
+	sorted by reference ID.
 
 2007-12-14  Werner Lemberg  <[email protected]>
 
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -28,7 +28,7 @@
 #define __FTIMAGE_H__
 
 
-/* _STANDALONE_ is from ftgrays.c */
+  /* _STANDALONE_ is from ftgrays.c */
 #ifndef _STANDALONE_
 #include <ft2build.h>
 #endif
@@ -1075,6 +1075,7 @@
 
 #define  FT_Raster_New_Func    FT_Raster_NewFunc
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
@@ -1091,6 +1092,7 @@
 
 #define  FT_Raster_Done_Func   FT_Raster_DoneFunc
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
@@ -1125,6 +1127,7 @@
 
 #define  FT_Raster_Reset_Func   FT_Raster_ResetFunc
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
@@ -1150,6 +1153,7 @@
 
 #define  FT_Raster_Set_Mode_Func  FT_Raster_SetModeFunc
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
@@ -1190,6 +1194,7 @@
 
 #define  FT_Raster_Render_Func    FT_Raster_RenderFunc
 
+
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
@@ -1211,12 +1216,12 @@
   /*                                                                       */
   typedef struct  FT_Raster_Funcs_
   {
-    FT_Glyph_Format         glyph_format;
-    FT_Raster_NewFunc       raster_new;
-    FT_Raster_ResetFunc     raster_reset;
-    FT_Raster_SetModeFunc   raster_set_mode;
-    FT_Raster_RenderFunc    raster_render;
-    FT_Raster_DoneFunc      raster_done;
+    FT_Glyph_Format        glyph_format;
+    FT_Raster_NewFunc      raster_new;
+    FT_Raster_ResetFunc    raster_reset;
+    FT_Raster_SetModeFunc  raster_set_mode;
+    FT_Raster_RenderFunc   raster_render;
+    FT_Raster_DoneFunc     raster_done;
 
   } FT_Raster_Funcs;
 
--- a/include/freetype/internal/ftrfork.h
+++ b/include/freetype/internal/ftrfork.h
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Embedded resource forks accessor (specification).                    */
 /*                                                                         */
-/*  Copyright 2004, 2006 by                                                */
+/*  Copyright 2004, 2006, 2007 by                                          */
 /*  Masatake YAMATO and Redhat K.K.                                        */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -36,13 +36,18 @@
   /* Don't forget to increment the number if you add a new guessing rule. */
 #define FT_RACCESS_N_RULES  9
 
-  /* Structure to describe a reference in resource, by its resource id    */
-  /* and internal offset. `POST' resource expects to be concatenated by   */
-  /* the order of resource id, instead of its appearance in the file.     */
-  typedef struct FT_RFork_Ref_ {
-      FT_UShort  res_id;
-      FT_ULong   offset;
+
+  /* A structure to describe a reference in a resource by its resource ID */
+  /* and internal offset.  The `POST' resource expects to be concatenated */
+  /* by the order of resource IDs instead of its appearance in the file.  */
+
+  typedef struct  FT_RFork_Ref_
+  {
+    FT_UShort  res_id;
+    FT_ULong   offset;
+
   } FT_RFork_Ref;
+
 
   /*************************************************************************/
   /*                                                                       */
--- a/src/base/ftrfork.c
+++ b/src/base/ftrfork.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    Embedded resource forks accessor (body).                             */
 /*                                                                         */
-/*  Copyright 2004, 2005, 2006 by                                          */
+/*  Copyright 2004, 2005, 2006, 2007 by                                    */
 /*  Masatake YAMATO and Redhat K.K.                                        */
 /*                                                                         */
 /*  FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are     */
@@ -137,11 +137,11 @@
                              FT_RFork_Ref*  b )
   {
     if ( a->res_id < b->res_id )
-      return ( -1 );
+      return -1;
     else if ( a->res_id > b->res_id )
-      return ( 1 );
+      return 1;
     else
-      return ( 0 );
+      return 0;
   }
 
 
@@ -154,12 +154,12 @@
                               FT_Long   **offsets,
                               FT_Long    *count )
   {
-    FT_Error   error;
-    int        i, j, cnt, subcnt;
-    FT_Long    tag_internal, rpos;
-    FT_Memory  memory = library->memory;
-    FT_Long    temp;
-    FT_Long    *offsets_internal;
+    FT_Error      error;
+    int           i, j, cnt, subcnt;
+    FT_Long       tag_internal, rpos;
+    FT_Memory     memory = library->memory;
+    FT_Long       temp;
+    FT_Long       *offsets_internal;
     FT_RFork_Ref  *ref;
 
 
@@ -210,7 +210,7 @@
           ref[j].offset = temp & 0xFFFFFFL;
         }
 
-	ft_qsort( ref, *count, sizeof( FT_RFork_Ref ),
+        ft_qsort( ref, *count, sizeof ( FT_RFork_Ref ),
                   ( int(*)(const void*, const void*) )
                   ft_raccess_sort_ref_by_id );
 
@@ -225,8 +225,9 @@
           offsets_internal[j] = rdata_pos + ref[j].offset;
 
         *offsets = offsets_internal;
-        error = FT_Err_Ok;
-Exit:
+        error    = FT_Err_Ok;
+
+      Exit:
         FT_FREE( ref );
         return error;
       }
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -144,10 +144,10 @@
 
 #include "ftsmerrs.h"
 
-#define ErrRaster_Invalid_Mode     Smooth_Err_Cannot_Render_Glyph
-#define ErrRaster_Invalid_Outline  Smooth_Err_Invalid_Outline
-#define ErrRaster_Memory_Overflow  Smooth_Err_Out_Of_Memory
-#define ErrRaster_Invalid_Argument Smooth_Err_Bad_Argument
+#define ErrRaster_Invalid_Mode      Smooth_Err_Cannot_Render_Glyph
+#define ErrRaster_Invalid_Outline   Smooth_Err_Invalid_Outline
+#define ErrRaster_Memory_Overflow   Smooth_Err_Out_Of_Memory
+#define ErrRaster_Invalid_Argument  Smooth_Err_Bad_Argument
 
 #endif /* !_STANDALONE_ */
 
@@ -1659,7 +1659,7 @@
     ras.count_ex = ras.max_ex - ras.min_ex;
     ras.count_ey = ras.max_ey - ras.min_ey;
 
-    /* simple heuristic used to speed-up the bezier decomposition -- see */
+    /* simple heuristic used to speed up the bezier decomposition -- see */
     /* the code in gray_render_conic() and gray_render_cubic() for more  */
     /* details                                                           */
     ras.conic_level = 32;
@@ -1796,11 +1796,14 @@
     if ( !raster || !raster->buffer || !raster->buffer_size )
       return ErrRaster_Invalid_Argument;
 
+    if ( !outline )
+      return ErrRaster_Invalid_Outline;
+
     /* return immediately if the outline is empty */
     if ( outline->n_points == 0 || outline->n_contours <= 0 )
       return 0;
 
-    if ( !outline || !outline->contours || !outline->points )
+    if ( !outline->contours || !outline->points )
       return ErrRaster_Invalid_Outline;
 
     if ( outline->n_points !=
@@ -1850,10 +1853,10 @@
 
     gray_init_cells( worker, raster->buffer, raster->buffer_size );
 
-    ras.outline   = *outline;
-    ras.num_cells = 0;
-    ras.invalid   = 1;
-    ras.band_size = raster->band_size;
+    ras.outline        = *outline;
+    ras.num_cells      = 0;
+    ras.invalid        = 1;
+    ras.band_size      = raster->band_size;
     ras.num_gray_spans = 0;
 
     if ( target_map )