Files
LithosAnanake/capsules/fonts/README.md
T
Robert Allan JamesandClaude Sonnet 5 2ef8d26c6f capsules/fonts: JetBrainsMono-Regular.ttf as a raw-blob capsule (item 4.3.7b)
mkcapsule.c already ingests arbitrary non-.4th files as raw byte blobs
(validate_forth_blocks only applies to .4th filenames), so no hex/base64
text-encoding or tool changes are needed -- corrects the design premise
in FABRIC.md's 4.3.7b item text (see the FABRIC.md correction note this
commit carries). ttf_load_from_capsule() resolves the font capsule by
name, validates its content hash, and points ttf_font_t at the capsule
arena bytes directly, zero-copy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 21:50:35 -04:00

1.8 KiB

capsules/fonts/

Font capsule for FABRIC.md items 4.3.7/4.3.7b (TrueType rendering, adjunct to the stroke font — §27.7).

File License Provenance
JetBrainsMono-Regular.ttf SIL Open Font License, Version 1.1 The JetBrains Mono Project Authors, copyright 2020 (https://github.com/JetBrains/JetBrainsMono). License string confirmed by reading the font's own embedded name table directly (strings -e b JetBrainsMono-Regular.ttf) — not taken on trust from the filename.

Chosen as the v1 test/default TTF font 2026-08-10 (FABRIC.md §27.7 "Update 2026-08-10"), resolving that item's licensing-check blocker.

Embedded as a raw-binary capsule, not text-encoded. tools/mkcapsule.c's process_file() reads any regular file under capsules/ as raw bytes and only runs the 64-char/16-line .4th text-block validation (validate_forth_blocks()) when the filename ends in .4th — everything else, including this .ttf, is stored byte-for-byte in the generated capsule_arena[] and content-hashed (xxHash64) exactly like every other capsule. Capsule name: fonts:JetBrainsMono-Regular.ttf (colon-separated relative path, per build_capsule_name()). Fetch it with capsule_find_by_name() (include/starkernel/capsule.h) — that returns offset/length into the arena without ever routing through capsule_exec_payload(), so nothing tries to interpret the font bytes as FORTH source. This superseded FABRIC.md §27.7 decision #3 (hex/base64 text-encoding) — see that section's 2026-08-10 correction note.

No SIL OFL 1.1 full license text is bundled here yet — only the font's own embedded attribution string. Add the full OFL.txt alongside this file if/ when redistribution requirements are checked in detail (OFL requires the license text to accompany the font).