freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Progress update on adjustment database


From: Craig White
Subject: Re: Progress update on adjustment database
Date: Sat, 30 Sep 2023 12:50:36 -0400

> OK.  I think it is a bad side effect of the current auto-hinting
algorithm that there are different approaches.

I just want to clarify: you understood that the reason I used different approaches for each letter was to compare the approaches?  My intent is to use one of those approaches as a universal algorithm for all characters with tildes.  So every character would just have a boolean flag for whether to apply tilde hinting or not.

> 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.

will do!

Also, did you see my question about a glyph mapping to multiple characters?

On Sat, Sep 30, 2023 at 2:40 AM Werner LEMBERG <wl@gnu.org> wrote:

> > 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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]