Wednesday, August 17, 2011

CTeX的UCS2/UCS4问题终极解决方案及其他

这个问题应该可以告一段落了。。。

一切的一切,缘起于某一天我因为另一个已经不记得的LaTeX诡异问题,从老掉牙的CTeX 2.4.6升级到了2.9:
http://www.ctex.org/CTeXDownload
在Windows XP英文版,CTeX中文套装2.9的环境下编译LaTeX文档,有时候在应用dvipdfmx命令(即dvi2pdf)时会出现错误:
Failed to read UCS2/UCS4 TrueType cmap...
在Windows XP中文版,Windows 7英文版下全部正常,让我头疼欲裂啊头疼欲裂。
通过各种系统的对比,原来这个问题是由于Windows XP英文版没有仿宋体字体引起的。解决方法:
1. 从任何一个地方找一个simfang.ttf这个文件,安装到系统;
2. 重新运行CTeX 2.9的Fontsetup,在开始菜单里可以找到。
结束了!世界真美好啊。。。

另外:
1. 折腾了一下TeX Live,觉得还是没有CTeX方便,对中文支持似乎有点问题,也可能是我设置的不对;
2. dvi2ps->ps2pdf这种方式处理中文文档会出现中文文字不能拷贝等问题,最好全部用dvi2pdf方式转pdf;

3. 如果LaTeX的发行版本已经发行超过五年,它会拒绝编译任何文档,显示错误:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! You are attempting to make a LaTeX format from a source file
! That is more than five years old.
!
! If you enter <return> to scroll past this message then the format
! will be built, but please consider obtaining newer source files
! before continuing to build LaTeX.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! LaTeX source files more than 5 years old!.
l.545 ...aTeX source files more than 5 years old!}

?
! Emergency stop.
l.545 ...aTeX source files more than 5 years old!}

No pages of output.
方法是改系统时间编译一次,以后再把系统时间改回来也可以编译了。