Fonts

· 371 words · 1 minute read

orgmode + xelatex 输出 pdf 的时候,偶尔发现中英文混排的情况下, 会碰到中文断行出错的情况。现象就是一行中文超出边框很长也不段行。我的LATEX_HEADER 包括如下:

\usepackage{fontspec}
\setmainfont{WenQuanYi Micro Hei}

后来发现,中英文混排时,最简单的办法是如下设置:

\usepackage{xeCJK}
\setCJKmainfont{WenQuanYi Micro Hei}

这样字符间距、中英文断行都工作得很好。

字体选择 🔗

fontspec 提供了一些基础的命令用来选择字体:

\setmainfont{<font name>}[<font features>]
\setsansfont{<font name>}[<font features>]
\setmonofont{<font name>}[<font features>]

\setmainfont 后,系统会自动寻找相应的斜体和粗体。xeCJK 提供了对应的命令,比如 setCJKmainfont。知乎上有一则比较详细的解释

衬线、非衬线字体 🔗

根据百度百科,衬线指的是字母结构笔画之外的装饰性笔画。有衬线的字体叫衬线体(serif);没有衬线的字体,则叫做无衬线体(sans-serif)。中文也有类似情况,比如宋体就是带衬线的,黑体无衬线。mono 则是等宽字体,程序员最爱。图例:

Serif vs Sans Serif

Chinese Typefaces

图片来源:11, 22

comments powered by Disqus