中文標點符號的重點在於,是要置中還是左下角?另外就是要不要因為版面而做壓縮或延伸。目前 xeCJK/ctex/luatex-ja
都可以對中文標點符號做粗略的調整。但是目前只有台灣及香港的中文字型,標點符號是置中的,而這些套件卻是針對標點符
號在左下角來做調整的,這用在置中的標點符號就會出問題了。
ChineseJFM 就是針對這個問題再做精細微調,不過他是 Lua script 寫的,主要是配合 luatex-ja 及 ctex,xeCJK 就不能用
了,以下先介紹使用方法,然後再針對 xeCJK 加參數微調(xeCJK 可以自行定義自己想要的 punct style)。
luatex-ja 的部份:
\documentclass{article}
\usepackage{luatexja-fontspec}
\setmainjfont[BoldFont=Noto Sans CJK TC Medium,
YokoFeatures = {JFM = {zh_TW/quanjiao}},
BoldItalicFont=I.Ngaan,
ItalicFont=cwTeXKai]{I.MingCP}
ctex 的部份:
\documentclass{article}
\usepackage[fontset=none,punct=zh_TW/quanjiao,scheme=plain]{ctex}
% xelatex 不支援 AlternateFont 選項的設定。
\setCJKmainfont[BoldFont=Noto Sans CJK TC Medium,
BoldItalicFont=I.Ngaan,
ItalicFont=cwTeXKai,
AlternateFont={"20000 -> "2A6DF, % CJK ExtB
"2A700 -> "2B73F, % CJK ExtC
"2B740 -> "2B81F % CJK ExtD
}{HanaMinB}]{I.MingCP}
註:ctex 的話,如果 scheme 不設定,將會加大字距及行距。ctex class 也可以使用。當然,編譯時要用 lualatex。
xeCJK 的部份:
\documentclass{article}
\usepackage{xeCJK}
\xeCJKsetup{PunctStyle=quanjiao}
%以下設定,只能用在標準的 OTF 規格字型
%\setCJKmainfont{I.MingCP}[Language=Chinese Traditional]
\setCJKmainfont{I.MingCP}
%微調過度壓縮的情形
\xeCJKEditPunctStyle{quanjiao}{optimize-kerning=true}
不過調整過後 xeCJK 還是差強人意。底下附件 tcpunct 是 xeCJK的例子。tcpunct2 是 luatex-ja 的例子,tcpunxt3 是
ctex 的例子。
另外,這個 Lua script 是配合新版本的 luatex-ja,所以請先更新你的 TeX 系統至最新版本。
參考網站:
GitHub - tanukihee/ChineseJFM: 适用于简繁中文与日文的 luatexja JFM 文件
其餘資訊請 texdoc chinesejfm。