From: Alexey K. <ana...@ya...> - 2009-04-10 10:49:57
|
On Fri, 10 Apr 2009 11:13:27 +1100 Andrey V. Panov wrote: > After making the diagonal point No. 17 has incorrect y-coordinate. It > should be interpolated with freedom vector based on points 15, 17 > along y-axis with reference points at the glyph bottom and X-height. Interpolation for DStem key points is currently not implemented, so it should have been just moved by x rather than by y. The attached patch fixes this. > "o" at 13 ppem has not both bearings, so the letters in "oc" or "po" > combinations touch each other. Well, what would you expect here? FF currently doesn't attempt to maintain the minimum distance for glyph bearings, as this would produce wrong results in many cases. This particular glyph has relatively small bearings, so naturally they disppear at small ppems. > Moreover at 22 ppem with monochrome rendering "e", "o", "ф" have not > right bearing, while "p" has 1 pixel bearing. The first letters > should have the bearing too. The immediate reason for this effect is that FF didn't check if rp0 is set to the key point of the last vertical stem's right edge when positioning the right bearing. The attached patch fixes this. However I see FF almost always doesn't change rp0 when positioning the right edge of a vertical stem, and I am not sure this is the correct behavior. Michal, wouldn't it be better to set chg_rp0 to set_new_rp0 at line 3615? > P.S. "т" is asymmetric, it looks unattractively. I don't get this effect when I autoinstruct this glyph myself. I assume you had counter control disabled. -- Regards, Alexey Kryukov <anagnost at yandex dot ru> Moscow State University Historical Faculty |