HarmonyOS 鸿蒙Next字体无法在真机中显示

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

HarmonyOS 鸿蒙Next字体无法在真机中显示

songti.ttf可以在虚拟机中实现,但是在真机中却不显示。

```php
//注册字体
font.registerFont({
  familyName: 'songti',
  familySrc: 'file:///storage/Users/currentUser/Download/songti.ttf'
})
Text("你好").fontFamily("songti")

在虚拟机中是可以正常改变的,Next平板却不显示

5 回复
这是一楼代码运行的截图  

![cke_348.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/425/047/741/2850086000425047741.20241113164506.98375211963392615138609333280905:50001231000000:2800:CFBCD0BC8933924975B9AE21EB6A1A5D4477873D9E375A352C4DFC06D28F747A.png)

![cke_921.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/425/047/741/2850086000425047741.20241113164550.66665587181859346475469854843261:50001231000000:2800:EA67C0EC06A7826AA7E4730A519BA118B8644C6DF04EDB7B1032AC667BCDB7E4.png)

![cke_2414.jpeg](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/425/047/741/2850086000425047741.20241113164722.13705193119333275714046247906101:50001231000000:2800:63797353332BD58615FA95E867B8116C5765EF307C39F6B484F5C6353F9B5AAD.jpeg)

更多关于HarmonyOS 鸿蒙Next字体无法在真机中显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我这边试了是没有问题的,你这应该是在于你的ttf字体文件路径的问题吧,模拟器的时候你在你电脑上能找到文件,真机找不到ttf文件,需要把ttf文件直接放在代码内部,这里我是放在rawfile/font下的,可以参考demo:

// xxx.ets
import { font } from '@kit.ArkUI';

@Entry
@Component
struct FontExample {
  @State message: string = 'Hello World'

  // iconFont示例,假设0000为指定icon的Unicode,实际需要开发者从注册的iconFont的ttf文件里面获取Unicode
  @State unicode: string = '\u0000'
  @State codePoint: string = String.fromCharCode(0x0000)

  aboutToAppear() {

    // familyName和familySrc都支持string
    font.registerFont({
      familyName: 'fangzhen',
      familySrc: $rawfile('font/fangzhen.TTF')
    })
  }

  build() {
    Column() {
      Text("你好")
        .fontFamily("fangzhen")
      Text("你好")
    }.width('100%')
  }
}

ttf字体文件是放在代码内部的,我也将ttf字体文件放在模拟器和真机的公共下载目录中的,也是真机无法显示。因为代码用的同一个,如果ttf字体文件没有放在代码内部那么模拟器也应该无法应用才对,

难道是next平板的bug吗?我用的mate60手机试了是没问题的,用了模拟器确实也没问题,我没有平板真机。

针对HarmonyOS(鸿蒙)系统中Next字体无法在真机中显示的问题,可能的原因及解决方案如下:

  1. 字体文件未正确安装:

    • 确认Next字体文件是否已正确安装到鸿蒙系统的字体目录中。
    • 检查字体文件的格式和完整性,确保没有损坏。
  2. 字体权限设置问题:

    • 确认应用是否有权限访问和使用Next字体。
    • 在应用设置中检查字体使用权限,确保已授权。
  3. 系统字体缓存问题:

    • 尝试重启设备,以清除可能的字体缓存问题。
    • 进入系统设置,找到字体管理选项,尝试重新加载或应用Next字体。
  4. 应用兼容性问题:

    • 确认应用是否支持鸿蒙系统,以及是否兼容Next字体。
    • 更新应用到最新版本,或检查应用开发者是否提供了针对鸿蒙系统的字体支持说明。
  5. 系统版本问题:

    • 确认鸿蒙系统版本是否支持Next字体。
    • 如有必要,更新鸿蒙系统到最新版本,以获取最新的字体支持和修复。

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

回到顶部