Conversation
| fn v2_to_v3_kerning(&mut self) -> Result<(), Error> { | ||
| if let Some(kerning) = self.other_stuff.remove("kerning") { | ||
| self.other_stuff.insert("kerningLTR".to_string(), kerning); |
There was a problem hiding this comment.
amusingly in glyphsLib we ended up actually doing the opposite i.e. down-convert the kerningLTR/kerningRTL split dictionaries into a single kerning dict, like in was in glyphs v2 and in UFO.. the history of this is complicated as everything in font-land..
You may start from googlefonts/glyphsLib#865
There was a problem hiding this comment.
in any case, assuming like you do here that all v2 "kerning" is equivalent to v3 "kerningLTR" is incorrect, only holds for with LTR-only fonts such as Oswald which you're working with.
There was a problem hiding this comment.
assuming like you do here that all v2 "kerning" is equivalent to v3 "kerningLTR" is incorrect
sorry, correction: the naive approach here (v2 kerning ==> v3 kerningLTR, no swapping) is the correct one, if we want to match fontmake's single kerning dict approach; it's only when starting from a v3 source which has both kerningLTR and kerningRTL that we need to take care of reversing the order of first/second.
There was a problem hiding this comment.
I explicitly didn't handle the kerningRTL set yet. My intent wasthat this is valid for both v2 and v3 LTR kerning. I think you are saying it is? Perhaps I should file a bug for kerningRTL.
Tiptoing toward #308
The existing test to confirm reading glyphs2 wghtvar == read glyphs3 wghtvar verifies the field rename works as intended.