HarmonyOS 鸿蒙Next 字体读取

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 字体读取

现在遇到一个业务,需要设置本地字体文件,并且该字体需要进行base64处理后才能使用

现在不知道如何去加载字体,不知道是用resourceManager 模块还是fileIo模块去读取

案例大概是这样写的:其中font文件夹是跟pages同级目录

fs.open('/font/primary.ttf', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).then((file: fs.File) => {
  console.info("file fd: " + file.fd);

  let arrayBuffer = new ArrayBuffer(4096);
  fs.read(file.fd, arrayBuffer, (err: BusinessError, readLen: number) => {
    if (err) {
      // 
    } else {
      console.info("read file data succeed");
      let buf = buffer.from(arrayBuffer, 0, readLen);
      console.info(`The content of file: ${buf.toString()}`);

      this.controller.runJavaScript(`"javascript:${CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(buf))}"`)
    }
    fs.closeSync(file);
  });
}).catch((err: BusinessError) => {
  console.error("open file failed with error message: " + err.message + ", error code: " + err.code);
});

结果:加载字体失败,有没有好的方法,希望提供案例


更多关于HarmonyOS 鸿蒙Next 字体读取的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 字体读取的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next 字体读取”的问题,以下是专业且简洁的回答:

在HarmonyOS鸿蒙Next系统中,字体读取通常涉及系统字体库的访问和管理。鸿蒙系统提供了相应的API接口,允许开发者在应用中读取和使用系统或自定义字体。

要读取字体,开发者首先需要确保应用具有访问字体文件的权限。这通常通过在应用的manifest文件中声明相应的权限来实现。一旦获得权限,开发者可以使用鸿蒙提供的字体管理API来加载和渲染字体。

字体读取的具体步骤可能包括:

  1. 确定要读取的字体文件路径,可以是系统字体目录中的文件,也可以是应用私有目录下的自定义字体文件。
  2. 使用鸿蒙提供的字体加载接口,将字体文件加载到内存中。
  3. 通过渲染接口,将加载的字体应用到文本控件或其他需要显示文本的地方。

请注意,鸿蒙系统的API可能会随着版本更新而发生变化,因此开发者在开发过程中应参考最新的官方文档和API指南。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!