以下设置假设你有相关字体, 用 fc-list 查看你系统的字体, 如果你想要其他 字体, 执行类似的代码添加提供的字体
$ fc-list
$ sudo cp your_fonts.ttf /usr/share/fonts/your_fonts_dir
$ cd /usr/share/fonts/your_fonts_dir
$ sudo mkfontdir
$ sudo mkfontscale
$ sudo fc-cache -fv |
$ fc-list
$ sudo cp your_fonts.ttf /usr/share/fonts/your_fonts_dir
$ cd /usr/share/fonts/your_fonts_dir
$ sudo mkfontdir
$ sudo mkfontscale
$ sudo fc-cache -fv
然后 fc-list 找到你添加的字体名, 最好选英文的那一列
将以下代码保存为 /usr/share/texmf-texlive/tex/latex/base/zhfontcfg.sty /usr/share/texmf-texlive/tex/latex/base 是我的 latex 能找到的目录, 不同 平台可能不一样
% xetex/xelatex 字体设定宏包
\ProvidesPackage{zhfontcfg}
\usepackage[utf8]{inputenc}
\usepackage{fontspec,xunicode}
\usepackage[slantfont, boldfont, CJKtextspaces, CJKmathspaces]{xeCJK} % 允许斜体和粗体
\setCJKmainfont{WenQuanYi Micro Hei} % 设置缺省中文字体
\setCJKmonofont{WenQuanYi Micro Hei Mono} % 设置等宽字体
\setmainfont{Tahoma} % 英文衬线字体
\setsansfont{Tahoma} % 英文无衬线字体
\setmonofont{Monaco} % 英文等宽字体
\punctstyle{kaiming} % 开明式标点格式
\usepackage{indentfirst} % 首段缩进
\defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。
% 中文断行
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt |
% xetex/xelatex 字体设定宏包
\ProvidesPackage{zhfontcfg}
\usepackage[utf8]{inputenc}
\usepackage{fontspec,xunicode}
\usepackage[slantfont, boldfont, CJKtextspaces, CJKmathspaces]{xeCJK} % 允许斜体和粗体
\setCJKmainfont{WenQuanYi Micro Hei} % 设置缺省中文字体
\setCJKmonofont{WenQuanYi Micro Hei Mono} % 设置等宽字体
\setmainfont{Tahoma} % 英文衬线字体
\setsansfont{Tahoma} % 英文无衬线字体
\setmonofont{Monaco} % 英文等宽字体
\punctstyle{kaiming} % 开明式标点格式
\usepackage{indentfirst} % 首段缩进
\defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。
% 中文断行
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt