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:
parent
93ac3e3985
commit
e161ee449c
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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. */
|
||||||
|
|
|
@ -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. */
|
||||||
|
|
Loading…
Reference in New Issue