check:public-hygiene went from PASS to FAIL across a merge, with two
findings -- "documentation in a served folder" for
public/assets/fonts/noto-serif-devanagari/README.md and for the copy
generate-tree stages into the tree. It arrived with 467b7f0, "Hindi
unblocked with a vendored Devanagari face". public-hygiene sits inside
build:unlocked, so main was red-gating every builder, not just this branch.
NOT deleted, because the obvious move would have been the wrong one. The
folder also carries LICENSE (SIL OFL 1.1). That file is a DISTRIBUTION
OBLIGATION and has to stay beside the woff2 -- removing it to satisfy a
hygiene gate would trade a lint finding for a licence breach. The README is
developer rationale, and it answers something the files cannot: why the font
is vendored at all, and why the 400 and 700 faces resolve to one variable
file. So it moved to documentation/, verbatim, with a header recording where
it came from and why.
check:public-hygiene 0 after. gates:pre 0, gates:post 17/18 -- the remaining
failure is the pre-existing verify/tables-complete break from the visa-leak
fix, still filed and still not ours.
Also in this tick, after main moved 7 commits including "Regions: one
rollup, ported from theirs" (the same file carrying the MapLibre boundary
branch): merged, rebuilt, re-verified. The branch is intact and the
boundaries still load -- 400 features on mapbox, 467 on maplibre, 0 console
errors -- and the full provider sweep still reads 14/16 with no regression.
2 KiB
Noto Serif Devanagari — the Devanagari subset only
Why vendored: the prayer packet's font stack is Georgia / Palatino Linotype /
serif, none of which carry Devanagari. Measured by rendering Devanagari at 48px
and READING THE PIXELS, Hindi came out as tofu boxes — this machine has zero
Devanagari fonts (fc-list). A hi translation without this file would ship a
page of empty rectangles.
Licence: SIL Open Font License 1.1 (see LICENSE). Free to bundle and serve.
Subset: U+0900-097F plus the Devanagari extensions Google's own subsetting
selects — the devanagari range ONLY, matching how poppins/ ships latin and
latin-ext separately so a page downloads only what it needs. 124 KB, against
6-8 KB for a Latin subset; that is the cost of the script's glyph count, and it
loads only on a Hindi packet.
Source: the woff2 Google Fonts serves for
Noto+Serif+Devanagari:wght@400;700 with a modern browser UA. Note the 400 and
700 faces resolve to the SAME file — it is a variable font, so one file covers
both weights and vendoring two would duplicate 124 KB for nothing.
To refresh: request that CSS with a Chrome user-agent (without one Google serves
unsubsetted TTF), take the @font-face block whose unicode-range contains
U+0900, and download its woff2.