With CRAFT_FONTS_DIR=<craft-fonts checkout>, crates/text/build.rs embeds the
fonts in its manifest as effectcraft_text::fonts::CRAFT_FONTS (wasm32: only
BIZ UDPGothic Regular). Unset, CRAFT_FONTS is empty and nothing changes.
- Text engine: the Jpan faces are registered after the bundled ones and are
the Japanese fallback before any system font (Mincho for serif text, BIZ
UDPGothic otherwise; Han only when the locale puts Japanese first).
- UI: the Jpan faces are appended to every egui family, BIZ UDPGothic first.
- Tests: Japanese renders with real glyphs (text layout and every UI family)
when built with craft-fonts, skipped otherwise; the app works without it.
- CI (FreeBSD) and release.yml check out craft-fonts at a pinned commit;
releases set CRAFT_FONTS_REQUIRED=1 and packages carry the OFL licences.
- AGENTS.md, CLAUDE.md, CONTRIBUTING.md, README, docs, ATTRIBUTION.md and
NOTICE: fonts live in craft-fonts; how to build with it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Release builds add an arm64 MSI and portable zip, cross-compiled on the x64
runner (signing and WiX as for x64). package.ps1 checks each binary's PE
header before packaging: Machine must match -Arch, the app must be a GUI
program and the CLI a console program. It skips the CLI smoke run when an
ARM64 build can't run on the host. A new Windows ARM64 workflow packages the
ARM64 MSI, installs it on a Windows 11 ARM64 runner, checks both installed
exes are ARM64, runs the CLI, and uninstalls. Ported from printcraft#66.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The MSI Icon id had no .ico/.exe extension, which Windows Installer needs for
advertised shortcuts and ARPPRODUCTICON, so both showed a blank icon. Release
builds of the desktop app are now GUI-subsystem (no console window; the CLI stays
a console program), the shortcut/summary description names what EffectCraft does, and
packaging-lint rejects an Icon id without an extension. Found in printcraft#57.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>