makepad/platform/examples/font_manifest.rs
Admin 9aadd43f22 platform: HAL-only on every platform; the old backends are deleted
Every native platform now runs on the HAL (makepad-hal) alone: macOS and
iOS/tvOS on Metal, Windows on D3D11 (with device-loss recovery), Linux on
Vulkan (X11, Wayland and direct KMS, multi-GPU laptops with per-output
modes, mirror/extended arrangements and pacing) plus a GLES backend, and
Android on Vulkan with media, camera, network, haptics and file access on
the HAL. The old per-OS backends, the hal cfg and OpenHarmony are gone.
GPU memory: the HAL reads the device budget, keeps a UI reserve and raises
GpuPressure; failed allocations wait for room. One font service per host,
a frame profiler, held events for hidden views, automation for tests. Our
own generated Vulkan, Wayland and Windows bindings replace vendored ones.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 12:26:21 +02:00

18 lines
852 B
Rust

//! Prints the font asset manifest `app_main!` links for a font set (`Latin`, the default, or
//! `International`): `cargo makepad android run-host` packages the fonts of an app it does not
//! build with rustc (the app is compiled on the phone), so it asks the platform for the set.
use makepad_platform::{INTERNATIONAL_FONT_ASSET_MANIFEST, LATIN_FONT_ASSET_PACKAGE_MANIFEST};
fn main() {
let set = std::env::args().nth(1).unwrap_or_else(|| "Latin".to_string());
let manifest: &[u8] = match set.as_str() {
"Latin" => LATIN_FONT_ASSET_PACKAGE_MANIFEST,
"International" => INTERNATIONAL_FONT_ASSET_MANIFEST,
other => {
eprintln!("font_manifest: unknown font set {other:?} (Latin or International)");
std::process::exit(2);
}
};
print!("{}", String::from_utf8_lossy(manifest));
}