NativeScript:Android上无法加载字体族。

3

我导入了一组Galano Grotesque xxx.otf字体文件(xxx=Alt Black、Alt Black Bold等),在iOS上运行良好,但在Android上却无法加载字体。当我在Android上运行应用程序时,字体没有被加载。

我正在使用以下内容:

Label {
    font-family: "Galano Grotesque";
    color: #5b5b5f;
}

我发现了这篇文章 - Android Not Showing Font Icon In NativeScript - 我尝试了以下方法:

Label {
    font-family: "Galano Grotesque", galano grotesque;
    color: #5b5b5f;
}

但是没有成功 :(

有谁知道我该怎么做才能解决这个问题吗?

谢谢


Leandro 如果这是一个私有字体的话,你能与我分享字体文件以便查看为什么它无法加载吗?一个粗略的解决方法是为字体系列创建所有可能的样式变体。在字体周围添加引号,没有引号,在名称中添加引号(有和没有空格)。这样可以涵盖字体名称的所有变体。如果我能打开字体文件,你就可以看到实际的名称。另外,这是.tff文件吗? - Brad Martin
1个回答

5
在 iOS 和 Android 中使用字体时,有一个主要的考虑因素。 在 iOS 上使用字体时,它应该使用确切的 字体名称(注意,这不是文件名!),而在 Android 上,应该使用特定的 文件名 引用字体。
例如: 假设您正在使用来自此处的 Galano Grotesque DEMO Bold 字体(此字体免费用于演示目的)。 下载后,您将看到 文件名 如下:
Rene Bieder - Galano Grotesque DEMO Bold.otf

但是字体名称是(在Mac上使用FontBook应用程序打开,在弹出窗口的顶部查看字体名称.. 在Windows上,使用Windows字体查看器打开字体,查找字体名称

Galano Grotesque DEMO

因此,在iOS中使用它,你应该使用

font-family: "Galano Grotesque DEMO";

对于 Android,您应该使用:
font-family: "Rene Bieder - Galano Grotesque DEMO Bold";

当然,最好的做法是查看实际字体名称并使用准确的名称重命名文件,这样您就可以在iOS和Android中重复使用它,而不需要不同的CSS文件。
话虽如此,请检查您在Android下的文件名,并确保在CSS文件中的引用相同。

1
这与拥有同一字体的多个字重如何相符呢?我有"[字体名称] Regular.ttf"和"[字体名称] SemiBold.ttf",我试图通过"font-family: [字体名称]; font-weight: 600;"来包含半粗体,但是Android找不到它。 - Aaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接