|
From: | Dave Arnold |
Subject: | Re: [ft-devel] Autohinter: stem darkening, first rough prototype |
Date: | Tue, 25 Aug 2015 15:50:25 -0700 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 |
Here's what I recall about the darkening curve. The shape of the curve was largely determined experimentally, but there are certain principles. It should be monotonic. It should have a minimum of around .4 or .5 pixels. It should go to zero at around 2 pixels. It is important that fonts with stems above that size are unaffected by darkening. This is keeping with the minimal hinting philosophy and performance can be improved if the darkening amount is zero. The slope of the function should be gradual so that bold (or semibold) always remains heavier than regular. I think it is important that darkening is introduced gradually as the size decreases, but can get more aggressive at smaller sizes. My opinion is that the ideal function is a curve, and the piecewise-linear nature of the implementation approximates this but is easier to implement. I hope that helps. -Dave On 8/23/2015 9:06 PM, Werner LEMBERG wrote:
I haven't yet looked closely at the new code, but I think that the original one in function `cf2_computeDarkening' (in file `cf2font.c') is quite straightforward – and it is well commented :-)I do not get why this function should be piecewise linear, rather than just linear. Why can't we just use something like this? darkenAmount = 0.5 pixels - ( scaledStem / 4 )Dave Arnold explained this to me some years ago. However, I no longer can remember why Adobe introduced this feature. Dave, can you please tell us the reason (again)? Werner
[Prev in Thread] | Current Thread | [Next in Thread] |