[转载]XeLaTeX调用本地中文字体(新增win版)
原文链接《XeTeX:一个新的LaTeX中文排版解决方案》
以前使用CJK进行中文的排版,需要自己生成字体库,近日,出现了XeTeX,可以比较好的解决中文字体问题,不需要额外生成LaTeX字体库,直接使用计算机系统里的字体,本文以在Linux下为例说明XeTeX的使用。(win下我用绿色字体添加了注释)
操作系统: Ubuntu,(windows)
TeX:除了texlive包外,还需要安装的包是texlive-xetex。(ctex套装自带)
字体:可以使用fc-list查看你自己的字体库,注意字体的完整名称,在XeTeX里面会用到。(cmd->fc-list, 这个在win下需要注意, 可以看到有些字体尽管系统里面有, 但是字体信息不全, 导致后面无法调用. 我在后面给出了win7下已安装的中文字体列表.)
特别注意:安装好后,开始一个例子,例子里面的字体是我计算机里面的一些字体,源文件必须是UTF8编码,这在Linux很容易。(在winedt中请在保存时选择utf8, 并手动加上后缀tex)
源文件:xetex.tex
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
\documentclass[12pt,a4paper]{article} \usepackage{fontspec,xunicode,xltxtra} \usepackage{titlesec} \usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry} \titleformat{\section}{\Large\xbsong}{\thesection}{1em}{} \XeTeXlinebreaklocale "zh" \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt \newfontfamily\song{Simsun (Founder Extended)} \newfontfamily\bwei{FZBeiWeiKaiShu-S19S} \newfontfamily\zbhei{FZZhanBiHei-M22T} \newfontfamily\xzt{FZXiaoZhuanTi-S13T} \newfontfamily\xbsong{FZXiaoBiaoSong-B05} \newfontfamily\dbsong{FZDaBiaoSong-B06} \newfontfamily\gulif{FZGuLi-S12T} \newfontfamily\gulij{FZGuLi-S12S} \newfontfamily\kai{FZKai-Z03} \newfontfamily\hei{FZHei-B01} \newfontfamily\whei{WenQuanYi Zen Hei} \newfontfamily\fsong{FZFangSong-Z02} \newfontfamily\lanting{FZLanTingSong} \newfontfamily\boya{FZBoYaSong} \newfontfamily\lishu{FZLiShu-S01} \newfontfamily\lishuII{FZLiShu II-S06} \newfontfamily\yao{FZYaoTi-M06} \newfontfamily\zyuan{FZZhunYuan-M02} \newfontfamily\xhei{FZXiHei I-Z08} \newfontfamily\xkai{FZXingKai-S04} \newfontfamily\ssong{FZShuSong-Z01} \newfontfamily\bsong{FZBaoSong-Z04} \newfontfamily\nbsong{FZNew BaoSong-Z12} \newfontfamily\caiyun{FZCaiYun-M09} \newfontfamily\hanj{FZHanJian-R-GB} \newfontfamily\songI{FZSongYi-Z13} \newfontfamily\hcao{FZHuangCao-S09} \newfontfamily\wbei{FZWeiBei-S03} \newfontfamily\huali{FZHuaLi-M14} \setmainfont{FZLanTingSong} \renewcommand{\baselinestretch}{1.25} \begin{document} \title{\whei XeTeX使用小结} \author{\fsong 何勃亮} \date{\kai2009年6月21日} \maketitle \section{简介} 以前使用CJK进行中文的排版,需要自己生成字体库,近日,出现了XeTeX,可以比较好的解决中文字体问题,不需要额外 生成LaTeX字体库,直接使用计算机系统里的字体。 \section{字体列表} 本文使用了大量本机自带的字体。 \begin{table}[htbp] \caption{字体列表} \centering \begin{tabular}{|l|c|r|} \hline \hei 字体 & \hei 命令 & \hei 字体效果 \\ \hline \kai 宋体 & \verb+\song+ & \song 宋体 \\ \kai 楷体 & \verb+\kai+ & \kai 楷体 \\ \kai 黑体 & \verb+\hei+ & \hei 黑体 \\ \kai 仿宋体 & \verb+\fsong+ & \fsong 仿宋体 \\ \kai 文泉驿黑体 & \verb+\whei+ & \whei 文泉驿黑体 \\ \kai 书宋体 & \verb+\ssong+ & \ssong 书宋体 \\ \kai 报宋体 & \verb+\bsong+ & \bsong 报宋体 \\ \kai 新报宋体 & \verb+\nbsong+ & \nbsong 新报宋体 \\ \kai 兰亭宋体 & \verb+\lanting+ & \lanting 兰亭宋体 \\ \kai 博雅宋体 & \verb+\boya+ & \boya 博雅宋体 \\ \kai 宋体一 & \verb+\songI+ & \songI 宋体一 \\ \kai 隶书 & \verb+\lishu+ & \lishu 隶书 \\ \kai 隶书二 & \verb+\lishuII+ & \lishuII 隶书二 \\ \kai 古隶简体 & \verb+\gulij+ & \gulij 古隶简体 \\ \kai 古隶繁体 & \verb+\gulif+ & \gulif 古隶繁体 \\ \kai 华隶书 & \verb+\huali+ & \huali 华隶书 \\ \kai 小标宋 & \verb+\xbsong+ & \xbsong 小标宋 \\ \kai 大标宋 & \verb+\dbsong+ & \dbsong 大标宋 \\ \kai 小篆体 & \verb+\xzt+ & \xzt 小篆体 \\ \kai 姚体 & \verb+\yao+ & \yao 姚体 \\ \kai 准圆 & \verb+\zyuan+ & \zyuan 准圆 \\ \kai 细黑一 & \verb+\xhei+ & \xhei 细黑一 \\ \kai 行楷书 & \verb+\xkai+ & \xkai 行楷书 \\ \kai 彩云体 & \verb+\caiyun+ & \caiyun 彩云体 \\ \kai 汉简书 & \verb+\hanj+ & \hanj 汉简书 \\ \kai 魏碑体 & \verb+\wbei+ & \wbei 魏碑体 \\ \hline \end{tabular} \end{table} \end{document} |
编译,编译需要的程序是xelatex,而不是latex,需要注意下:
xelatex xetex.tex
编译结果是xetex.pdf,下图是截图。
win7下中文字体
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
STCaiyun,华文彩云:style=Regular YouYuan,幼圆:style=Regular PMingLiU,新細明體:style=Regular STHupo,华文琥珀:style=Regular FZYaoTi,方正姚体:style=Regular NSimSun,新宋体:style=Regular FangSong,仿宋:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta DFKai\-SB,標楷體:style=Regular KaiTi,楷体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta STSong,华文宋体:style=Regular Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta SimSun,宋体:style=Regular STFangsong,华文仿宋:style=Regular STXinwei,华文新魏:style=Regular Arial Unicode MS:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta STXingkai,华文行楷:style=Regular Microsoft JhengHei,微軟正黑體:style=Negreta,Bold,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia STLiti,华文隶书:style=Regular SimHei,黑体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta MingLiU,細明體:style=Regular STZhongsong,华文中宋:style=Regular Microsoft YaHei,微软雅黑:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia FZShuTi,方正舒体:style=Regular MingLiU_HKSCS,細明體_HKSCS:style=Regular STXihei,华文细黑:style=Regular Microsoft JhengHei,微軟正黑體:style=Normal,Regular,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta LiSu,隶书:style=Regular STKaiti,华文楷体:style=Regular |
举例来说, 我们可以这样调用华文细黑字体, 其他类似:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
\documentclass[12pt,a4paper]{article} \usepackage{fontspec,xunicode,xltxtra} \usepackage{titlesec} %\usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry} %\titleformat{\section}{\Large\xbsong}{\thesection}{1em}{} \XeTeXlinebreaklocale "zh" \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt \newfontfamily\STXihei{STXihei} \setmainfont{SimSun} \renewcommand{\baselinestretch}{1.25} \begin{document} \title{\STXihei 华文细黑的调用} \author{\STXihei van abel} \maketitle \section{简介} 以前使用CJK进行中文的排版, 需要自己生成字体库, 近日, 出现了XeTeX, 可以比较好的解决中文字体问题, 不需要额外 生成LaTeX字体库, 直接使用计算机系统里的字体. \section{字体列表} 本文使用了大量本机自带的字体. \begin{table}[htbp] \caption{字体列表} \centering \begin{tabular}{¦l¦c¦r¦} \hline 字体 & 命令 & 字体效果 \\ \hline 华文细黑&\verb¦\STXihei¦&\STXihei 华文细黑\\ \hline \end{tabular} \end{table} \end{document} |
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.
发表回复