Fix thinko in spline flattening.
FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL. * src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and replace it everywhere with ONE_PIXEL/8.
This commit is contained in:
parent
463dddadfb
commit
34d61e8637
|
@ -1,3 +1,12 @@
|
|||
2010-10-15 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||
|
||||
Fix thinko in spline flattening.
|
||||
|
||||
FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL.
|
||||
|
||||
* src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and
|
||||
replace it everywhere with ONE_PIXEL/8.
|
||||
|
||||
2010-10-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
[raccess] Skip unrequired resource access rules by Darwin VFS.
|
||||
|
|
|
@ -91,11 +91,6 @@
|
|||
#define FT_COMPONENT trace_smooth
|
||||
|
||||
|
||||
/* The maximum distance of a curve from the chord, in 64ths of a pixel; */
|
||||
/* used when flattening curves. */
|
||||
#define FT_MAX_CURVE_DEVIATION 16
|
||||
|
||||
|
||||
#ifdef _STANDALONE_
|
||||
|
||||
|
||||
|
@ -891,14 +886,14 @@ typedef ptrdiff_t FT_PtrDist;
|
|||
if ( dx < dy )
|
||||
dx = dy;
|
||||
|
||||
if ( dx <= FT_MAX_CURVE_DEVIATION )
|
||||
if ( dx <= ONE_PIXEL / 8 )
|
||||
{
|
||||
gray_render_line( RAS_VAR_ UPSCALE( to->x ), UPSCALE( to->y ) );
|
||||
return;
|
||||
}
|
||||
|
||||
level = 1;
|
||||
dx /= FT_MAX_CURVE_DEVIATION;
|
||||
dx /= ONE_PIXEL / 8;
|
||||
while ( dx > 1 )
|
||||
{
|
||||
dx >>= 2;
|
||||
|
@ -1074,7 +1069,7 @@ typedef ptrdiff_t FT_PtrDist;
|
|||
goto Split;
|
||||
|
||||
/* Max deviation may be as much as (s/L) * 3/4 (if Hain's v = 1). */
|
||||
s_limit = L * (TPos)( FT_MAX_CURVE_DEVIATION / 0.75 );
|
||||
s_limit = L * (TPos)( ONE_PIXEL / 6 );
|
||||
|
||||
/* s is L * the perpendicular distance from P1 to the line P0-P3. */
|
||||
dx1 = arc[1].x - arc[0].x;
|
||||
|
|
Loading…
Reference in New Issue