HarmonyOS鸿蒙Next中webview使用的font-face可以将url指定为沙盒路径吗?

HarmonyOS鸿蒙Next中webview使用的font-face可以将url指定为沙盒路径吗? 如题,我看论坛里说webview用自定义字体,需要将字体放在rawfile目录下,但有时候需要让webview使用下载的字体,请问当前最新版本有没有什么方案可以解决?如果没有,什么时候能支持上?

2 回复

自定义字体开发需要进行以下步骤:

  • 需要准备好要使用的字体文件,确保字体格式支持由鸿蒙系统识别,常见的字体格式包括TrueType Fonts(.ttf)和OpenType Fonts(.otf)。
  • 在系统的资源目录中,需要正确配置字体文件。这通常涉及到将字体文件放置在项目的资源文件夹中,并在项目的配置文件中指定字体路径和名称。
  • 在使用文本组件,可以通过设置fontFamily属性来使用自定义字体。

【解决方案】

  • 注册自定义字体font.registerFont目前仅支持stringResource类型暂不支持base64格式,可以通过将base64编码的字体数据转换为字体文件,转换方式可以通过openSync创建一个文件,并将base64解码后的内容写入到这个文件中来实现。具体转换方式可以参考官方文档
  • 通过downloadFile下载的字体文件,在调用font.registerFont注册自定义字体时,需要将沙箱路径加上file://在字体管理中注册自定义字体:

更多关于HarmonyOS鸿蒙Next中webview使用的font-face可以将url指定为沙盒路径吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,WebView的@font-face规则可以通过url指定字体文件路径。如果字体文件位于应用的沙盒路径中,可以使用相对路径或绝对路径进行引用。例如,url("file:///data/storage/el2/base/haps/entry/fonts/custom_font.ttf")。确保路径正确且应用具有访问权限。

回到顶部