T44d Web · What a browser cannot do says why; fonts resolve; the bundle builds
Demos that open a second window, take files, move the window, read the clipboard or set native menus show a note on the web in the blocked style. IBM Plex Sans Regular joins the assets, unmodified, where gpui's svg renderer loads it: gpui_web answers .SystemUIFont with it. The gallery's web entry registers a Hebrew cut of Noto Sans Hebrew. scripts/web.sh builds the bundle with wasm-bindgen and wasm-opt -Oz, 20.0 MB, and fails past 25 MiB.
This commit is contained in:
1 parent
48c7b09d8d
commit
2cd2ca8bc1
26 files changed
+381
-76
No files matched your search
@@ -1,4 +1,4 @@
|
||||
use std::{cell::RefCell, rc::Rc, sync::Arc};
|
||||
use std::{borrow::Cow, cell::RefCell, rc::Rc, sync::Arc};
|
||||
|
||||
use anyhow::{Context as _, Result, anyhow, bail};
|
||||
use ely_gpui_component::Assets;
|
||||
@@ -9,6 +9,9 @@ use web_sys::UrlSearchParams;
|
||||
|
||||
use crate::{Start, choose, launch, pages, shell::Choice, shell::Gallery};
|
||||
|
||||
/// The i18n page's Hebrew: gpui_web asks the browser for emoji and CJK alone.
|
||||
const HEBREW: &[u8] = include_bytes!("fonts/NotoSansHebrew-Regular.ttf");
|
||||
|
||||
thread_local! {
|
||||
/// The running app and its window, for the host page's calls.
|
||||
static HOST: RefCell<Option<(AsyncApp, WindowHandle<Gallery>)>> = const { RefCell::new(None) };
|
||||
@@ -95,6 +98,9 @@ pub fn start() {
|
||||
.with_http_client(http)
|
||||
.with_assets(Assets)
|
||||
.run(move |cx| {
|
||||
cx.text_system()
|
||||
.add_fonts(vec![Cow::Borrowed(HEBREW)])
|
||||
.expect("the gallery's Hebrew face registers");
|
||||
let window = launch(start, cx);
|
||||
HOST.with(|host| *host.borrow_mut() = Some((cx.to_async(), window)));
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user