Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kerning by classes dialog unsets kerning for unrelated cells when deleting a class #2464

Open
Nebuleon opened this issue Aug 26, 2015 · 0 comments

Comments

@Nebuleon
Copy link

Using FontForge from 2015-08-24 (commit 07d5ccf) on Linux, and a font with a kerning subtable using classes, deleting a class selects a new cell and sets that new cell's kerning to 0. I just noticed I lost the kerning values for the entire [*][A Agrave Aacute ...] column in my font to this bug.

Detailed steps to reproduce:

  1. menu /Element/Font Info
  2. category /Lookups/GPOS
  3. Open data for a kerning subtable that uses classes. Some classes referencing valid glyphs have to exist a priori in this subtable, and some kerning values must be non-zero.
  4. Click a cell either above or to the left of a cell having a non-zero kerning value.
  5. Delete the left class (if selecting a glyph above) or the right class (if selecting a glyph to the left).

Suggested values and example of triggering the bug:

classes a b c d e
a 0 0 0 0 -70
b -70 0 0 0 0
c 0 0 0 0 0
d 0 0 0 -70 0
e 0 0 -70 0 0

Selecting one of the bolded cells within the Kerning by Classes dialog, then clicking the Delete button for the correct side of the kerning class pairs, will set the kerning value to 0 in an italicised cell, depending on which gets activated as a result of the deletion. It should continue to contain -70, but is set to 0.

Workaround

Before deleting a kerning class on one side, activate the special class {Everything Else} on the other side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant