iris: load application-owned fonts

This commit is contained in:
iris committed 2026-09-11 14:14:41 -04:00
1 parent f7e7950908
commit bdc9c914c4
19 files changed
+189 -87

No files matched your search

+2 -2
View File
@@ -247,8 +247,8 @@ is a unit test with exactly those names in it.
### 12. Icons
Add these to `iris/core/src/icon.rs` **and**
`iris/core/build-icon-font.sh`, then rerun the script and commit its output:
Add these to `app/src/ui/icon.rs` **and**
`app/build-icon-font.sh`, then rerun the script and commit its output:
`md-folder` U+F024B (the header button and
directory rows), `md-plus` U+F0415, `md-pencil` U+F03EB,
`md-content_save` U+F0193, `md-file_outline` U+F0224. The folder and the plus
+7
View File
@@ -813,6 +813,13 @@ widget changed. Winit's user-event proxy and Android's posted callback are
private implementations of that wake; applications do not define platform
event types or manually request redraws.
**Iris ships no fonts.** Applications register their own font bytes on `Ui`
before the first text shape and select them through the same `Family` used by
text widgets. `Family::Icons` is a semantic application-configured role, not a
particular icon set owned by the framework. ai-app owns its Nerd Fonts subset,
its codepoints, its license and the script that rebuilds it; body and monospace
families continue to come from the platform.
`cargo-iris` is an installable Cargo subcommand, rather than a script callers
must find inside an Iris checkout. `cargo iris apk` builds the Rust `cdylib`
with cargo-ndk and packages it directly with the installed Android SDK tools: