Releases: quitequinn/fontproof
v2.6.2 — Targeted README images
Adds per-feature README images (cornu-spline style), generated by a reproducible Playwright capture script (npm run capture → scripts/capture.mjs):
- bar — the control bar beneath a Fraunces specimen (hero)
- axes — weight x optical-size variation
- features — lining vs oldstyle figures + fractions
- colour — the Nabla colour font in two custom palettes
Images live in assets/ and are referenced via absolute raw URLs (so they render on GitHub and npm).
v2.6.1 — Demo colour pickers + README screenshot
- Demo: separate Text / Background / Controls colour pickers (each maps to
--fp-*CSS variables). - Docs: control-bar hero screenshot added to the README (now reflected on the npm package page).
v2.6.0 — Variable axes + colour fonts
Generalises beyond wght to any font type:
- Variable axes: configure any axis (
opsz,slnt,wdth,ital, customGRAD/SOFT/WONK…) invariable; enable sliders withcontrols.axes. All compose into onefont-variation-settings.opszalso setsfont-optical-sizing: none. - Colour fonts (COLR/CPAL):
controls.paletterenders afont-paletteselector (normal/light/dark or custom--name). - Honest proofing:
synthesis: false→font-synthesis: none(no faux bold/italic). - Demo: Fraunces optical-size axis + a switcher to Nabla (variable colour font) with Depth/Highlight axes and palettes.
- New types
AxisConfig;data-palette/data-synthesisfor the declarative API.
v2.5.0 — Deep-review fixes
Resolves a panel-review pass (#40–#45):
- Dedupe font loading so it no longer fires on every slider tick.
- Stop flooding the live region with per-tick slider announcements.
- Strip quotes from
fontFamilybefore use. - Parse
data-show-values; doc fixes (host class, marker). - Reveal animation no longer snaps when the bar wraps.
v2.4.0 — Font loading + demo polish
- Font loading: the matching face (family/weight/style) is requested via the Font Loading API as you change controls, so toggling italic/weight renders real glyphs instead of a heavier-looking fallback.
- Stage now clips overflow (
overflow: hidden). - Demo: dark/light theming for the page and the specimen + bar, formatted code blocks, removed card margin + rounded corners, looser line-height.
v2.3.0 — Refined bar: borderless, titles-only, blended titles
- Borderless, half-height control bar.
- Each segment shows only its title by default; new
showValuesoption appends the value inline (Size: 96px). - Titles overlay above the slider (never hidden) and difference-blend against the bar so they stay legible over the fills.
- Difference blend moved from the type sample to the bar titles.
- Demo now uses an expressive variable font (Fraunces).
v2.2.0 — Focus-reveal bar + monochrome + blend
- Control bar now reveals only when the tester is focused (
:focus-within) and collapses on blur. - Black & white default palette.
- New
fp--blendpreset:mix-blend-mode: differenceon the type so it auto-inverts over its backdrop. fp--tdfgreen-on-black preset retained. Demo gains a blend toggle.
v2.1.0 — Signature control bar restored
Brings back the v1 bottom toolbar as a modern, accessible feature.
- A single segmented control bar under the sample: slim at rest (showing each slider's fill), expanding on hover and keyboard focus (
:focus-within) to reveal labels and values. - Built as CSS over the existing native controls, so it keeps full keyboard + screen-reader support (the v1 custom controls had none).
- Per-slider
--fp-filltrack variable paints the filled portion. - Themeable via CSS variables (neutral default); faithful TDF green-on-black ships as the
.fp--tdfpreset. - Demo gains a theme toggle. New test for the fill variable (38 tests).
v2.0.1 — Lean package + live demo
Packaging-only release.
- npm tarball excludes source maps (62 kB -> 21 kB).
- Added a live demo (GitHub Pages) and a
prepublishOnlybuild guard.
No API or behaviour changes from v2.0.0.
v2.0.0 — Dependency-free rewrite (npm: type-tester-tdf)
First release of `type-tester-tdf` on npm — a ground-up, dependency-free rewrite.
```bash
npm install type-tester-tdf
```
Highlights
- No runtime dependencies (drops jQuery, jQuery UI, BigText).
- Vanilla JS core +
data-*auto-init, plus an optional React component (type-tester-tdf/react). - Composable OpenType features (multiple active at once); spec-accurate labels;
ss01–ss20,case/ordn/cpsp. - Auto-fit via
ResizeObserver+ rAF debounce +fonts.ready(replaces BigText). - Safe DOM (no
eval, noinnerHTML); native accessible controls (range/button[aria-pressed]/select/checkbox panel with focus management). - Variable-font
wghtaxis support; fulldestroy()teardown; no global state. - TypeScript types, ESM + CJS builds, 37 tests, CI.
Review
Closes the full panel review (#2–#37): 2 Critical, 14 Major, 20 Minor findings, all resolved by the rewrite. A second review pass hardened auto-fit (ResizeObserver loop), feature grouping, ids, focus handling, and ARIA state.
The legacy v1 source is preserved at the v1.0.0 tag.