freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] TTfautohint issues with small counters


From: Werner LEMBERG
Subject: Re: [ft-devel] TTfautohint issues with small counters
Date: Thu, 31 May 2012 09:03:02 +0200 (CEST)

> Testing with latest ttfautohint 0.8.  There's still some issues with
> small counters becoming blocked at specific pt sizes.  This is not a
> complaint :) just a reminder.  See screenshot
> http://tinyurl.com/cnsd2eq These issues are most problematic on old
> GDI cleartype rendering.  Under DirectWrite the situation is much
> better, see screenshot at http://tinyurl.com/bmdj4vz

Sigh.  Due to private reasons I have a large delay, and there is no
code yet for rounding to integers.  However, for this particular
issue, it might help to increase the `rounding up' threshold (I
suppose that you've used the `-x' flag, right?).  Please try the
simplistic patch below.

> However with bolder designs it's less simple to correct these
> problems.  Is there likely to be a resolution to this?

`More rounding up' might be one strategy, but the real solution would
be to assure a minimum gap distance.  I'm not sure yet how to do that,
but I have some ideas...


    Werner


======================================================================


diff --git a/lib/talatin.c b/lib/talatin.c
index 7f3eba7..974df3e 100644
--- a/lib/talatin.c
+++ b/lib/talatin.c
@@ -553,7 +553,7 @@ ta_latin_metrics_scale_dim(TA_LatinMetrics metrics,
 
       threshold = 40;
       if ((scaler->flags & TA_SCALER_FLAG_INCREASE_X_HEIGHT)
-          && metrics->root.scaler.face->size->metrics.x_ppem < 15
+          && metrics->root.scaler.face->size->metrics.x_ppem < 20
           && metrics->root.scaler.face->size->metrics.x_ppem > 5)
         threshold = 52;
 
diff --git a/lib/taprep.c b/lib/taprep.c
index 85c19d9..e23bbd3 100644
--- a/lib/taprep.c
+++ b/lib/taprep.c
@@ -97,10 +97,10 @@ unsigned char PREP(align_top_c1) [] =
 {
 
   /* this is for option `increase_x_height': */
-  /* apply much `stronger' rounding up of x height for 5 < PPEM < 15 */
+  /* apply much `stronger' rounding up of x height for 5 < PPEM < 20 */
   MPPEM,
   PUSHB_1,
-    15,
+    20,
   LT,
   MPPEM,
   PUSHB_1,



reply via email to

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