forked from minhngoc25a/freetype2
* src/truetype/ttinterp. (Ins_SCANTYPE): Don't check rendering mode.
* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph, Draw_Sweep): No-dropout mode is value 2, not value 0. (Draw_Sweep): Really skip dropout handling for no-dropout mode.
This commit is contained in:
parent
5563bea093
commit
ce8853af81
|
@ -1,3 +1,11 @@
|
||||||
|
2008-06-24 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
* src/truetype/ttinterp. (Ins_SCANTYPE): Don't check rendering mode.
|
||||||
|
|
||||||
|
* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
|
||||||
|
Draw_Sweep): No-dropout mode is value 2, not value 0.
|
||||||
|
(Draw_Sweep): Really skip dropout handling for no-dropout mode.
|
||||||
|
|
||||||
2008-06-24 Werner Lemberg <wl@gnu.org>
|
2008-06-24 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
* src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
|
* src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
|
||||||
|
|
|
@ -2893,17 +2893,19 @@ static const char count_table[256] =
|
||||||
e1 = FLOOR( x1 );
|
e1 = FLOOR( x1 );
|
||||||
e2 = CEILING( x2 );
|
e2 = CEILING( x2 );
|
||||||
|
|
||||||
if ( ras.dropOutControl != 0 &&
|
if ( e1 > e2 || e2 == e1 + ras.precision )
|
||||||
( e1 > e2 || e2 == e1 + ras.precision ) )
|
|
||||||
{
|
{
|
||||||
/* a drop out was detected */
|
if ( ras.dropOutControl != 2 )
|
||||||
|
{
|
||||||
|
/* a drop out was detected */
|
||||||
|
|
||||||
P_Left ->X = x1;
|
P_Left ->X = x1;
|
||||||
P_Right->X = x2;
|
P_Right->X = x2;
|
||||||
|
|
||||||
/* mark profile for drop-out processing */
|
/* mark profile for drop-out processing */
|
||||||
P_Left->countL = 1;
|
P_Left->countL = 1;
|
||||||
dropouts++;
|
dropouts++;
|
||||||
|
}
|
||||||
|
|
||||||
goto Skip_To_Next;
|
goto Skip_To_Next;
|
||||||
}
|
}
|
||||||
|
@ -3123,7 +3125,7 @@ static const char count_table[256] =
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
/* Horizontal Sweep */
|
/* Horizontal Sweep */
|
||||||
if ( ras.second_pass && ras.dropOutControl != 0 )
|
if ( ras.second_pass && ras.dropOutControl != 2 )
|
||||||
{
|
{
|
||||||
ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
|
ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
|
||||||
ras.Proc_Sweep_Span = Horizontal_Sweep_Span;
|
ras.Proc_Sweep_Span = Horizontal_Sweep_Span;
|
||||||
|
@ -3208,7 +3210,7 @@ static const char count_table[256] =
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
/* Horizontal Sweep */
|
/* Horizontal Sweep */
|
||||||
if ( ras.second_pass && ras.dropOutControl != 0 )
|
if ( ras.second_pass && ras.dropOutControl != 2 )
|
||||||
{
|
{
|
||||||
ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
|
ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
|
||||||
ras.Proc_Sweep_Span = Horizontal_Gray_Sweep_Span;
|
ras.Proc_Sweep_Span = Horizontal_Gray_Sweep_Span;
|
||||||
|
|
|
@ -5121,16 +5121,8 @@
|
||||||
static void
|
static void
|
||||||
Ins_SCANTYPE( INS_ARG )
|
Ins_SCANTYPE( INS_ARG )
|
||||||
{
|
{
|
||||||
/* for compatibility with future enhancements, */
|
if ( args[0] >= 0 )
|
||||||
/* we must ignore new modes */
|
|
||||||
|
|
||||||
if ( args[0] >= 0 && args[0] <= 5 )
|
|
||||||
{
|
|
||||||
if ( args[0] == 3 )
|
|
||||||
args[0] = 2;
|
|
||||||
|
|
||||||
CUR.GS.scan_type = (FT_Int)args[0];
|
CUR.GS.scan_type = (FT_Int)args[0];
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue