I published svg2glif - a Rust crate to convert SVG vector graphics into UFO (Unified Font Object) GLIF format, making it easy to incorporate SVG artwork into font development workflows.

I am migrating my python based type engineering workflow to rust (fontmake -> fontc) and this is one of the tool I need.

❯ target/release/svg2glif -i examples/A.svg -o examples/A.glif --em-size 1000 --descent 250
Wrote glif to examples/A.glif (took 187.36µs)

Yes, 187.36µs 🚀😄

Features

  • Convert SVG paths to UFO GLIF format
  • Support for cubic Bézier curves
  • Configurable units-per-em scaling
  • Unicode codepoint assignment
  • Proper coordinate system conversion (SVG top-left to UFO baseline)
  • Anchor extraction from SVG text elements - Text nodes in your SVG are automatically converted to anchor points in the GLIF file, useful for defining attachment points for diacritics and other mark positioning
  • Both library and CLI interfaces