Slice icon indicating copy to clipboard operation
Slice copied to clipboard

Add remove overlaps toggle for static instance builds

Open chrissimpkins opened this issue 4 years ago • 1 comments

We do not currently remove overlaps in builds with all axes defined at a static instance locations. We use the default approach defined in fontTools.varLib.instancer.instantiateVariableFont. This keeps overlaps and sets the OVERLAP_SIMPLE & OVERLAP_COMPOUND bits on glyphs in the glyf table. This can lead to platform-specific issues with contour overlap rasterization where pixel dropout is seen in the area of the overlap.

It would be helpful to include the option to remove overlaps when you build static instances. We will keep the current approach as the default because the removal of overlaps can lead to issues in fonts with instruction sets as the points/order change when overlaps are removed.

Perhaps as a selectable menu option, in an options panel, or in a checkbox on the UI? Will look into this.

chrissimpkins avatar May 20 '21 18:05 chrissimpkins

Implementation details:

fontTools source

Will require a new skia-pathops lib dependency

chrissimpkins avatar May 20 '21 18:05 chrissimpkins