现在的位置: 首页 > 综合 > 正文

在XMLSPY中添加FOP 字体支持

2012年07月07日 ⁄ 综合 ⁄ 共 1541字 ⁄ 字号 评论关闭

XMLSPY中添加FOP 字体支持

 

作为 XMLSpy 插件使用 FOP 默认是不支持中文字体的。在默认状态下,使用XMLSpy生成结果文件的时候,有中文的地方(或其他使用不被支持的字体,不被字符集支持的字符的地方)将被“#”代替。

可以通过设置添加用户需要的字体。FOP插件安装时附带安装的文档中有详细地说明。如果你安装了XMLSpy的FOP插件,这些文档存放在你硬盘上的地址为:

C:\Program Files\Altova\FOP\ReleaseNotes.html

添加字体支持的文档为:

C:\Program Files\Altova\FOP\build\site\fonts.html

      C:\Program Files\Altova\FOP\build\site\configuration.html

      C:\Program Files\Altova\FOP\build\site\embedding.html

在完成这一系列配置前你需要安装jsdk,以使用 FOP 提供的 java 包的功能。

 

分三步做:

 

第一步  生成字体构图文件[Generating a font metrics file]

生成的字体构图文件为xml格式。Windows系统下,运行org.apache.fop.fonts.apps.PFMReader  使用下面的命令:

    java -cp build\fop.jar;lib\avalon-framework.jar;lib\xml-apis.jar;lib\xercesImpl.jar;lib\xalan.jar org.apache.fop.fonts.apps.PFMReader pfm-file xml-file

 

举两个例子:

两个例子有细微的区别,请注意  :)

[1]生成宋体字体文件的例子:


[2]生成黑体字体文件的例子

   

    simhei.ttfsimsun.ttc 文件可以在 c:/Windows/Fonts 下找到。更多信息参看fop 文档。http://xml.apache.org/fop

 

第二步   注册字体到 FOP[ 修改配置文件 userconfig.xml ]

 

修改 userconfig.xml configuration/fonts 节点下插入相应的节点。

name属性的值就是fo文档中供选取 font-family 的值。按上面的配置文件,可以通过设定 font-family=“SimHei”设定字符为黑体。

第三步   XMLSpy 自动读取 userconfig.xml

 

现在我们已经配置好了 FOP 的宋体和黑体 字体支持。如果通过命令行运行 FOP ,已经可以正确生成这两种字体。但通过 XMLSPY 菜单生成 pdf文件的时候仍然报错:“没有找到字体”!!原因是默认情况下 XMLSpy 不会自动读取 userconfig.xml 。现在我们就要解决这个问题。让 XMLSpy自动读取 userconfig.xml

打开 FOP 根目录下 FOP 文件[  C: / Program Files/Altova\FOP/fop.bat  ],注意最后一行:

java -cp %LOCALCLASSPATH% org.apache.fop.apps.Fop %1 %2 %3 %4 %5 %6 %7 %8

Fop 命令有个可选参数 -c cfg.xml ,所以只需要把最后这一行改成

java -cp %LOCALCLASSPATH% org.apache.fop.apps.Fop –c config/userconfig.xml %1 %2 %3 %4 %5 %6 %7 %8

 

好了,终于全部搞定 :D   :D   :D 找个有中文字体的 *.fo 文件测试一下吧。

Stan

mailto:xiaoleilong@mail.biti.edu.cn

2003523

抱歉!评论已关闭.