truetype2gfx
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

truetype2gfx

truetype2gfx 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

Features

  • 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.

Installation

Install the package using npm:

npm install truetype2gfx

Usage

// 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);
  }
}

API

truetype2gfx(inputFile, pixelHeight?, format?)

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 string
    • undefined: 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')

Debug Tools

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);

Supported Font Formats

Only fixed width fonts (no proper variable fonts support yet).

  • TrueType (.ttf)
  • OpenType (.otf)
  • WOFF (.woff)

Compatibility

The generated font files are compatible with:

  • AdafruitGFX
  • TFT_eSPI
  • many others libs

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Package Sidebar

Install

npm i truetype2gfx

Weekly Downloads

18

Version

1.0.5

License

MIT

Unpacked Size

930 kB

Total Files

4

Last publish

Collaborators

  • m.ilin