编辑:

编辑:

当我使用 XeTeX 编译以下包含部分韩语韩文字符的代码时,这些字符无法正确显示。使用 LuaTeX 编译时,它们会按应有的方式相互重叠。

输出不同的原因是什么?我更喜欢使用 XeTeX,但我可以让它也能使用这些字符吗?

\documentclass{scrarticle}
\usepackage{ifxetex,ifluatex}

\ifxetex
    \usepackage{fontspec}
    \usepackage{xeCJK}
    \setCJKmainfont{Batang}
\else\ifluatex
    \usepackage{fontspec}
    \usepackage{luatexko}
\fi\fi

\usepackage{xcolor}
\newcommand{\noV}{{\color{black!20}ᅟᅳ}}

\begin{document}
    
    Only works in Lua\TeX: \noV ᆯ 
    
    Only works in Lua\TeX: \noV ᆼ 
    
    Full characters always work: 한글
    
\end{document}

XeTeX 输出:
在此处输入图片描述

LuaTeX 输出:
在此处输入图片描述


编辑:

\color似乎不是罪魁祸首

...
\begin{document}
    
    Still only works in Lua\TeX: ᅟᅳᆯ
    
    Still only works in Lua\TeX: ᅟᅳᆼ
    % Stack.EX can compose them too :o
    
    Full characters always work: 한글
    
\end{document}

XeTeX 输出:
![在此处输入图片描述

LuaTeX 输出:
在此处输入图片描述


由于此编辑器已经以组合形式显示了部分字符,为了清楚起见,我将分别列出这些字符:
填充符“ᅟ”(U+115F)
,后跟元音“ᅳ”(U+1173),
后跟“ᆯ”和“ᆼ”(U+11AF 和 U+110B)

答案1

原来是字体的问题,简单的 Batang 不包含复合字符。读了 Ulrike 的评论后,我简单地说

\setCJKmainfont{UnBatang}

相反,无论有无颜色,一切都运行正常。

相关内容