当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : fop 中文问题及解决办法
帖子发表于 : 2017-06-12 13:21 

注册: 2011-01-15 23:30
帖子: 19
送出感谢: 0 次
接收感谢: 1
2017-05-26 docbook5 转换pdf 过程中遇见的中文不能正常显示的问题
发表评论
首先说说Docbook5转换的过程.
1. ubuntu环境下下载运行如下命令.
sudo apt-get install docbook5-xml docboot-xsl-ns xsltproc fop

2. 简单按照docbook5的写法, 写个简单的书, 作为操作例子.

3. 运行如下命令将书转换为.fo, 其中的**代表合适的文件名
xsltproc **.xsl **.fo

4. 运行如下命令将**.fo文件转换为**.pdf
fop -c **.xml **.fo **.pdf
注意**.xml是一个以xml形式写的一个配制文件, 在你安装了fop时, 它会送一个配置文件, 其名为fop.xconf(这里的fop.xconf文件就是xml文件, 你也可以像上面那样用其它的**.xml代替), 其中是一个配置文件, 说明得很清楚. 就采用该配制文件. 在上面的fop -c **.xml的命令中需要指明这个配制文件. 只要你采用的字体是你系统你面自带的话, 就用不着配置什么了.

如果你要自己配置**.xml这个配制文件的话, 或者是向其中注册新的字体的话(其实也不用, 只要将要注册的字体安装到你的系统里, 就采用他的示例配置文件fop.xconf就可以了.). 就需要用fop-ttfreader程序了(这个程序会在你安装fop的时候自动的安装的)来生成metrics-xml文件, 在配制字体的时候需要用到. 具体命令如下:

fop-ttfreader **.ttf **.xml;
如果是采用**.ttc这样的多字体文件的话, 需要这样用.
fop-ttfreader **.ttc **.xml;
然后它就会提示你, 这个文件中包含几种字体, 它们分别叫什么名字(输出的信息中会出现一些警告信息, 这个信息不用管, 只要提到了包含几种字体, 分别是什么就行了. )
fop-ttfreader -ttcname fontname **.ttc **.xml
这样就可以了.

我以前玩过fop, 当时也是这样解决问题的, 但是久了久了没有用, 导致今天又花了这么多时间去解决这个问题, 主要当时的记录笔记没有写到一个永久的博文上, 才使今天浪费这么时间, 可见平时还是应该多记录. 以便以后少浪费时间.

多提一下, 在配置文件中提到的术语简单说一下.
metrics-url:字体矩阵文件,根据ttc文件生成,kerning为是否允许字间矩调整
font-triplet:字体三元组:名字,样式,重量
更具体的配制文件有说明(fop.xconf中是英文的说明), 有个文章作过作过仔细的研究, 对配置文件的仔细研究

http://supermew.top/?p=1087
fop的man中提到的三个配置文件是不能用的, 主要是没有事例, 因此最好不要用。还有在linux下, 中文字体一般采用ttc的格式, 并且其中含有多个字体。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译