我有 .otf 和 .ttf 格式的字体。我想在我的 Apple News 文章中使用它,但我不断收到错误消息,Error: Custom font (postscript name=CustomFontName) not available.
我知道 JSON 是正确的,因为如果我使用标准字体,它就可以工作。我已将字体包含在与 article.json 相同的文件夹中,但除此之外,我找不到任何有关如何执行此操作的文档。
2 回答
我在 Apple News Format 指南中没有看到自定义字体。它在文档中指出:
fontName:要应用的字体的 PostScript 名称,例如 GillSans-Bold。您可以按名称引用任何字体。有关可用字体的列表,请参阅 iOSfonts.com。
和其他地方:
Fonts News 支持所有 iOS 系统字体,除了 San Francisco,它是随 iOS 9 引入的。
这最初使我相信它暗示自定义字体不起作用,但是尝试使用这种格式时我发现我的假设是错误的。
复制字体的 PostScript 名称(参见 OS X Font Book 中的信息面板)并将字体放置在与article.json
它工作的文件相同的文件夹中。但请确保您是否要强调您也包括相关的斜体或粗体变体。
我使用的字体是来自 Google Fonts的 open type true type 。您可以从该链接获得确切的信息。我在我的文件夹中包含了 Roman 和 Italic 变体,并通过在组件文本样式(即段落样式)中将其称为“IM_FELL_DW_Pica_Roman”来引用该字体。然后,当我应用降价来识别斜体文本时,它会自动找到斜体变体。我不需要单独引用斜体版本(即在内联文本样式中)。
这是我的代码:
{
"version": "1.1",
"identifier": "sketchyTech_Demo",
"title": "My First Article",
"language": "en",
"layout": {},
"components": [{
"role": "title",
"text": "My First Article",
"textStyle": "titleStyle",
"inlineTextStyles": [{
"rangeStart": 3,
"rangeLength": 5,
"textStyle": "redText"
}]
}, {
"role": "body",
"format": "markdown",
"text": "This is just over the minimum amount of _JSON_ required to create a valid article in Apple News Format. If you were to delete the dictionary enclosing this text, you'd be there.",
"textStyle": "bodyStyle"
}],
"componentTextStyles": {
"titleStyle": {
"textAlignment": "center",
"fontName": "HelveticaNeue-Bold",
"fontSize": 64,
"lineHeight": 74,
"textColor": "#000"
},
"bodyStyle": {
"textAlignment": "left",
"fontName": "IM_FELL_DW_Pica_Roman",
"fontSize": 18,
"lineHeight": 26,
"textColor": "#000"
}
},
"textStyles": {
"redText": {
"textColor": "#FF00007F"
}
}
}
(注意:尝试添加粗体时它会默默地回到斜体,因为相关字体不可用。)
我要说的最后一件事是自定义字体的使用似乎没有记录,尽管它有效。因此,Apple 不一定会在您上传时接受使用自定义字体(除非您已在其他地方看到确认)。
关于如何在此答案中获取自定义字体的实际名称,有一些有用的提示- 它并不总是您所期望的。同样的规则也适用于 Apple News 生态系统。
您的字体定义应如下所示:
"fontName": "Raleway-ExtraLight"