某些韩文字形未在输出中显示

某些韩文字形未在输出中显示

我正在尝试在 LaTeX 上创建一些韩语初学者课程。我正在使用CJKutf8韩语字体包。它在文档的大部分内容中都有效。但是当我尝试显示一些韩语字符的随机组合以进行练习时,一些字母块没有显示。代码如下:

\documentclass{article}
\usepackage{enumerate}
\usepackage{multicol}
\usepackage{CJKutf8} %korean font
\begin{document}
\begin{CJK}{UTF8}{mj}
%Practice Question 1
\begin{multicols}{3}
    \begin{enumerate}
        \item 느
        \item 쳐
        \item 호 
        \item 할
        \item 썈
        \item 뾰
        \item 땨
        \item 숧
        \item 앓
        \item 흃
        \item 뱀
        \item 육
        \item 새
        \item 톁
        \item 핧
        \item 똥
        \item 쯖
        \item 롈
        \item 이
        \item 흙
        \item 밐
        \item 쏖
        \item 왜
        \item 랏
        \item 쨁
        \item 즣
        \item 끃
        \item 쏖
        \item 쏐
        \item 뼻
        \item 떍
        \item 멱
    \end{enumerate}
\end{multicols}
\end{CJK}
\end{document}

未显示的列表项是:썈、땨、숧、흃、톁、핧、쯖、롈、밐、쏖、쨁、즣、끃、뼻、떍

这是我得到的输出:

在此处输入图片描述

有人能帮助我了解问题是什么以及如何解决它吗?

答案1

由于你可以自由地使用 XeLaTeX 或 LuaLaTeX 代替 pdfLaTeX,因此我建议你不是使用该CJKutf8包及其CJK环境。相反,只需使用 XeLaTeX 或 LuaLaTeX、fontspec包和合适的 OpenType 字体。在下面的代码中,我使用了 Google 的Noto Serif KRNoto Sans KR字体系列,任何人都可以下载并免费使用。衬线字体有 7 种字体粗细,无衬线字体有 6 种字体粗细。

使用的许多好处之一fontspec是,可以轻松调整默认和粗体字体粗细(当然,前提是字体提供了所需的粗细)。例如,在下面的代码中,我没有使用 的默认字体粗细(“常规”和“粗体”)Noto Sans KR;相反,我更轻松一步,将Light和指定为和Medium选项的参数。UprightFontBoldFont

在此处输入图片描述

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{multicol,lipsum,geometry}

\usepackage{fontspec}
\setmainfont{Noto Serif KR}
\setsansfont{Noto Sans KR}[UprightFont = {* Light}, 
                           BoldFont    = {* Medium}]


\begin{document}

%Practice Question 1
\begin{multicols}{3}
    \begin{enumerate}
        \item 느
        \item 쳐
        \item 호 
        \item 할
        \item 썈
        \item 뾰
        \item 땨
        \item 숧
        \item 앓
        \item 흃
        \item 뱀
        \item 육
        \item 새
        \item 톁
        \item 핧
        \item 똥
        \item 쯖
        \item 롈
        \item 이
        \item 흙
        \item 밐
        \item 쏖
        \item 왜
        \item 랏
        \item 쨁
        \item 즣
        \item 끃
        \item 쏖
        \item 쏐
        \item 뼻
        \item 떍
        \item 멱
    \end{enumerate}
\end{multicols}

느 쳐 호 할 썈 뾰 땨 숧 앓 흃 뱀 육 새 톁 핧 똥 쯖 롈 이 흙 밐 쏖 왜 랏 쨁 즣 끃 쏖 쏐 뼻 떍 멱

\textbf{느 쳐 호 할 썈 뾰 땨 숧 앓 흃 뱀 육 새 톁 핧 똥 쯖 롈 이 흙 밐 쏖 왜 랏 쨁 즣 끃 쏖 쏐 뼻 떍 멱}

\textsf{느 쳐 호 할 썈 뾰 땨 숧 앓 흃 뱀 육 새 톁 핧 똥 쯖 롈 이 흙 밐 쏖 왜 랏 쨁 즣 끃 쏖 쏐 뼻 떍 멱}

\textsf{\textbf{느 쳐 호 할 썈 뾰 땨 숧 앓 흃 뱀 육 새 톁 핧 똥 쯖 롈 이 흙 밐 쏖 왜 랏 쨁 즣 끃 쏖 쏐 뼻 떍 멱}}

\medskip
\noindent
\lipsum[1][1-4] % filler text
\end{document}

答案2

问题不在于 TeX 或 LaTeX 系统,而在于它们使用的字体。

韩语使用韩文字母。由于韩文字母是由辅音和元音组合而成,因此,目前使用的辅音字母和元音字母可以组成 11,172 个韩文字母。

但是,大多数单词并不需要全部字母,而设计包含所有字母的字体需要付出很多努力。因此,许多韩语字体设计师不会设计全部 11,172 个字母,而是设计足够多的字母(约 2,350-2,850 个),这些字母可以毫无问题地表达韩语。(当然,有许多支持完整 11,172 个字母的韩语字体,如 Mico 的回答所示。)

您用来排版韩文的字体似乎只包含有限数量的韩文字母,并且未呈现的字母(썈、땨、숧、흃、톁、핧、쯖、롈、밐、쏖、쨁、즣、끃、뼻、떍)在韩语中不使用。如果在韩语文档中使用它们,字体可能不会造成问题,但如果在某些特殊情况下使用它们(例如测试随机字形),则字母将不会显示。

要解决此问题,您必须使用另一种完全提供所有韩语字母的字体。Noto Sans CJK KR、Noto Serif CJK KR、나눔명조(NanumMyeongjo)、나눔고딕(NanumGothic) 是支持所有 11,172 个字母的韩语字体的一些示例。

相关内容