jamesgk d51c924893 Rename to cu2qu
We want a simpler, less dry name. The only thing this is missing is an
implication of interpolation-compatibility.
2015-11-05 15:43:14 -08:00
2015-11-05 15:43:14 -08:00
2015-10-05 18:14:16 -07:00
2015-10-05 18:14:26 -07:00
2015-11-05 15:43:14 -08:00

ConvertCurves

This library provides functions which take in RoboFab objects (RFonts or their children) and converts any cubic curves to quadratic. The most useful function is probably fonts_to_quadratic:

from robofab.world import OpenFont
from convert_curves import fonts_to_quadratic
font = OpenFont('MyFont.ufo')
fonts_to_quadratic([font])

If interpolation compatibility is a concern, it can be guaranteed during conversion:

thin_font = OpenFont('MyFont-Thin.ufo')
bold_font = OpenFont('MyFont-Bold.ufo')
fonts_to_quadratic([thin_font, bold_font], compatible=True)

Some fonts may need a different error threshold than the default (5 units). This can also be provided by the caller:

fonts_to_quadratic([font], max_err=2)
fonts_to_quadratic([thin_font, bold_font], compatible=True, max_err=10)

fonts_to_quadratic returns a string reporting the number of curves of each length. For example print fonts_to_quadratic([font]) may print something like:

3: 1000
4: 2000
5: 100

meaning that the font now contains 1000 curves with three points, 2000 with four points, and 100 with five. Given multiple fonts, the function will report the total counts across all fonts.

See the source for functions which operate on glyphs, segments, or just several points. FontCollection classes are also exposed, which allow access into multiple fonts simultaneously and may be generally useful.

Description
No description provided
Readme 28 MiB
Languages
Python 99.9%