Skip to content

Gissio/bdf2ufo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project logo

bdf2ufo

bdf2ufo is a tool for converting .bdf bitmap fonts into .ufo sources, enabling the creation of both static and variable vector fonts.

It bridges the gap between classic pixel-based design and modern font production workflows—making it easy to bring legacy bitmap fonts into contemporary type systems.

Features

Variable Font Axes

bdf2ufo provides built-in support for six expressive axes tailored to pixel typography:

  • Weight (wght)
  • Width (wdth)
  • Slant (slnt)
  • Roundness (ROND)
  • Bleed (BLED)
  • Jitter (JITT)

These axes allow you to simulate the rendering quirks of historical display technologies such as LCD screens, CRT monitors, and dot matrix printers, while remaining fully compatible with modern OpenType variable font workflows.

Smart Glyph Construction

  • Element Glyph System

    Reuses a base “element” glyph to construct characters efficiently, reducing file size and complexity.

  • Automatic Decomposition

    Decomposes composite glyphs when needed for better compatibility and editing.

  • Anchor Generation

    Automatically adds:

    • base-to-mark anchors
    • mark-to-mark anchors

Axes overview

Tag Name Small Large
wght Weight drawing drawing
wdth Width drawing drawing
slnt Slant drawing drawing
ROND Roundness drawing drawing
BLED Bleed drawing drawing
EJIT Jitter drawing drawing

Getting Started

1. Convert your source font (if needed)

If your font is in .ttf or .otf, convert it to .bdf using otf2bdf:

2. Set up your environment

Make sure you have:

  • Python
  • pip

Install dependencies:

pip install -r requirements.txt

3. Prepare your project

  • Create an empty directory for your .ufo masters
  • Review the example config: sources/PressStart2P/PressStart2P-build-config.yaml

4. Run bdf2ufo

View CLI usage:

python -m scripts.bdf2ufo.cli

5. Build your fonts

Create a config.yaml in your masters directory, then compile using:

gftools builder [masters-path]/config.yaml

Fonts using bdf2ufo

Additional Resources

About

Converts .bdf pixel fonts into .ufo sources, enabling the creation of both static and variable vector fonts.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors