* 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:
Werner Lemberg 2008-06-24 11:19:03 +00:00
parent 5563bea093
commit ce8853af81
3 changed files with 21 additions and 19 deletions

View File

@ -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

View File

@ -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;

View File

@ -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];
}
} }