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: Thu, 20 Jul 2023 14:42:43 -0400

> Probably yes, but who knows.  It would be nice to have a generic
> solution that completely covers the whole situation, and we never have
> to think about it again.

Right now, I don't understand the needs well enough to know what to generalize or to test whether the general solution works well enough.  I'd rather start with specific use cases rather than a general solution with unclear goals.

> This leads to the basic question: Shall the correction be applied
 >before or after the grid fitting?  Right now, I favor the latter: It
> should be a last-minute action, similar to TrueType's `DELTAP[123]`
> bytecode instructions.

I disagree with doing the adjustment after grid fitting because in this case, grid fitting is a destructive action.  Doing it after would require taking a flat line and adding the wiggle back in, possibly in a way that doesn't match the font.  It sounds easier to prevent that from happening in the first place.

On Thu, Jul 20, 2023 at 1:02 PM Werner LEMBERG <wl@gnu.org> wrote:

> Since hinting glyphs that are descendants of combining characters
> will help few fonts, what other ways does the database need to use
> the GSUB table?  The only other use case I'm aware of are one to one
> substitutions providing alternate forms of a glyph.

Probably yes, but who knows.  It would be nice to have a generic
solution that completely covers the whole situation, and we never have
to think about it again.

> As for the tilde un-flattening, the approach I'm thinking of is to
> force the tilde to be at least 2 pixels tall before grid fitting
> begins.  Would this ever cause the tilde to be 3 pixels because of
> rounding?

This leads to the basic question: Shall the correction be applied
before or after the grid fitting?  Right now, I favor the latter: It
should be a last-minute action, similar to TrueType's `DELTAP[123]`
bytecode instructions.

  https://learn.microsoft.com/en-us/typography/opentype/spec/tt_instructions#managing-exceptions

In other words, if a tilde character's wiggle (not the whole tilde's
vertical size!) is detected to be only 1px high, the shape should be
aggressively distorted vertically to make the wiggle span two pixels.
To do this, some code has to be written to detect the the inflection
and extremum points of the upper and lower wiggle of the outline; only
the extrema are then to be moved vertically.


    Werner

reply via email to

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