博士論文中MacTex中文字體錯誤處理
fontspec error: "font-not-found"
在Mac OS X 上安裝MacTex後,需要修改文件 /usr/local/texlive/2009/texmf
dist/tex/latex/ctex/fontset/ctex-xecjk-winfonts.def 中的字體設置,
才能使用XeLatex來編譯中文文件。該文件的內容為:
% ctex-xecjk-winfonts.def: Windows 的 xeCJK 字體設置,默認為六種中易字體
% vim:ft=tex
替換部分
setCJKmainfont[BoldFont={SimHei},ItalicFont={[simkai.ttf]}]{SimSun}
setCJKsansfont{SimHei}setCJKmonofont{[simfang.ttf]}setCJKfamilyfont{zhsong}{SimSun}setCJKfamilyfont{zhhei}{SimHei}
setCJKfamilyfont{zhkai}{[simkai.ttf]}setCJKfamilyfont{zhfs}{[simfang.ttf]}
ewcommand*{songti}{CJKfamily{zhsong}} % 宋體
ewcommand*{heiti}{CJKfamily{zhhei}} % 黑體
ewcommand*{kaishu}{CJKfamily{zhkai}} % 楷書
ewcommand*{fangsong}{CJKfamily{zhfs}} % 仿宋
ewcommand*{lishu}{CJKfamily{zhli}} % 隸書
ewcommand*{youyuan}{CJKfamily{zhyou}} % 幼圓
直接運行XeLatex編譯中文文檔,會出現如下錯誤:
! fontspec error: "font-not-found"
!
! The font "[SIMKAI.TTF]" cannot be found.
!
即字體"[SIMKAI.TTF]"無法找到。
利用fc-list命令,可以查到系統中已經安裝的楷體字體的名稱,即在終端執行:
sudo fc-list :lang=zh-cn
可以查到與楷體對應的行為:
楷體_GB2312,KaiTi_GB2312:stylex=Regular
也就是說,系統中楷體字的名稱為「KaiTi_GB2312」,因此需將"[SIMKAI.TTF]"改為「KaiTi_GB2312」,全部替換
setCJKmainfont[BoldFont={SimHei},ItalicFont={KaiTi_GB2312}]{SimSun}
再次運行XeLatex即可正常編譯中文文檔。如果還出現類似錯誤,只需做類似修改即可。
fc-list命令在路徑/opt/X11/bin下。自OS X 10.8 Mountain Lion開始不再安裝X11,因此用戶需要安裝XQuartz(http://xquartz.macosforge.org)。安裝XQuartz後,即可使用fc-list命令。
推薦閱讀:
※螞蟻金服推出超好用的Sketch 插件「Kitchen」
※產品經理不知道的交互設計關注點! | 人人都是產品經理
※北京西站風水布局設計
※中國古代城池的城門設計