- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我正在使用 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 来解决该问题,但如果我没有该字体的特定斜体/粗体版本怎么办?据我所知,有些字体根本没有特定的粗体/斜体版本。 Apache FOP 是否可以自动从常规字体创建斜体/粗体样式,即使结果不如特定的斜体/粗体字体?
最佳答案
如果您使用的是 FOP 2.2 版,有一个配置选项可以自动创建模拟斜体和粗体字形: simulate-style
.
此示例映射 style
的四种组合和weight
到相同 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 将模拟样式(不执行任何操作)。
关于java - 如何在 Apache FOP 中自动创建斜体/粗体字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48039612/
下面是我用来制作 1px 文本描边轮廓的代码。但是如何使轮廓变粗呢?如果我只是用“5px”替换所有“1px”,结果看起来很疯狂。 HTML Hello! CSS .element { color:
我是一名优秀的程序员,十分优秀!