Converts .bdf
pixel fonts to .ufo
static and variable vector fonts.
-
Automated Font Generation: Creates both static and variable fonts.
-
Variable Font Axes Support: Supports 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 printer printouts.
-
Element Composition: Composites characters from a pixel glyph to reduce font size.
-
Glyph Decomposition: Automatically decomposes composed characters for further size reduction.
-
Anchor Creation: Automatically adds base-to-mark anchors.
Axis | Description | Small | Large |
---|---|---|---|
ESIZ | Element Size | ||
ROND | Roundness | ||
BLED | Bleed | ||
XESP | Horizontal Element Spacing | ||
EJIT | Element Jitter |
-
Convert Source Font
-
Setup Environment:
-
Install Dependencies:
- Run
pip install -r requirements.txt
- Run
-
Prepare Master 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: Adjust glyph centering with
--glyph-offset-x
; supports fractional values. - Jitter Effect: Set
EJIT
to around 0.05 for a subtle jitter with Gaussian distribution. - Axes Limits: Adjust the axes limits with
--axis-limits
. - Bold Effect: Use
--double-stroke
to enhance boldness by doubling elements with a 0.5 vertical offset. - Static Fonts: Omit
--variable-axis
and--variable-instance
, and use--static-axes
to define axis values. - Combining Characters: Undefined characters from U+0300 to U+036F are automatically copied from similar defined glyphs.
- Combining Alternatives:
bdf2ufo
looks for both combining characters and modifiers to decompose composed characters, allowing for alternates in small fonts. - Anchor Positioning: Anchors are placed at the bottom-center of glyphs.
- Bits'N'Picas: A bitmap font editor.
- FontDrop!: An online glyph viewer.
- Hyperglot: Glyph database and font language support checker.
- The Font Testing Page: A Drag-and-Drop webpage for testing fonts.
- SYMBL: An online glyph search tool.