Converting fonts with FontForge using the command line on macOS

FontForge is a powerful tool for creating and editing fonts. It is available for multiple platforms, including macOS, Windows, and Linux, and can be run programmatically from the command line.

On macOS, FontForge is installed in the /Applications/FontForge.app directory. When running FontForge scripts from the command line, the FontForge executable must be used which is located at /Applications/FontForge.app/Contents/MacOS/FontForge.

FontForge scripts can be written either in Python (-lang=py) or using FontForge's native scripting language (-lang=ff or -lang=pe). Another way to specify the scripting language is to set the FONTFORGE_LANGUAGE environment variable.

Below is a complete example of using the FontForge CLI to convert a TTF font to an SVG font that relies on FontForge's native scripting:

/Applications/FontForge.app/Contents/MacOS/FontForge -lang=ff -c 'Open($1); Generate($2)' my-font.ttf my-font.svg

Related projects

A nostalgic journey into the fonts that shaped my perspective growing up and continue to be my source of inspiration.
fonts, typography

Made by Anton Vasetenkov.

If you want to say hi, you can reach me on LinkedIn or via email. If you like my work, you can support me by buying me a coffee.