Convert TTF, OTF, WOFF to Adafruit GFX header file
npm install truetype2gfxtruetype2gfx is a versatile TypeScript library that converts standard font files (TTF, OTF, WOFF) into formats
compatible with Adafruit_GFX. This package is ideal for developers integrating custom fonts into embedded systems using
the Adafruit_GFX or TFT_eSPI library.
Works with opentype.js
- Font Parsing: Supports TrueType Fonts (TTF), OpenType Fonts (OTF), and Web Open Font Format (WOFF).
- Glyph Selection: Automatically extracts basic ASCII glyphs (character codes 32 to 126).
- Font Conversion: Rasterizes vector glyphs into monochrome bitmaps suitable for Adafruit_GFX.
- Customization: Allows specification of desired pixel height for font scaling.
- Output Formats: Generates output as a FontPack, C/C++ header file (.h), or as a string.
- Browser Compatibility: Designed for use as an ES5 module in browsers.
Install the package using npm:
``bash`
npm install truetype2gfx
`
// Import the truetype2gfx module
import { truetype2gfx } from 'truetype2gfx';
async function convertFont(file, pixelHeight) {
try {
const output = await truetype2gfx(file, pixelHeight, 'string');
console.log('Conversion successful:', output);
} catch (error) {
console.error('Conversion failed:', error);
}
}
`
Converts a font file into an Adafruit GFX-compatible font format.
#### Parameters
- inputFile (File): The input font file (TTF, OTF, or WOFF format)pixelHeight
- (number, optional): Desired font height in pixels. Defaults to 12.format
- ('file' | 'string' | undefined, optional): Output format'file'
- : Returns a File object containing the header file'string'
- : Returns the raw header file content as a stringundefined
- : Returns a FontPack object (default)
#### Returns
Promise that resolves to one of:
- FontPack: Internal font representation (when format is undefined)string
- : Header file content (when format is 'string')File
- : Header file object (when format is 'file')
The library includes a debug canvas renderer for visualizing the converted font:
```
import { debugCanvas } from 'truetype2gfx';
// Render font preview to a canvas element
debugCanvas(fontPack);
Only fixed width fonts (no proper variable fonts support yet).
- TrueType (.ttf)
- OpenType (.otf)
- WOFF (.woff)
The generated font files are compatible with:
- AdafruitGFX
- TFT_eSPI
- many others libs
MIT
Contributions are welcome! Please feel free to submit a Pull Request.