如何在Apache FOP中自动创建斜体/粗体字体?

Searene

假设我正在使用Apache FOP创建PDF文件。PDF中的所有字符都应为Times New Roman Italic由于我的系统中没有这样的字体,因此Apache FOP将尝试在/ data / fonts中查找由fop.xconf设置的字体。

<directory>/data/fonts</directory>

但是,/ data / fonts中只有一个文件,即Times New Roman Regular.ttf是的,不Times New Roman Italic.ttf,也不Times New Roman Bold.ttf

ls /data/fonts 
'Times New Roman Regular.ttf'

在这种情况下,Apache FOP报告它找不到Times New Roman Italic字体,并且回退到默认字体,默认字体也不是Times New Roman,也不是斜体。

我可以通过Times New Roman Italic.ttf输入/ data / fonts来解决问题,但是如果我没有该字体的特定斜体/粗体字怎么办?AFAIK有些字体根本没有特定的粗体/斜体版本。即使结果不如特定的斜体/粗体字样,Apache FOP是否可以从常规字体自动创建斜体/粗体字样?

弗里尼

如果使用的是FOP 2.2版,则有一个配置选项可以自动创建模拟的斜体和粗体字形:simulate-style

这个例子中,四个组合的映射styleweight同一TrueType字体,加粗并在需要时倾斜的字形:

<font kerning="yes" embed-url="Times.ttf" simulate-style="true">
  <font-triplet name="Times" style="normal" weight="normal"/>
  <font-triplet name="Times" style="italic" weight="normal"/>
  <font-triplet name="Times" style="normal" weight="bold"/>
  <font-triplet name="Times" style="italic" weight="bold"/>
</font>

注意,注册所有不同的font-triplet元素很重要如果只有<font-triplet name="Times" style="normal" weight="normal"/>字体替换机制,则将首先将粗体,斜体和粗斜体映射到已注册的普通变体,然后FOP将模拟样式(不执行任何操作)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在rmarkdown的kable表中更改单元格的字体(粗体/斜体)?

如何在html canvas中将字体文件用于粗体,斜体等?

如何在Java SWING中设置自定义字体的大小和其他属性(粗体,斜体等)

如何在CSS中结合粗体和斜体?

如何在Android TextView中将字体样式设置为粗体,斜体和下划线?

如何创建粗体和斜体文本等...像stackoverflow?

如何为自定义字体使用粗体,常规和斜体字体样式?

如何在byobu中获取斜体字体

如何在Apache Kafka中创建主题?

如何在Apache中创建可选的RewriteCond

如何在Apache Olingo中创建实体?

如何在Resharper中禁用局部变量字体粗体

如何在Plotly中设置粗体字体样式

如何在带有 Apache FOP 的 AFP 中使用 TrueType 字体?

如何在Kotlin文档(KDoc)中添加粗体,斜体,下划线等格式

如何在python-docx中同时使用粗体和斜体?

如何渲染字体的形状的Apache FOP 2.3

itextpdf / PdfContentByte /字体-如何结合使用2个或多个粗体,斜体和下划线

如何将粗体和斜体字体应用于NSAttributedString?

如何修复在Chrome下显示为粗体斜体的PDF中的斜体?

如何在Apache POI中重用字体?

如何在自动完成 jquery 中制作粗体匹配文本

自动完成如何在建议中写粗体字母

如何在Apache POI中的Excel中自动调整列

如何在Apache中实现Brotli压缩?

如何在Linux中升级Apache Kafka

如何在Apache Wink中处理CORS?

如何在Apache中制定负面规则?

如何在php中获取Apache版本?