mirror of
https://github.com/storytold/figcraft.git
synced 2026-10-24 10:27:00 -06:00
M9: release fonts: web build embeds craft-fonts, pin back to the Latin manifest (#885)
The browser has no system fonts, and since releases moved to the shared workflow the web build was made without craft-fonts: no font list and no text drawn. The Georgian change also re-pinned craft-fonts to its main, which has no fonts/latin-manifest.txt, so the next release would fail under CRAFT_FONTS_REQUIRED. Pin the Latin commit again until one commit has both (craft-fonts#42); desktop Georgian uses an installed font.
This commit is contained in:
+9
-5
@@ -95,13 +95,17 @@ examples from `packaging/server/` (systemd unit, Caddyfile, nginx; the Dockerfil
|
||||
the sources). Linux only for now; elsewhere operators build it with
|
||||
`cargo build --release -p figcraft-server`.
|
||||
|
||||
**Fonts.** Every build job checks out [craft-fonts](https://github.com/storytold/craft-fonts) at
|
||||
`CRAFT_FONTS_REF` (top of `release.yml`) and builds with `CRAFT_FONTS_DIR` and
|
||||
`CRAFT_FONTS_REQUIRED=1`, so releases embed its fonts and fail rather than ship without them.
|
||||
**Fonts.** Every build job, the web one included (`web-craft-fonts`), checks out
|
||||
[craft-fonts](https://github.com/storytold/craft-fonts) at `craft-fonts-ref` (in `release.yml`) and
|
||||
builds with `CRAFT_FONTS_DIR` and `CRAFT_FONTS_REQUIRED=1`, so releases embed its fonts and fail
|
||||
rather than ship without them. The browser has no system fonts, so a web build without craft-fonts
|
||||
can't draw text.
|
||||
`crates/text/build.rs` reads both `fonts/manifest.txt` and `fonts/latin-manifest.txt`, so the pin
|
||||
must be a commit that has the Latin manifest (today `4391305`, on craft-fonts'
|
||||
`pr/latin-presentation-fonts` branch; re-pin to `main` once that lands). The web build embeds
|
||||
only Inter. Packages carry each embedded font's licence as `OFL-<family>.txt`
|
||||
`pr/latin-presentation-fonts` branch; re-pin to `main` once that lands). That commit has no
|
||||
Noto Sans Georgian (craft-fonts' main has it but no Latin manifest), so desktop Georgian uses an
|
||||
installed font; re-pin when one commit has both (craft-fonts#42). The web build embeds only Inter,
|
||||
Noto Sans Georgian and the Archivo SemiBold wordmark, when the pin has them. Packages carry each embedded font's licence as `OFL-<family>.txt`
|
||||
(`copy_font_licences` in `packaging/env.sh`; `Contents/Resources/Licenses` in the macOS app).
|
||||
|
||||
### macOS
|
||||
|
||||
Reference in New Issue
Block a user