CrossGlyph tunes and converts fonts for e-readers that use the .cpfont format
from CrossPoint,
including CrossPoint itself and compatible firmware forks. It turns TTF and OTF
files into fonts those readers can load from an SD card.
The browser preview uses CrossPoint's text renderer. Move a control and the page redraws with the new font settings.
CrossPoint fonts are bitmap fonts. Each point size stores a separate picture of every character. Each pixel uses one of four grey levels.
A font made for print or a high-resolution screen may look too light, too dark or too crowded after that conversion. Small letters may lose thin strokes. Kerning and ligatures that work in print may close gaps on an e-ink screen.
CrossGlyph lets you correct those problems before you copy the font to a card:
- See the real result. The preview draws the page with CrossPoint's own renderer.
- Tune the letters. Adjust darkness, stroke weight, hinting, line height, letter spacing, word spacing, kerning and ligatures.
- Build a complete family. Convert regular, bold, italic and bold italic at every point size you choose.
- Use variable fonts. Choose the text and bold weights. Optical size follows each point size during the build.
- Choose character coverage. Add scripts, symbols and fallback faces when the main family does not contain every character.
- Prepare Arabic fonts. CrossGlyph stores the joined forms that CrossPoint requests when it draws Arabic text.
The live preview replaces the slow cycle of building a font, copying it to a card and opening a book after every change.
- Download the latest release.
- Extract it to a folder you can write to.
- Copy your TTF or OTF files into the
fontsfolder. - On Windows, double-click
crossglyph.cmd. On macOS or Linux, open a terminal in the extracted folder and run./crossglyph.sh. - Select your family in the browser.
- Adjust the font in Tune.
- Choose the point sizes and coverage in Export.
- Press Build.
- Copy the built family from
fonts/cpfontsto/fontson the reader's SD card.
The first launch downloads the program runtime into a cache. Later launches use
that cache. If the fonts folder is empty, the preview opens with the bundled
Literata family so you can explore the controls.
See Getting started for the complete first build.
Font settings change the files that CrossGlyph builds. They are the tuning
controls in Tune and the build choices in Export. The size control
chooses the preview size. The sizes boxes in Export choose the build sizes.
Save writes font settings to the family's config file. Build saves them
and creates the .cpfont files.
Page settings change only the page in the browser. They mirror CrossPoint reading options such as margin, alignment, line spacing, hyphenation and night mode. Use them to judge the font under the same conditions as a book. line height in Tune changes the built font. line spacing in Page changes only the preview.
| Task | Page |
|---|---|
| Build your first family in the browser | Getting started |
| Use the preview and understand its controls | The browser preview |
| Look up a font or config setting | Font settings reference |
| Use commands and automation | Command line |
| Fix a visible problem | Troubleshooting |
| Update or roll back CrossGlyph | Updating |
| Run CrossGlyph in a container | Docker |
| Understand the implementation | Internals |
CrossGlyph is MIT licensed. See THIRD-PARTY-NOTICES.md for bundled components and CONTRIBUTING.md to work on the project.
