Outlines were hinted, causing deformations to the actual clean outline. Outlines are now unhinted.
This is the letter X of the Arial font with hinting enabled:
Here is the same letter, but with hinting disabled:
Quadratic curves were converted to cubic curves. This unnecessarily increases complexity of the outlines and introduces extra vertices. If triangulated, these extra vertices cause extra triangles, etc. There is no need to convert quadratic curves, as they are natively supported by the Path2d class.
This is the letter e of the Arial font triangulated after extracting the outline using the old version, which converts quadratic curves to cubic curves, resulting in this case in 70 triangles:
Here is the same letter, but using the quadratic curves defined by the font, leading to far fewer triangles (in this case 45) and a reduced number of vertices:
This is the letter
X
of the Arial font with hinting enabled:Here is the same letter, but with hinting disabled:
This is the letter
e
of the Arial font triangulated after extracting the outline using the old version, which converts quadratic curves to cubic curves, resulting in this case in 70 triangles:Here is the same letter, but using the quadratic curves defined by the font, leading to far fewer triangles (in this case 45) and a reduced number of vertices: