提问者:小点点

Madcap Flare在PDF输出中生成的字体不正确


我正在尝试生成pdf文件使用一个MadCap Flare项目,但pdf文件出来与错误的字体。我使用的是最新版本的信号弹2019R2。

我正在尝试使用DuoType的柔性版字体生成段落。所有字体都安装在Windows字体主目录C:\Windows\fonts\durotype_-_flexo-regular_1.otf中。这是通过右键单击字体并选择“为所有用户安装”来完成的。

这个问题的一个例子是h2样式。样式表在default部分中有以下声明:

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;
}

当我将font-family定义为“font-family:”flexo“,Arial,”Helvetica neue“,Helvetica,sans-serif;”我得到的输出与柔性版字体。然而,当我尝试“柔性体粗体”或“柔性体粗体斜体”或各种其他组合的引号和字体名称时,我得到的输出是Microsoft无衬线的。“Flexo-Boldit”或“Flexo-Boldit”或“Flexo-Boldit”或“Flexo粗体斜体”或“Flexo粗体斜体”。当我尝试使用显式声明重写样式时,如

<h2 style="text-align: center;font-family: "Flexo-BoldIt"...">

输出仍然是MS无衬线的。

添加声明,如

font-style: italic;
font-weight: bold;

于事无补。

为什么信号灯不生成正确字体的输出?另外,为什么它不使用Arial生成输出,因为Arial已经安装了?如果我从字体系列中删除“Flexo-Boldit”,我将得到Arial的输出。

任何帮助都将不胜感激。


共1个答案

匿名用户

在CSS中添加了font-face吗

@font-face
{
   font-family: 'YourFontFamilyName';
   src: url(../path/to/font);
}

之后使用类似的字体

h1
{
   font-family: 'YourFontFamilyName';
}

另外,将字体保存在项目文件中,这样您就可以轻松地使用相对路径访问它。

试一下,给我反馈:)

更新

这是一个更多的提示每个项目类似于这一个。

不要使用系统安装的字体,因为如果用户的系统上没有安装该字体,这将是错误的。始终将字体文件放在一个项目目录中,并像上面那样访问它们。