字体
在运行时替换字体
字体可以在运行时动态加载。这允许您对 Rive 内容进行本地化,而不会增加导出 .riv 文件的大小。
有关更多信息,请参见加载资源。
后备字体
在渲染文本时,当前活动的字体中可能并非所有字形(字符)都可用。这通常发生在以下情况:
- 使用的自定义字体不支持所有语言或 Unicode 范围
- 嵌入的字体是字体的一个子集
- 用户生成的或动态文本包含意外字符
当主字体无法渲染特定字形时,会自动使用后备字体。这些通常是系统字体,通常提供广泛的 Unicode 覆盖。
在 iOS 和 Android 上,为后备字体指定的字体大小会被忽略。平台会根据文本运行时运行的样式和动画选择最匹配的系 统字体。
加载后备字体
后备字体可以来自:
- 捆绑的本地资源
- 远程 URL
- 按名称的系统字体
import { RiveFonts } from '@rive-app/react-native';
// 捆绑的本地字体
const bundled = await RiveFonts.loadFont('kanit_regular.ttf');
// 远程字体
const remote = await RiveFonts.loadFont({
uri: 'https://raw.githubusercontent.com/google/fonts/main/ofl/kanit/Kanit-Regular.ttf',
});
// 按名称的系统字体
const system = await RiveFonts.loadFont({ name: 'Thonburi' });
设置后备字体
在挂载 Rive 视图之前调用 RiveFonts.setFallbackFonts()。
await RiveFonts.setFallbackFonts({
default: [
bundled,
remote,
RiveFonts.systemFallback(),
],
});
清除后备字体
要删除之前配置的后备字体,调用:
await RiveFonts.clearFallbackFonts();
如果您的应用需要在重新创建 RiveView 之前完全重置字体配置,这很有用。