使用 fontspec 进行基线偏移?

使用 fontspec 进行基线偏移?

有没有办法使用 fontspec(在 XeLaTeX 中)手动调整字体的垂直位置?

在排版亚洲文本时,这样的功能非常有用,因为不同的字体供应商通常会将亚洲字符放在不同的垂直位置。

答案1

我不确定在 中实现它是否容易(和必要)fontspec。错误的基线位置似乎是由当前设计不良的(但几乎所有)中文字体造成的。但是,我仍然想知道其他程序(如 Microsoft Word)如何正确排版中文竖排文本。(但 XeTeX 不能。)

使用xeCJK包(通过 XeLaTeX 排版中文时应始终使用该包),固定 CJK 符号的基线并不困难。

% coding:utf-8
\documentclass{article}

\usepackage{xeCJK}

\newfontlanguage{Chinese}{CHN}
\setCJKfamilyfont{songvert}% It is important to set these features
  [Script=CJK,Language=Chinese,Vertical=RotatedGlyphs]{SimSun}
\def\CJKmovesymbol#1{\raise.35em\hbox{#1}}
\def\CJKmove{\let\CJKsymbol\CJKmovesymbol
             \let\CJKpunctsymbol\CJKmovesymbol}

\begin{document}

\begin{tabular}{|ll|}
\hline
Original baseline:&
{\Huge\CJKfamily{songvert}文字 text 文字 text}\\
\hline
Fixed baseline:&
{\Huge\CJKmove\CJKfamily{songvert}文字 text 文字 text}\\
\hline
\end{tabular}

\end{document}

在此处输入图片描述

相关内容