LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: littlepig

如何使groff支持中文并使用我安装的中文字体?

[复制链接]
 楼主| 发表于 2007-3-15 17:43:11 | 显示全部楼层
Post by completist
不是很复杂的,至少比latex下的要简单
比如华文行楷stsingkai.ttf
fontforge转成pfa,同时会生成STXingkai.afm
afmtodit STXingkai.afm textmap STXingkai

问题就是那个textmap是哪里来的? 我已经按照man说的用ttf2t42生成了t42和afm了,就这步下不去。还请再说的详细一点,多谢了!

P.S: 用texlive2007,现在什么都不配置自动支持utf8中文,这个比较鼓舞人心,呵呵,当然要加入字体还是麻烦。
回复 支持 反对

使用道具 举报

发表于 2007-3-15 18:43:03 | 显示全部楼层
textmap是参数项

我是使用的fontforge
fontforge stxinwei.ttf
文件菜单-生成字体
选ascii格式的type1(pfa)即可
afm和pfa同时生成

ttf2t42有点老,在我这编不了

texlive的utf8字体生成不难,就是耗时间,xetex又不太成熟
个人意见是象Werner说的groff转成格式化文本方面,效果非常好,这也是其强项,但中文等较latex差很多,比如断行,英文则效果让人满意
[PHP]
...
DW:    By easier to "handle problems", I assume you mean as a user rather than developer, correct? Will you please give me examples of the type of thing that is easier to handle in groff and in TeX?

WL:     groff has the concept of "traps" to catch vertical events. For example, it's rather simple to make the first line of a paragraph be printed in small caps, something which is quite difficult in TeX, as far as I know. Another advantage of groff is its capability to move easily to absolute positions on a page.

The perhaps biggest disadvantage of groff is the lack of shrinkable space, both vertically and horizontally (vertically stretchable space is also missing). Thus formatting of columns with a small line width works far better in TeX. groff's algorithm to format a paragraph is also much less sophisticated.

DW:    I presume you use both LaTeX and Groff: which do you use for what and why?

WL:     For me it is a must to have good man pages! And this is what I am using groff for. For longer documents I use LaTeX.

DW:    What makes groff better for "good" man pages?

WL:     For me a good man page displays well on various output formats, at least as plain text, PostScript, and HTML. groff works fine for all those formats (HTML output is still somewhat experimental, though), while support for (formatted) plain text output is completely missing from TeX.
...
[/PHP]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-15 22:02:37 | 显示全部楼层
搞定了! 多谢completist的耐心指导
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-15 22:16:59 | 显示全部楼层
哎呀,又出大问题了,生成的ps太大了,就几行字达到几十兆。 我就用了三中字体,SimSun, SimHei和KaiTi_GB2312,就是从windows那里拷来的几个字体。这可如何是好。不过最后转成pdf的确是小很多很多,只有十几K。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-15 22:45:09 | 显示全部楼层
跟行数倒是关系不大,就是多使用一种字体就多好十几兆。貌似latex的处理是将字体分割成了好多个部分,然后只嵌入使用了的(猜的,不懂的说;))
回复 支持 反对

使用道具 举报

发表于 2007-3-15 23:41:49 | 显示全部楼层
谢谢搂住提供的资料,回去研究一下。看看跟Latex有什么不同的地方。
回复 支持 反对

使用道具 举报

发表于 2007-3-15 23:54:29 | 显示全部楼层
呵呵,这也是没办法的事,只适合偶而转pdf时用一下
groff 还不能直接支持ttf、otfa字体,虽可使用tex下的pfb字体转成的pfa,但快速字体索引又成问题,如能作个中文字体虚拟映射至常见的AdobeSongStd-Light,应该可以不用嵌入而提高转换速度
针对中文而言,groff更实际些的的使用,应是当作资料储备类的素材库或者个人日记类的记事本来用,以后可以很方便转换格式至html和字处理软件中,及偶而转至ps等输出
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-16 05:53:28 | 显示全部楼层
问题又出来了, 如果用-me去编译,中文字体没有嵌入,这是什么原因? 这么解决?
回复 支持 反对

使用道具 举报

发表于 2007-3-16 17:56:42 | 显示全部楼层
在我这是好的,没问题的,看看抓图里面的文字部分
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-16 20:15:02 | 显示全部楼层
恩,如果中文在段落或者章节外,没问题,但是放在.pp或者.sh后面中文不显示,字体貌似嵌入了,因为ps文件很大,但是打开看不到,转成pdf以后仍然没有。代码如下,你那里可以正常生成中文么? 多谢
.ft SimSun

段落外

.pp
段落内

.sh 1 "章节"
章节内
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表