注音辅音音调符号忽略 \setCJKmainfont

注音辅音音调符号忽略 \setCJKmainfont

我的文档通常包含等量的中文和英文。这是我在某个手册中找到的序言:

\documentclass{ctexbook}
\setmainfont{Minion Pro}
\setCJKmainfont[BoldFont=Adobe Heiti Std, ItalicFont=Adobe Kaiti Std, SmallCapsFont=*]{Adobe Song Std}
\begin{document}
    你好
    hello
\end{document}

这个简单的设置似乎让我在输入英语时使用 Minion Pro 字体,在输入中文时使用其他字体。

但是,当我输入任何注音符号时,4 个声调符号(“ˊ”、“ˇ”、“ˋ”和“˙”)都显示为方框。如果我设置\setmainfont{Adobe Song Std}(这意味着从未使用过 Minion Pro 字体),声调符号会正常呈现。这说明它正在尝试使用 Minion Pro 字体来呈现它们(在上述文档中),但 Minion Pro 没有这些字符。

  • 我如何确保这四个符号始终使用正确的 CJK 字体呈现?

答案1

只需将\xeCJKsetcharclass字符设置为类1

\documentclass{ctexbook}
\xeCJKsetcharclass{`\ˊ}{`\ˊ}{1}
\xeCJKsetcharclass{`\ˇ}{`\ˇ}{1}
\xeCJKsetcharclass{`\ˋ}{`\ˋ}{1}
\xeCJKsetcharclass{`\˙}{`\˙}{1}
\begin{document}
山明水秀啊(ㄕㄢㄇㄧㄥˊㄕㄨㄟˇㄒㄧㄡˋㄚ˙)
\end{document}

请注意,\xeCJKsetcharclass前两个参数接受两个数字作为字符代码范围。\xeCJKsetcharclass{`\ˊ}{`\ˊ}{1}与 相同\XeTeXcharclass`\ˊ=1

相关内容