Files
akbasic/assets/fonts/PROVENANCE.md
Andrew Kesterson eb5374d212 Check the reference corpus in, so the build stops needing the Go submodule
All 41 .bas/.txt pairs copied byte for byte from basicinterpreter@d76162c into
tests/reference/, plus the Commodore font into assets/fonts/ -- the two things
that tied the build to deps/basicinterpret. Both were verified cmp-identical
to the submodule copies.

This reverses a decision that was deliberate and correct at the time: the
corpus was driven in place because copying a submodule's corpus guarantees
drift. Overruled on purpose -- the Go dependency is being deprecated, and a
build that cannot run its acceptance suite without cloning the implementation
it replaced is not finished. tests/reference/README.md records what the drift
now costs and that those expectations are never edited.

Checked rather than assumed: both configurations configure, build and pass
from scratch with deps/basicinterpret moved out of the tree entirely.

The submodule is kept as the behavioural spec, which is a real use. The font
came with an open licence question; assets/fonts/PROVENANCE.md states it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 12:35:40 -04:00

2.2 KiB

C64_Pro_Mono-STYLE.ttf

Font C64 Pro Mono, by STYLE — https://style64.org/c64-truetype
Copied from basicinterpreter@d76162c, fonts/C64_Pro_Mono-STYLE.ttf
Copied on 2026-07-31
Verified cmp-identical to the submodule copy

Why it is here

It is the font deps/basicinterpret/main.go opens, at the size it opens it, and reproducing that is part of what the SDL frontend is for. It was reached for inside the submodule until the Go dependency started being deprecated; the build now has no reason to clone that repository, and this was the last thing tying it to one.

Two things use it, both through compile definitions in CMakeLists.txt:

  • AKBASIC_FONT_PATH — what an -DAKBASIC_WITH_AKGL=ON build of basic opens. Overridable at runtime with the AKBASIC_FONT environment variable, which is what an installed copy or a different font wants.
  • AKBASIC_TEST_C64_FONT — what tests/akgl_frontend.c opens, because TODO.md §3's acceptance asks the drawn text to be proved in this font rather than any monospaced one.

The licence question, which is open

STYLE's C64 TrueType fonts are not public domain and this repository does not carry their licence. Neither did basicinterpreter, which is where the file came from. The terms at https://style64.org/c64-truetype/license permit free personal and non-commercial use and require the licence to accompany redistribution; commercial redistribution needs their permission.

Copying it here changes nothing legally — the same file was already being redistributed from the same owner's other public repository — but it does move the question into a project that is meant to be embeddable in other people's games, which is where it starts to matter.

Before this is shipped in anything commercial, or vendored into a game that is: either obtain STYLE's permission and include their licence file beside this one, or replace the font. Replacing it is cheap — the frontend measures whatever font it is handed (akbasic_sink_init_akgl derives the character grid from akgl_text_measure), so any monospaced TTF works and only the two compile definitions above would change.