[Top][All Lists]
[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,