虽然 Noto Sans CJK 提供了 JP、KR、TC、SC 四个版本,它们大体相似但又有细微的差别(见第 1 行和第 2 行),但我想将所有 CJK 字符设置为 TC 字体,除了 CJK 标点符号(,。「」……等)设置为 SC 字体(如第 4 行)。
我目前使用预处理 bash 脚本通过命令替换它们sed
;但这只是一种解决方法。如何优雅地将所有 CJK 标点符号更改为不同的字体?
换句话说,如何用 替换。
全部{\punctfont。}
?
% !TEX program = xetex
\documentclass{ctexart}
\setCJKmainfont[SlantedFont=Noto Sans CJK TC]{Noto Sans CJK TC}
\newCJKfontfamily\punctfont{Noto Sans CJK SC}
\begin{document}
\texttt{TC}: 角、亮、空、窗、誤。
\texttt{SC}: {\punctfont 角、亮、空、窗、誤。} \\
我能吞下玻璃,而不傷身體。
我能吞下玻璃{\punctfont,}而不傷身體{\punctfont。} % Expectation!
\end{document}