fixed a bug that caused invalid clipping of monochrome bitmaps

when they were blitted on the left edge of an 8-bit pixmap..
This commit is contained in:
David Turner 2000-07-10 22:03:10 +00:00
parent 93ac3e3985
commit e161ee449c
5 changed files with 8 additions and 11 deletions

View File

@ -246,7 +246,7 @@
/* */ /* */
/* This must be greater than 4 Kb */ /* This must be greater than 4 Kb */
/* */ /* */
#define FT_RENDER_POOL_SIZE 8192 #define FT_RENDER_POOL_SIZE 16384
/*************************************************************************/ /*************************************************************************/

View File

@ -461,7 +461,6 @@
{ {
FT_Error error; FT_Error error;
FT_Int bchar_index, achar_index, n_base_points; FT_Int bchar_index, achar_index, n_base_points;
FT_Outline* cur = decoder->builder.current;
FT_Outline* base = decoder->builder.base; FT_Outline* base = decoder->builder.base;
FT_Vector left_bearing, advance; FT_Vector left_bearing, advance;
@ -523,7 +522,7 @@
if ( error ) if ( error )
goto Exit; goto Exit;
n_base_points = cur->n_points; n_base_points = base->n_points;
{ {
/* save the left bearing and width of the base character */ /* save the left bearing and width of the base character */

View File

@ -1368,13 +1368,13 @@
glyph->format = ft_glyph_format_bitmap; glyph->format = ft_glyph_format_bitmap;
if ( load_flags & FT_LOAD_VERTICAL_LAYOUT ) if ( load_flags & FT_LOAD_VERTICAL_LAYOUT )
{ {
glyph->bitmap_left = metrics.horiBearingX; glyph->bitmap_left = metrics.vertBearingX;
glyph->bitmap_top = metrics.horiBearingY; glyph->bitmap_top = metrics.vertBearingY;
} }
else else
{ {
glyph->bitmap_left = metrics.vertBearingX; glyph->bitmap_left = metrics.horiBearingX;
glyph->bitmap_top = metrics.vertBearingY; glyph->bitmap_top = metrics.horiBearingY;
} }
return error; return error;
} }

View File

@ -281,7 +281,6 @@
{ {
FT_Error error; FT_Error error;
FT_Int bchar_index, achar_index, n_base_points; FT_Int bchar_index, achar_index, n_base_points;
FT_Outline* cur = decoder->builder.current;
FT_Outline* base = decoder->builder.base; FT_Outline* base = decoder->builder.base;
FT_Vector left_bearing, advance; FT_Vector left_bearing, advance;
T1_Face face = decoder->builder.face; T1_Face face = decoder->builder.face;
@ -352,7 +351,7 @@
if ( error ) if ( error )
goto Exit; goto Exit;
n_base_points = cur->n_points; n_base_points = base->n_points;
/* save the left bearing and width of the base character */ /* save the left bearing and width of the base character */
/* as they will be erased by the next load. */ /* as they will be erased by the next load. */

View File

@ -444,7 +444,6 @@
{ {
FT_Error error; FT_Error error;
FT_Int bchar_index, achar_index, n_base_points; FT_Int bchar_index, achar_index, n_base_points;
FT_Outline* cur = decoder->builder.current;
FT_Outline* base = decoder->builder.base; FT_Outline* base = decoder->builder.base;
FT_Vector left_bearing, advance; FT_Vector left_bearing, advance;
T1_Face face = decoder->builder.face; T1_Face face = decoder->builder.face;
@ -513,7 +512,7 @@
if ( error ) if ( error )
goto Exit; goto Exit;
n_base_points = cur->n_points; n_base_points = base->n_points;
/* save the left bearing and width of the base character */ /* save the left bearing and width of the base character */
/* as they will be erased by the next load. */ /* as they will be erased by the next load. */