您的位置:首页 > 运维架构

在XMLSPY中添加FOP 字体支持

2003-05-27 14:10 357 查看
在XMLSPY中添加FOP 字体支持[/b]
[/b]
作为 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 包的功能。

分三步做:

第一步 生成字体构图文件[/b][Generating a font metrics file][/b][/b]
生成的字体构图文件为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.ttf 和 simsun.ttc 文件可以在 c:/Windows/Fonts 下找到。更多信息参看fop 文档。http://xml.apache.org/fop

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

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


name属性的值就是在fo文档中供选取 font-family 的值。按上面的配置文件,可以通过设定 font-family=“SimHei”设定字符为黑体。
第三步 让 XMLSpy 自动读取 userconfig.xml [/b][/b]

现在我们已经配置好了 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
2003年5月23日
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: