java fop_java – Apache FOP使用SimSun显示###

  • Post author:
  • Post category:java


必须采取三个步骤才能使中文字符正确显示在使用FOP创建的PDF文件中(对于默认字体中不可用的所有字符也是如此,更常见的是使用非默认字体).

让我们使用这个简单的示例来显示FOP在出现问题时产生的警告:

博洛尼亚大学中国学生的毕业论文

处理此输入时,FOP会发出几个与此类似的警告:

org.apache.fop.events.LoggingEventListener processEvent

WARNING: Glyph “?” (0x535a) not available in font “Helvetica”.

在FO文件中没有任何明确的字体系列指示,FOP默认使用Helvetica,这是Base-14 fonts之一(各地都可用的字体,因此不需要嵌入它们).

每种字体都支持一组字符,为它们分配一个可见的字形;当字体不支持某个字符时,会产生上述警告,并且PDF显示“#”而不是缺少的字形.

第1步:在FO文件中设置font-family

如果默认字体不支持我们文本的字符(或者我们只是想使用不同的字体),我们必须使用font-family属性来声明所需的字体.

font-family的值是继承的,所以如果我们想对整个文档使用相同的字体,我们可以在fo:page-sequence上设置属性;如果我们只需要一些段落或单词的特殊字体,我们可以在相关的fo:block或fo:inline上设置font-family.

所以,我们的输入成为(使用我有一个字体作为例子):

博洛尼亚大学中国学生的毕业论文

但是现在我们得到了一个新的警告,除了旧警告!

org.apache.fop.events.LoggingEventListener processEvent

WARNING: F



版权声明:本文为weixin_36227730原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。