Commit e161ee449c8dffabbcee211f10509f6309f89886

David Turner 2000-07-10T22:03:10

fixed a bug that caused invalid clipping of monochrome bitmaps when they were blitted on the left edge of an 8-bit pixmap..

diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index 41647d3..584f6e3 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -246,7 +246,7 @@
   /*                                                                       */
   /*    This must be greater than 4 Kb                                     */
   /*                                                                       */
-#define FT_RENDER_POOL_SIZE   8192
+#define FT_RENDER_POOL_SIZE   16384
 
 
   /*************************************************************************/
diff --git a/src/cid/cidgload.c b/src/cid/cidgload.c
index 9f8608d..4169f26 100644
--- a/src/cid/cidgload.c
+++ b/src/cid/cidgload.c
@@ -461,7 +461,6 @@
   {
     FT_Error     error;
     FT_Int       bchar_index, achar_index, n_base_points;
-    FT_Outline*  cur  = decoder->builder.current;
     FT_Outline*  base = decoder->builder.base;
     FT_Vector    left_bearing, advance;
 
@@ -523,7 +522,7 @@
     if ( error )
       goto Exit;
 
-    n_base_points = cur->n_points;
+    n_base_points = base->n_points;
 
     {
       /* save the left bearing and width of the base character */
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index ad19e3d..eeb2ae4 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1368,13 +1368,13 @@
         glyph->format = ft_glyph_format_bitmap;
         if ( load_flags & FT_LOAD_VERTICAL_LAYOUT )
         {
-          glyph->bitmap_left = metrics.horiBearingX;
-          glyph->bitmap_top  = metrics.horiBearingY;
+          glyph->bitmap_left = metrics.vertBearingX;
+          glyph->bitmap_top  = metrics.vertBearingY;
         }
         else
         {
-          glyph->bitmap_left = metrics.vertBearingX;
-          glyph->bitmap_top  = metrics.vertBearingY;
+          glyph->bitmap_left = metrics.horiBearingX;
+          glyph->bitmap_top  = metrics.horiBearingY;
         }
         return error;
       }
diff --git a/src/type1/t1gload.c b/src/type1/t1gload.c
index 1165258..aa5ea01 100644
--- a/src/type1/t1gload.c
+++ b/src/type1/t1gload.c
@@ -281,7 +281,6 @@
   {
     FT_Error     error;
     FT_Int       bchar_index, achar_index, n_base_points;
-    FT_Outline*  cur  = decoder->builder.current;
     FT_Outline*  base = decoder->builder.base;
     FT_Vector    left_bearing, advance;
     T1_Face      face  = decoder->builder.face;
@@ -352,7 +351,7 @@
     if ( error )
       goto Exit;
 
-    n_base_points = cur->n_points;
+    n_base_points = base->n_points;
 
     /* save the left bearing and width of the base character */
     /* as they will be erased by the next load.              */
diff --git a/src/type1z/z1gload.c b/src/type1z/z1gload.c
index f65c569..7caa2e3 100644
--- a/src/type1z/z1gload.c
+++ b/src/type1z/z1gload.c
@@ -444,7 +444,6 @@
   {
     FT_Error     error;
     FT_Int       bchar_index, achar_index, n_base_points;
-    FT_Outline*  cur  = decoder->builder.current;
     FT_Outline*  base = decoder->builder.base;
     FT_Vector    left_bearing, advance;
     T1_Face      face  = decoder->builder.face;
@@ -513,7 +512,7 @@
     if ( error )
       goto Exit;
 
-    n_base_points = cur->n_points;
+    n_base_points = base->n_points;
 
     /* save the left bearing and width of the base character */
     /* as they will be erased by the next load.              */