我正在尝试使用 MadCap Flare 元素生成 pdf 文件,但生成的 PDF 文件字体错误。我使用的是最新版本的 Flare,2019r2。
我正在尝试使用 Duotype 的 Flexo 字体生成段落。所有字体都安装在主 Windows 字体目录中:C:\Windows\Fonts\DUROTYPE_-_FLEXO-REGULAR_1.OTF。这是通过右键单击字体并选择“为所有用户安装”来完成的。
问题的一个例子是 h2 样式。样式表在默认部分具有以下声明:
body
{
padding: 0 20px;
}
...
body,
div,
li,
p
{
color: #3b4151;
font-family: FlexoRegular, Arial, "Helvetica Neue", Helvetica, sans-serif;
font-size: 1em;
font-weight: normal;
margin: 0.5em 0;
mc-hyphenate: never;
orphans: 2;
widows: 2;
}
...
h2
{
color: #f8193f;
font-family: FlexoBoldIt, Arial, "Helvetica Neue", Helvetica, sans-serif;
font-weight: normal;
font-size: 1.67em;
page-break-after: avoid;
}
我实际想要使用的选择器位于带有以下声明的@media 部分下。
body
{
padding: 0;
position: relative;
margin: 0;
}
h2
{
color: #f8193f;
font-family: "Flexo-BoldIt", Arial, "Helvetica Neue", Helvetica, sans-serif;
font-size: 9pt;
margin-bottom: 0px;
margin: 0px;
margin-top: 6px;
}
当我将字体系列定义为“字体系列:”Flexo”、Arial、”Helvetica Neue”、Helvetica、sans-serif;”我使用 Flexo 字体获得输出。但是,当我尝试“Flexo-BoldIt”或“Flexo-BoldIt”或“Flexo Bold Italic”或各种其他引号和字体名称组合时,我得到的输出是 Microsoft Sans Serif。当我尝试使用诸如
之类的显式声明覆盖样式时<h2 style="text-align: center;font-family: "Flexo-BoldIt"...">
输出仍然是 MS Sans Serif。
添加如下声明
font-style: italic;
font-weight: bold;
没有帮助。
为什么 Flare 不能生成具有正确字体的输出?另外,为什么它不使用安装的 Arial 生成输出?如果我从字体系列中删除“Flexo-BoldIt”,我会得到 Arial 输出。
如有任何帮助,我们将不胜感激。
最佳答案
你有没有在 CSS 中添加 font-face
@font-face
{
font-family: 'YourFontFamilyName';
src: url(../path/to/font);
}
然后使用类似的字体
h1
{
font-family: 'YourFontFamilyName';
}
此外,将您的字体保存在元素文件中,以便您可以轻松地使用相对路径访问它。
试试这个并给我反馈 :)
更新
这更像是对与此元素类似的每个元素的提示。
不要使用系统安装的字体,因为如果用户没有在他们的系统上安装该字体,那将是错误的。始终将字体文件放在元素目录中并像上面那样访问它们。
关于css - Madcap Flare 无法在 PDF 输出中生成正确的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59090641/