Converts .bdf
pixel fonts to .ufo
static and variable vector fonts.
-
Automated Font Generation: Creates both static and variable fonts.
-
Variable Axes Support: Includes five axes for pixel manipulation:
- Element Size (ESIZ)
- Roundness (ROND)
- Bleed (BLED)
- Horizontal Element Spacing (XESP)
- Element Jitter (EJIT)
These allow you to simulate the visual characteristics of LCD screens, CRT monitors and dot matrix printouts.
-
Glyph Composition: Reduces font size by composing pixels from a pixel glyph.
-
Glyph Decomposition: Automatically decomposes composed characters for further size reduction.
-
Anchor Creation: Adds base-to-mark anchors automatically.
- Check out Tiny5!
-
Convert Source Font
-
Setup Environment:
-
Install Dependencies:
- Run
pip install -r requirements.txt
- Run
-
Prepare Directory:
- Create an empty folder to hold your
.ufo
master files.
- Create an empty folder to hold your
-
Run bdf2ufo:
-
For usage help, execute:
python tools/bdf2ufo.py --help
-
-
Compile .ufo files:
-
Use
gftools
:gftools builder [masters-path]/[family-name]-config.yaml
-
- Verbose Output: Use
--verbose
for detailed conversion logs. - Glyph Alignment: Use
--glyph-offset-x
for precise glyph centering; supports fractional values. - Jitter Effect: Set
EJIT
around 0.05 for a subtle jitter using a Gaussian distribution. - Static Fonts: Omit
--variable-axis
and--variable-instance
; use--static-axes
to define axis values. - Combining Characters: Undefined characters (U+0300 to U+036F) are auto-copied from similar defined glyphs.
- Anchor Positioning: Currently, anchors are placed at the glyph's center-bottom.
- Bits'N'Picas: A bitmap font editor.
- FontDrop!: An online glyph viewer.
- Oh My Glyph: Copy and paste glyphs online.