Files
font/packages/zen/dist/pixel.d.ts
zeekay 74071ce324 font: the export is the family name, and the whole surface is generated
The sans binding was `ZenSans`, naming a family this package has never shipped —
the name table says `Zen`, `zen.css` declares `Zen`, and every stylesheet asks
for `Zen`. An identifier that disagrees with the family it binds is the one a
reader trusts and gets wrong, so it is `Zen`.

The rest of it is why that was possible. Five files in dist were generated from
one table and four beside them were written by hand, and the hand-written ones
had already drifted: dist/sans.js carried NO fallback stack while dist/mono.js
carried the full one, so a page waiting on the variable sans fell through to the
browser's default rather than the declared stack; and font.d.ts described
"Zen Sans", "ZenSansNonVariable" and a set of deprecations inherited from the
package this was forked from.

scripts/next.mjs now writes every entry point, every .d.ts, and zen.css from the
same FAMILY/PIXEL/FALLBACK tables it already used for the weight ladder. Running
it twice changes nothing.
2026-08-28 08:13:22 -07:00

2 lines
25 B
TypeScript