继续这个问题:使用Tex4Ht为中文文档生成html
Tex4Ht 需要 .htf 字体来转换中文文档。我已经设法让所有字体都能unisong*.htf
正常工作,这要感谢上一个问题的答案,但默认的 TexLive 2011 安装似乎不包含 simhei、simkai 和所有其他中文字体的 htf 字体。有地方可以下载它们吗?如果可以,我该如何生成它们?
答案1
我刚刚找到了alias
htf 文件,它使重新使用utf8song*.htf
文件(由 CTeX 论坛成员贡献,现在随附tex4ht
)变得更加容易。
初次(不成功)运行后tex4ht
,您会注意到以下错误消息
--- warning --- Couldn't find font 'unihei7a.htf' (char codes: 0--255)
因此您知道您将需要映射unihei*.htf
文件来使用utf8song*.htf
。
对于utf8song*.htf
中的每个文件%TEX4HT%/ht-fonts/unicode/cjk/utf8/
,创建一个unihei*.htf
包含单行的 文件.utf8song*
。
以下 Bash 脚本unihei*.htf
将从中生成新的别名文件utf8song*.htf
:
for file in *.htf; do alias_name=${file/utf8song/unihei}; sudo echo .${file%.htf} > $alias_name; done;
您可以将新文件留在 中%TEX4HT%/ht-fonts/unicode/cjk/utf8/
,或将其移至%TEX4HT%/ht-fonts/alias/cjk/utf8/
以便更整洁地管理。
(再次提醒,请记得检查是否tex4ht.dir
被%TEX4HT%/tex4ht/base/unix/tex4ht.env
正确的实际路径替换。)
然后运行
htlatex test.tex "xhtml,charset=utf-8,NoFonts,fonts" " -cunihtf -utf8"
(该NoFonts
指令消除了每个 CJK 字符周围的冗长的<span>
s 。该fonts
指令将为<span>
诸如 之类的内容放置一个带有适当类的内容\textbf
,\emph
以便您可以根据需要使用 CSS 对其进行样式设置。)
答案2
要生成.htf
中文 UTF-8 字体的文件,可以使用CTeX 论坛。
顺便问一下,为什么不在中文论坛上搜索或提问呢?