Basic Memory v0.21.6 first sync over the live memory dir (steward-authorized live-dir trial, Option A 2026-06-06): adds permalink: to frontmatter, refolds long YAML description lines, strips final newlines. Bodies untouched — verified via full diff classification. From this commit forward, any diff in claude/memory shows only what Basic Memory or the session writes. Trial design: MemPalace untouched as incumbent; git status check on this dir at every wrap; end-of-day evaluation (recall quality, sync robustness, rebuild-from-files, malformed-file behavior). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
9.0 KiB
name, description, type, originSessionId, permalink
| name | description | type | originSessionId | permalink |
|---|---|---|---|---|
| EB Garamond + EBGaramondSC font update — Phase 1 / 2 / 3 + LaTeX + SC corrective + feature expansion all DONE 2026-05-15 | Five commits across two days. Phase 1 (2026-05-14, d9efb88) — core TTFs + Regular/Italic/Bold WOFF2 from Pardo v1.131. Phase 2+3 (2026-05-15, 6763b54) — Medium/SemiBold WOFF2 subsets + EBGaramondSC{08,12}-Regular built from Duffner source. LaTeX integration (2026-05-15, e3478e0) — arc-typography.sty \scfont references EBGaramondSC12-Regular.ttf. SC subset corrective (2026-05-15, 4512b9a) — retained 403 .sc glyphs + smcp/c2sc in Medium/SemiBold (versalita verdadera). Feature expansion (2026-05-15, 9d2cccb) — added case + ss06 (Garamond long-tail Q) + ordn (proper ordinals per Hart's §3.3) + swsh + frontispiece-epigraph italic swash CSS pattern (chancery flourishes on every capital of threshold quotations; title stays sober roman per Aldine practice given roman swsh has only 3 Q.long subs). One pre-existing issue still parked — \textsc TeX-capacity crash from yesterday's Phase 1 — flagged at bottom of this memory. | project | 6cef24d0-242b-474e-b8d4-fd568edf5dc2 | claude-memory/project-eb-garamond-update-2026-05-14 |
State as of 2026-05-14
Steward's installed EB Garamond v1.000 (2017 release; installed to ~/Library/Fonts/ 2019-03-14) is ~6 years out of date. Upstream octaviopardo/EBGaramond12 is alive with active development through 2026-03-27 (master 106a4a6). Upgrade gains: language coverage refinements, kerning improvements, bug fixes accumulated since v1.000.
Plus: EBGaramondSC (the separate small-caps face from Georg Duffner's original georgd/EB-Garamond) is also stuck at the 2019 OTF. Duffner's repo last pushed 2024-03-16; ships source files (SFD/UFO/featurefiles) only — no pre-built TTF/OTF/WOFF2 available. Building requires fontforge/UFO tooling.
Phase 1 — DONE 2026-05-14
Core face TTF (10 files) + 3 live web WOFF2 (Regular, Italic, Bold) replaced with upstream octaviopardo/EBGaramond12 master (sha 106a4a6, 2026-03-27). Old files backed up to dated _backup_2026-05-14/ directories.
Files updated:
~/Library/Fonts/EBGaramond-{Regular,Italic,Bold,BoldItalic,Medium,MediumItalic,SemiBold,SemiBoldItalic,ExtraBold,ExtraBoldItalic}.ttf~/_Dev/animal-davidglidden-eu/static/fonts/eb-garamond/EBGaramond-{Regular,Italic,Bold}.woff2
Verification:
- LaTeX hour1-fontcheck.tex re-rendered: substrate clean, no regressions
- Readings-entry PDF posture re-rendered: text rendering matches v1.000 character; advance widths landed slightly differently but rhythm holds
Phase 2 — DEFERRED (re-subset Medium / SemiBold web subsets)
Four WOFF2 subset files are used live in the screen render:
EBGaramond-Medium-Latin.woff2(23 KB; basic Latin block)EBGaramond-Medium-LatinExt.woff2(65 KB; Latin Extended)EBGaramond-SemiBold-Latin.woff2EBGaramond-SemiBold-LatinExt.woff2
These were produced via subsetting (probably pyftsubset) from full Medium / SemiBold WOFF2 with unicode-range CSS to split. After Phase 1, the SOURCE Medium/SemiBold has changed but the SUBSET files haven't been regenerated — so the weights 500/600 on screen still serve the May 2026 subsets which were derived from a slightly older upstream.
To complete Phase 2:
pipx install fonttools[woff](orbrew install fonttools— verify pipx vs brew for the right binary; the pipx route is the steward's preferred installation path per the toolchain feedback memory)- From the new
EBGaramond-Medium.ttfandEBGaramond-SemiBold.ttf(in~/Library/Fonts/), produce:- Latin subset (U+0020–U+007F + common Latin-1)
- LatinExtended subset (U+0080–U+024F + commonly-needed extended Latin)
- Save as WOFF2 with optimal compression
- Replace the four files in
static/fonts/eb-garamond/ - Visual-diff a screen render to confirm the new subsets are consistent
Approximate effort: ~30 min hands-on + the install of fonttools.
Phase 3 — DEFERRED (EBGaramondSC update)
EBGaramondSC.otf (local) and EBGaramondSC-{Display,Regular}.woff2 (web) are stuck at the 2019 Duffner version. The Pardo continuation (octaviopardo/EBGaramond12) does NOT include SC — the modern approach bakes small caps into the main face via OpenType +smcp feature.
Two paths for Phase 3:
A. Build from Duffner source — clone georgd/EB-Garamond, install fontforge tooling, build EBGaramondSC.otf from the SFD/UFO sources. Last upstream push 2024-03-16, so a fresh build may capture some updates since 2019 — though Duffner's repo has been quiet enough that gains are uncertain.
B. Migrate to +smcp on the main face — if Pardo's EBGaramond-Regular.ttf includes the +smcp feature, the separate SC face can be retired entirely. The LaTeX \scfont declaration becomes \rmfamily\addfontfeatures{Letters=SmallCaps}. CSS-side, font-variant-caps: small-caps works against the regular WOFF2.
The cleanest move is B if Pardo has +smcp. Verify by:
otfinfo -f ~/Library/Fonts/EBGaramond-Regular.ttf | grep -i smcp
or fc-list -v 'EB Garamond' | grep -i small.
If +smcp is present, retiring the separate SC face simplifies the stack across both LaTeX and web. If absent, Path A is the fallback.
Approximate effort:
- Path B (if +smcp present): ~20 min (verify, edit arc-typography.sty + SCSS, test)
- Path A (build from source): half-day session — fontforge + ufo2ft pipeline learning curve
Sequencing recommendation
When the steward returns to this:
- First: verify Pardo's +smcp presence (5 min check). Settles whether Phase 3 is the simpler Path B or the heavier Path A.
- Then: install fonttools via pipx and complete Phase 2 (~30 min). Closes the subset-regression gap from Phase 1.
- Finally: execute Phase 3 — Path B if +smcp confirmed; Path A if not.
Filing discipline
- Local backups at
~/Library/Fonts/_backup_2026-05-14/. Restore viacp _backup_2026-05-14/*.ttf .if a regression surfaces. - Web font backups at
static/fonts/eb-garamond/_backup_2026-05-14/. Restore via the same pattern. - Per
feedback-tool-installation-pipx-default.md: install fonttools viapipx install fonttools[woff](general-purpose CLI tool, isolated deps, on PATH).
Related memory
feedback-tool-installation-pipx-default.md— pipx-default rule applies to the fonttools install.project-arc-pdf-print-postures-session-plan.md— LaTeX templates that consume the updated TTFs.project-chamber-cruft-restoration.md— independent thread; no font dependency.
Pre-existing issue surfaced during 2026-05-15 verification — needs separate investigation
While verifying the LaTeX integration (commit e3478e0), xelatex on tools/latex/samples/hour1-fontcheck.tex crashed with "TeX capacity exceeded, sorry [input stack size=10000]" at line 49 — the \textsc{small-caps via the synthesized command} invocation. Confirmed by isolation test: failure persists with \scfont block entirely commented out, so it is NOT caused by today's SC font work.
Likely root cause: microtype tracking config (mt-EBGaramond.cfg) interaction with Pardo v1.131 OpenType feature table introduced in Phase 1 commit d9efb88 (yesterday). The failure happens in expl3 csname construction (exp_args:Nc) shortly after mt-EBGaramond.cfg loads. The expansion never produces output; the PDF is not written.
Verified scope:
\textsc(synthesized small caps on main EB Garamond Regular face) — BROKEN\scfont(true SC face via EBGaramondSC12-Regular) — WORKS (verified by minimal isolation test producing a clean 14 KB PDF)\emph,\textbf,\textit{\textbf{...}}, colour — not directly tested but no errors before line 49
Last known working state: tools/latex/samples/hour1-fontcheck.pdf dated 14 May 13:47 (just after Phase 1 commit at ~13:05). Whether that PDF actually reflects a successful post-Phase-1 render or was stale from an earlier successful render is not certain.
Diagnostic path when picked up:
- Render
hour1-fontcheck.texwithmicrotypedisabled (\usepackage[disable]{microtype}or comment out themicrotype\RequirePackagein arc-typography.sty). If render succeeds, microtype is implicated. - If microtype is the cause, inspect
mt-EBGaramond.cfgfor tracking rules that depend on font metadata that may have changed between EB Garamond v1.000 (2017) and Pardo v1.131 (2026-03-27). - Workaround if needed: drop
tracking = truefrom the microtype options inarc-typography.sty:28-32and accept slightly less polished all-caps / small-caps spacing. - Real fix if microtype config is at fault: file a small fix to microtype's mt-EBGaramond.cfg, or override the relevant tracking config locally in arc-typography.sty.
Where to find the working LaTeX setup once fixed: the existing test tools/latex/samples/hour1-fontcheck.tex exercises every component arc-typography.sty registers — it's the right substrate for verifying any fix.
Not blocking: the SC font work (commits 6763b54 + e3478e0) is complete and independently verified. This issue is older than today's work and warrants its own session.