cefont
Turn TTF/OTF fonts into FontLibC fonts for the TI-84 Plus CE.
pip install cefont # needs Python 3.9 + Pillow (fontTools optional)
Command line
One step, TTF straight to a calculator appvar (archived .8xv):
cefont build Bungee-Regular.ttf --weight bold # -> BUNGEE.8xv, size 16
Send BUNGEE.8xv to the calculator, then in C: fontlib_GetFontByIndex("BUNGEE", 0).
Needs convfont (CE C toolchain) on PATH or in $CEDEV/bin.
cefont build Font.ttf -s 12,16 --name MYFONT # two sizes in one pack
cefont build a.ttf b.ttf # several fonts in one pack
cefont build Font.ttf --keep-fnt --carray font.inc # also keep .fnt / write a C array
Smaller steps:
cefont convert Bungee-Regular.ttf -s 16 --weight bold -o bungee16.fnt --preview "FILES"
cefont preview bungee16.fnt -t "Settings"
build and convert render hinted 1-bit glyphs (--mode aa renders antialiased and
thresholds it), trim the height to the ink, and set baseline / cap height / x-height.
FontLibC glyphs are 8-bit, so --range only accepts code points 0-255.
Library
from cefont import from_ttf, Font
font = from_ttf("Bungee-Regular.ttf", 16, weight="bold")
print("\n".join(font.render("Hello"))) # list of '#'/' ' rows, font.height tall
open("bungee16.fnt", "w").write(font.to_fnt())
font2 = Font.from_fnt(open("bungee16.fnt").read()) # read it back
font.text_width("Hello"), font.baseline, font.glyphs[ord("A")].rows
The Font / Glyph model is what a font tester can build on.
Tests
If you have the directory locally and want to run tests:
pip install -e .[dev] && pytest
Metadata
Release files for cefont 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cefont-1.0.1.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cefont-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / cefont-1.0.1.tar.gz
| Download URL | cefont-1.0.1.tar.gz |
|---|---|
| Size | 11.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
49797c3fa28cd8c3c1069c03b7b9e1e4be1f9dfd5a57ba73d976d7ae8ddbfda0
|
|
BLAKE2b-256 checksum How to use checksums |
b9f7f13cdae97b9c1a87fb1110aec30a598cde0930fdc496feac45f0ce6bbe12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / cefont-1.0.1-py3-none-any.whl
| Download URL | cefont-1.0.1-py3-none-any.whl |
|---|---|
| Size | 10.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
335b0cae681e175a775d42b58ccf78c6aef7422d0d7b246bda9b359831841d09
|
|
BLAKE2b-256 checksum How to use checksums |
88f8849076d607ae40bc534cb7e7870ecc3a3055905e64ad213a08867f6a215c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency log