|
From: | Craig White |
Subject: | Re: Progress update on adjustment database |
Date: | Sat, 30 Sep 2023 12:50:36 -0400 |
> > Thanks. Do you have meanwhile found an explanation why o-tilde
> > looks so bad for Times New Roman at 16ppem?
>
> All 4 letters in each row have a different approach:
>
> õ: vertical stretch, no segment removal
> ñ: no vertical stretch, segment removal
> ã: vertical stretch and segment removal
> all other tildes: no changes applied
OK. I think it is a bad side effect of the current auto-hinting
algorithm that there are different approaches. However, using the
adjustment database I wonder whether the knowledge of the character
topology can help improve the situation. In other words, do you see a
possibility to 'decouple' the (vertical) hinting of the tilde from the
base glyph hinting by checking a flag in the database? For this
purpose, a 'tilde' could be defined as the contour that lies higher
than the ascender of small letters – this implies that you need
another flag or enumeration to refer to small letter, uppercase
letters, etc.
As an example, the database information for glyph 'o tilde' could be
* lowercase character
* hint contour(s) higher than the lowercase ascender hight
separately
* stretch tilde vertically
> I implemented the algorithm for all glyph variants! The version I
> used is different from what I wrote originally to fix some errors.
Looks good. To help people understand the non-trivial algorithm I
suggest that you add a big comment that shows it working step by step
for an example font, using a reduced set of features and glyphs.
> I've only tried it on a pretty simple case so far, so I'll need to
> assemble a more complex test font or two.
A feature-rich (and freely available) font family is 'Libertinus', for
example.
Werner
[Prev in Thread] | Current Thread | [Next in Thread] |