[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL
From: |
Алексей Подтележников |
Subject: |
Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL |
Date: |
Thu, 14 Oct 2010 07:55:53 -0400 |
2010/10/14 James Cloos <address@hidden>:
>>>>>> "АП" == Алексей Подтележников <address@hidden> writes:
>
> АП> Frankly, I think I am starting to notice the quality down a bit.
>
> I agree; the second png is worse that the first. But only just a bit.
>
> You should try ONE_PIXEL/8 as you suggested.
>
> Or, if even ONE_PIXEL/8 proves unpleasant, perhaps a patch to fix the
> comment to say that it is one 16th of a pixel might be better?
>
ONE_PIXEL / 8 looks good! I hope everyone agrees that 244_8.png is not worse
than 243_16.png. See attachments.
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index 17d172f..4828013 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -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;
243_16.png
Description: PNG image
244_8.png
Description: PNG image
244_4.png
Description: PNG image
- [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Алексей Подтележников, 2010/10/12
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, GRAHAM ASHER, 2010/10/13
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Алексей Подтележников, 2010/10/13
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, GRAHAM ASHER, 2010/10/13
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Werner LEMBERG, 2010/10/13
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Алексей Подтележников, 2010/10/13
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, James Cloos, 2010/10/14
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL,
Алексей Подтележников <=
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Werner LEMBERG, 2010/10/14
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, James Cloos, 2010/10/14
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Werner LEMBERG, 2010/10/15
- RE: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, David Bevan, 2010/10/14
- Re: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, Алексей Подтележников, 2010/10/14
RE: [ft-devel] FT_MAX_CURVE_DEVIATION vs ONE_PIXEL, David Bevan, 2010/10/13