Commit 00ae29fcd26a3425db5b3f15793796cb6e958411

Alexei Podtelezhnikov 2022-02-12T23:42:08

[pshinter] Tune PSH_STRONG_THRESHOLD_MAXIMUM value. Before the change, the hinting engine frequently confused horizontal stem and serif hints making some stems too thin and some serifs too thick. The value was tuned using serif fonts from the URW+ base 35 collection. * src/pshinter/pshalgo.c [PSH_STRONG_THRESHOLD_MAXIMUM]: s/30/12/.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diff --git a/src/pshinter/pshalgo.c b/src/pshinter/pshalgo.c
index a237f6c..dca5397 100644
--- a/src/pshinter/pshalgo.c
+++ b/src/pshinter/pshalgo.c
@@ -1548,8 +1548,9 @@
   /* the accepted shift for strong points in fractional pixels */
 #define PSH_STRONG_THRESHOLD  32
 
-  /* the maximum shift value in font units */
-#define PSH_STRONG_THRESHOLD_MAXIMUM  30
+  /* the maximum shift value in font units tuned to distinguish */
+  /* between stems and serifs in URW+ font collection           */
+#define PSH_STRONG_THRESHOLD_MAXIMUM  12
 
 
   /* find strong points in a glyph */