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