freetype-devel
[Top][All Lists]
Advanced

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

Attachment: 243_16.png
Description: PNG image

Attachment: 244_8.png
Description: PNG image

Attachment: 244_4.png
Description: PNG image


reply via email to

[Prev in Thread] Current Thread [Next in Thread]