You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Working with kerning & groups in code has been a pain every time I've had to do it, and a lot of that comes from having relatively basic functionality not being available because both Python & Rust libraries; they just expose raw dictionary/map types and provide zero convenience methods. This has become somewhat of a pet peeve of mine and something I'd like to fix.
Some of my ideas are as follows, and I'd like to gauge interest/discuss them before starting work:
Kerning look-up methods (one with group resolution, one without)
Kerning/Group modifying methods that uphold invariants (as opposed to validation on write-to-disk)
Generating reverse look-ups for kerning & groups
Transparent caching of reverse look-ups to make resolving kerns faster (transparent as in, requires no thought/involvement from the library user at any point, will require interior mutability)
Renaming group method
Culling empty groups method
Culling 0 kerns method
The breaking change would be privatising Font.kerning and Font.groups and/or changing the underlying type. Interested in hearing any use cases for kerning/group information beyond what I've outlined in my points. Iterating over groups/kerning would of course still be available
The text was updated successfully, but these errors were encountered:
Working with kerning & groups in code has been a pain every time I've had to do it, and a lot of that comes from having relatively basic functionality not being available because both Python & Rust libraries; they just expose raw dictionary/map types and provide zero convenience methods. This has become somewhat of a pet peeve of mine and something I'd like to fix.
Some of my ideas are as follows, and I'd like to gauge interest/discuss them before starting work:
The breaking change would be privatising
Font.kerning
andFont.groups
and/or changing the underlying type. Interested in hearing any use cases for kerning/group information beyond what I've outlined in my points. Iterating over groups/kerning would of course still be availableThe text was updated successfully, but these errors were encountered: