Hello list, in a mail to Werner, I was wondering about how to teach the autohinter about diacritics. Reason: In many fonts like Noto Sans, diacritics like in 'i' may hang too low at smaller pixel sizes and might even be compressed, resulting in a very unpleasant look and making glyphs harder to distinguish (Test the string "Hi" at 15 px on https://fonts.google.com/specimen/Noto+Sans).
I think this deserves a public discussion. Werner is aware of the problem and though of 3 possible solutions: 1) A bottom blue zone for diacritics in the Unicode diacritics block. Problems: a) The diacritics themselves may not align at the bottom like in Noto Sans. b) The blue zone must be independent of the script. c) Many basic fonts do not have the block, so the autohinter can't produce a blue zone. d) Sometimes, diacritics are positioned differently on purpose. A font might put the dieresis closer to the base glyph for German than for other languages. 2) A generic mechanism in the autohinter that helps avoid vertical collisions. This might compress diacritics more, however, because the autohinter may not know it can move the entire contour. 3) A new diacritics database that describes things like the 'i' having two contours, one of which must be at least one pixel above the other, or the '~' and 'ã' having a contour that must be expanded to be at least two pixels high. Werner gravitates towards 3) with an expanded afblue.dat. Solution 2) sounds interesting to me, with the twist that the autohinter moves entire unconnected contours vertically to avoid collisions. The easiest case would be something like the 'i', a more complicated case may be multiple diacritcs and even other writing systems. Any other ideas? _______________________________________________ Freetype-devel mailing list Freetype-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/freetype-devel