fixed a bug that caused invalid clipping of monochrome bitmaps when they were blitted on the left edge of an 8-bit pixmap..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
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. */