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>
31 lines
1.8 KiB
Markdown
31 lines
1.8 KiB
Markdown
# 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).
|