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>
This commit is contained in:
41
assets/fonts/PROVENANCE.md
Normal file
41
assets/fonts/PROVENANCE.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user