设为首页收藏本站

CTEX社区

 找回密码
 注册
搜索
查看: 3841|回复: 2

[TeX@China] tex4ht的utf8字体文件

[复制链接]

5

主题

0

好友

52

积分

初级会员

Rank: 2

发表于 2008-5-31 02:40:58 |显示全部楼层
昨天要帮朋友用latex作mathml放到网上,而自己是UTF8环境的,就参考tex4ht自带的 gbksongXX.htf 用python从 UTF8.sfd 中生成utf8_XX.htf和unicode.4ht文件在utf8_htfs_and_charset.tar.bz2中。

后来发现为了直接用utf8的字符比较方便,就顺带生成了替换字符直接是utf-8的utf8_XX.htf,在utf8_htfs.tar.bz2中。

不过二者只能取其一,如果你生成的xml中拿出来的mml所用的是utf-8的网页的话,建议你用utf8_htfs.tar.bz2中的htf,因为直接是utf-8的字符,比较直观,用户友好些;如果你可能会用在gb18030,big5,utf-8的网页中的话,最好还是用utf8_htfs_and_charset.tar.bz2中的,因为用的是xml的unicode表示方式,应该在什么页面上都不会错。

两个压缩包中都已经包含了目录结构,直接解压到$TEXMFLOCAL或 $TEXMFHOME中即可,你自己机子上的$TEXMFLOCAL在哪里呢?直接用kpsewhich:
  1. kpsewhich -var-value=TEXMFLOCAL
复制代码
就知道了。

因为比较大,只能放到网盘中:
http://www.esnips.com/web/acevery-LaTeX

使用的时候需要生成alias字体就。
比如我机子上latex中用的是utf8simsun,那么我只需要在$TEXMF/tex4ht/ht-fonts/alias/utf8/utf8simsun/下生成utf8simsun01.htf ~ utf8simsunff.htf共255个alias文件,在相应的文件中写上一行说明指向的真实htf文件即可,如在utf8simsun07.htf为
  1. .utf8_07
复制代码


不过一下要写255个文件,显然不能手动,可以用下面这个n小的python脚本完成,比如要生成名为utfsimsun的alias字体,直接
  1. python mkalias.py utf8simsun
复制代码
即可:


  1. #!/usr/bin/python
  2. # *-* encoding: utf-8 *-*
  3. # filename: mkalias.py
  4. # generate alias htf

  5. import sys
  6. target = sys.argv[1]

  7. def genalias ( ind ):
  8.         f = file ( '%s%02x.htf' %(target, ind),'w' )
  9.         f.write( '.utf8_%02x\n\n\n' % ind)

  10. circle = range (1,256)
  11. map (genalias, circle)
复制代码

1

主题

0

好友

13

积分

新手上路

Rank: 1

发表于 2008-7-23 14:38:25 |显示全部楼层
好贴!
学习中,刚刚看到,觉得可能有用!

1

主题

0

好友

7

积分

新手上路

Rank: 1

发表于 2008-8-2 10:57:17 |显示全部楼层
太好了
有用,这样就方便了!!
您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|CTEX.ORG ( 京ICP备05002166号  

GMT+8, 2014-12-30 00:37 , Processed in 0.015293 second(s), 7 queries , Gzip On, Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部