Skip to content

kalapi/cu2qu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cu2qu

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 cu2qu import fonts_to_quadratic
thin_font = OpenFont('MyFont-Thin.ufo')
bold_font = OpenFont('MyFont-Bold.ufo')
fonts_to_quadratic(thin_font, bold_font)

Interpolation compatibility is guaranteed during conversion. If it's not needed, converting one font at a time may yield more optimized results:

for font in [thin_font, bold_font]:
    fonts_to_quadratic(font)

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

fonts_to_quadratic(thin_font, bold_font, max_err=10)
for font in [thin_font, bold_font]:
    fonts_to_quadratic(font, max_err=2)

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%