0 y5 ^% W" R+ [) q, B如上操作后,使用xelatex只能编译有adobe字体的文件,编译宋体楷体等windows字体的文件会报错,原因我就直接引用ctexart作者的话了。 ! q4 b3 c' ~- O' `/ `# r; I' M4 g( g
在字体定义文件 ctex-xecjk-winfonts.def 中,楷体和仿宋不是使用字体全名,而是使用字体文件名表示的。如楷书是: ; D* S, h D8 [# I) C/ f9 E\setCJKfamilyfont{zhkai}{[simkai.ttf]} ( J* N' ~1 x; ]; I [之所以这样是因为在 Windows XP 中楷书和仿宋是 GB_2313 字符集的,只有 6000 多个汉字,楷体字体全名是 KaiTi_GB2312;0 A* p B' l7 P e: T8 h
而在 Windows Vista 以后和版本则是 GBK 大字库的,有 20000 多个汉字,字体全名是 KaiTi。7 {$ m, P& N2 s; N. h6 M3 n
为了避免为微软的不同操作系统版本写不同的配置文件(这样更麻烦,而且 Windows 用户是大多数),就把它直接用没有变化过的字体文件名表示。' G+ T4 F0 Y. T% B. C! V2 p: z9 w
这个修改就是我做的。当然对于 Linux 用户可能有一些副作用。6 ?; D, b3 ^* x0 w) @% k, k; A
因为上面的字体名使用的是小写字母,而通常大家拷贝的字体是大写字母(这算是我的疏忽)。: R& b. y! o; H! R& E( ~2 T- f
你知道 Windows 不区分文件名大小写,但 Linux 区分,所以当然 Linux 找不到 simsun.ttf 这个字体了。 " a$ R4 `: q8 F2 h8 H: Y我实在不建议 Linux 用户修改 ctex-xecjk-winfonts.def 文件。& l& o4 w- S L4 U- y {! @- ^& N
你可以使用 Windows 字体加上默认选项,但注意你安装的中文字体文件名要匹配。# w* g7 P$ \7 f3 n
还有一个办法是写自己的配置文件,ctex 宏包有自己的 cfg 文件,9 W3 F; Q2 e4 h& b. }
在 .../texmf-dist/tex/latex/ctex/cfg/ctex.cfg 中,你可以在这个文件里面添加你自己的 local settings。) ^& Q% G. R; d6 N
9 w7 P, J! X% M1 f# Q; ~
我的解决方法是修改/usr/local/texlive/2012/texmf-dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def文件,修改后文件如下
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字体设置,默认为六种中易字体 7 e6 N( X# l5 S3 O
% vim:ft=tex1 U7 D% r( X5 Q
3 r6 k1 M3 j. |\" e5 Z9 z' Y
% \setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}]' q' {: Q& O7 y, [3 t
% {SimSun}) D% w2 t, g8 `: b2 l% Z
\setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi}] + q1 Z) C8 J4 G& w$ f7 K
{SimSun}5 _# L: x, Y& o `! M, f5 `
\setCJKsansfont{SimHei} 0 a% J0 r9 ^& H: D1 \
% \setCJKmonofont{[SIMFANG.TTF]} 2 B. i7 K2 V. |6 s8 D6 x
\setCJKmonofont{FangSong} + C0 h H& F( r+ \% l! D\" V
( z6 ], n1 ` s7 l/ l/ X
\setCJKfamilyfont{zhsong}{SimSun} ! T( w u) ~1 q y\" [9 a) U
\setCJKfamilyfont{zhhei}{SimHei}- C, o$ x/ L! n% I+ v
% \setCJKfamilyfont{zhkai}{[SIMKAI.TTF]} 6 \7 v* ^( c x7 u! x9 L
\setCJKfamilyfont{zhkai}{KaiTi} . r\" U* h8 _: ?! Z
% \setCJKfamilyfont{zhfs}{[SIMFANG.TTF]} & p+ T+ s\" b' z4 C1 J9 j! m\" L
\setCJKfamilyfont{zhfs}{FangSong} ?( v# J& [; J0 T
\setCJKfamilyfont{zhli}{LiSu}/ p& h& Y- f5 M4 @& i% {2 l
\setCJKfamilyfont{zhyou}{YouYuan} `6 _# E6 z7 ~* _! A