asset.loadFont()
验证并注册 manifest 声明的包内字体,返回只能用于宿主文本渲染接口的类型化句柄。
Syntax
const font = await host.asset.loadFont(assetId);
Parameters
assetId: string:指向 manifest 中 mediaType: "font/woff2" 的资源 ID;v0.1 唯一字体格式是 WOFF2。
Return value
Handle<font, use, app-context, runtime>
句柄不可序列化、跨应用复用或当作字体字节读取。
同一 runtime 对同一 assetId 重复加载必须复用已验证的底层字体资源,不重复消耗活动字体预算。
Examples
const font = await host.asset.loadFont('fonts/ui');
const style = { font, size: 16, align: 'start', direction: 'ltr' };
const [title] = await host.canvas.measureText('main', ['欢迎'], style);
await host.canvas.draw('main', [
{ op: 'fillText', text: '欢迎', x: 24, y: 48, style, color: { r: 255, g: 255, b: 255, a: 255 } },
]);
Errors
特有错误:denied、not-found、invalid-format、unsupported-format、limit-exceeded。宿主在交给字体后端前执行大小、WOFF2 魔数和结构校验。
Requirements
- 能力:
host:asset.loadFont - 用户激活:不需要
- 句柄生命周期:runtime
- 信任档位:green