Font tooling for the TI-84 Plus CE based on the localization hook. This repository contains multiple coordinated tools: font pack builders, a viewer/installer, and BASIC-callable helper utilities.
The project centers on a shared hook format stored in calculator variables. The tools in this repository either:
- Generate font packs from TTF files (
.8xpstandalone or.8xvresource) - Preview and install/uninstall font packs on-calc
- Let TI-BASIC programs load or edit font data
| Tool | Purpose | Typical input | Typical output | Details |
|---|---|---|---|---|
ttf2calc_cli |
Scripted font pack builder | .ttf + encoding JSON |
.8xp / .8xv in build/ |
ttf2calc_cli/readme.md |
ttf2calc_gui |
Interactive font editor/exporter | .ttf + project (.cefont) |
.8xp / .8xv in build/ |
ttf2calc_gui/README.md |
viewer |
On-calc browser/preview/install tool | Archived font variables | viewer/bin/FONTVIEW.8xp |
viewer/readme.md |
floadb |
BASIC-callable font installer/uninstaller | Str0 font name/path |
Ans result code |
floadb/readme.md |
feditb |
BASIC-callable glyph read/write utility | Str0, Ans, [J] |
updated [J], Ans |
feditb/readme.md |
cd ttf2calc_cli
python builder.py MYFONT
python builder.py --resource MYFONTMYFONT is required. builder.py defaults to standalone .8xp mode when no
mode flag is provided. You can override packer defaults with builder flags.
cd ttf2calc_gui
python main.pyUse the UI to configure large/small variants and export.
Transfer viewer/bin/FONTVIEW.8xp and your generated font files, then run
FONTVIEW on calculator.
- Install/uninstall a font from BASIC:
floadb - Read/write glyph bitmaps from BASIC:
feditb
See each tool README for full I/O and examples.
| Folder | Purpose |
|---|---|
build/ |
Shared output directory for generated calculator files |
examples/ |
Example prebuilt font files (.8xp, .8xv) |
fonts/ |
Source TTF inputs used by builder tools |
include/ |
Assembly include headers (ti84pce.inc, macros) |
lib/ |
Shared assembly components |
tools/ |
Shared helper scripts and bundled assembler executables |
ttf2calc_cli/ |
Command-line TTF-to-pack workflow |
ttf2calc_gui/ |
GUI workflow for editing/exporting packs |
viewer/ |
CE C viewer/installer application |
floadb/ |
BASIC-callable font loader utility |
feditb/ |
BASIC-callable font glyph editor utility |
- Python 3.10+ (CLI/GUI scripts)
- Pillow (
pip install pillow) - fontTools (
pip install fonttools) for GUI - CE C Toolchain (for rebuilding
viewer, verified buildable with v12.1) spasm-ngfor pack assembly:- Bundled paths include:
- Windows:
tools/spasm/win/spasm.exe - Linux:
tools/spasm/linux/spasm - macOS (x64):
tools/spasm/osx/spasm
- Windows:
- Optional override:
SPASM_NG_PATH - Fallback accepted by GUI export:
spasm-ngorspasmfromPATH
- Bundled paths include:
- Most generated artifacts are written to
build/at repository root. (Notably, the artifacts forviewerdo not appear in that folder.) feditbandfloadbinclude TI-BASIC hardware test programs in each project'stests/folder.viewerand calculator-facing programs should be validated on real hardware (or emulator) after transfer.
- CLI and GUI export to
.8xpand.8xvare implemented. - GUI C export targets are placeholders.
See LICENSE.