韩文字符乱码了 [XeLaTeX; Noto Sans Korean]?

韩文字符乱码了 [XeLaTeX; Noto Sans Korean]?

我试图找到一种具有过时 jamo 和正确组合行为的字体。昨天我发现了诺托·桑斯,它似乎同时具有这两种功能。但是,当我在 XeTeX 中使用它时,我得到的是一些看似任意的汉字(或空格),而不是预期的字符。

(我猜测,当选择正确的字符时,编写行为将自行修复。是的,我知道 Code2000 在这个例子中运行良好,但不幸的是,它是世界上最丑陋的字体。:p

梅威瑟:

\documentclass{article}
\usepackage{fontspec}

% 1. precomposed: U+BB47
% 2. separate jamo: U+1106, U+116E, U+11BA
% 3. obsolete [separate jamo]: U+113B, U+119F, U+11EB
\newcommand\test[1]{#1 & {\fontspec{#1}{뭇; 뭇; ᄻᆟᇫ}} \\}

\begin{document}

\begin{tabular}{rl}
\test{Arial Unicode MS}
\test{Batang}
\test{Code2000}
\test{Gulim}
\test{GungSeo}
\test{HeadLineA}
\test{Nanum Brush Script}
\test{Nanum Myeongjo}
\test{Nanum Pen Script}
\test{Noto Sans Korean}
\test{PCMyungjo}
\test{PilGi}
\test{Adobe Gothic Std}
\test{Adobe Myungjo Std}
\test{Apple SD Gothic Neo}
\test{AppleGothic}
\test{AppleMyungjo}
\end{tabular}

\end{document}

http://cl.ly/WcUO/Screen%20Shot%202014-07-17%20at%2013.08.08.PNG

答案1

Noto Sans Korean或原创Source Han Sans应该没问题。但是,你应该使用最新(未发布)版本的xdvipdfmx 已修补经过姜江不久前。

相关:XeTeX:CID 键控字体支持吗?

% !TEX program = XeLaTeX
% !TEX encoding = UTF-8
\documentclass{article}

\usepackage{fontspec}

\setmainfont{NotoSansKR-Regular.otf}
% \setmainfont{SourceHanSansK-Regular.otf}

\begin{document}

뭇; 뭇; ᄻᆟᇫ

\end{document}

在此处输入图片描述

预编译xdvipdfmx

答案2

在 Windows 8 上,Malgun Gothic 支持结合 Hangul Jamo(以下简称“旧 Hangul”)。然而,在您使用的 Mac 上,没有捆绑支持旧 Hangul 的字体。

Noto Sans 或思源黑体,实际上只是名称不同的完全相同的字体,暂时不能在 XeTeX 上使用,正如上面 Khaled 的评论中链接的帖子所讨论的那样。

但是,还有另一种字体系列支持 Old Hangul,并且质量良好:咸青霉素字体。它们与当前的 XeTeX 或 LuaTeX 兼容没有问题,因为它们是 TrueType 字体,并且分别包含常规和粗体系列的衬线和无衬线样式。

除了我提到的这些字体,Malgun Gothic、Noto Sans、Source Han Sans 和 Hamchorom LVT,其他任何字体至少到目前为止都不适合古韩文的专业排版。

编辑:Hamchorom LVT 字体源自 Hamchorom 字体,汉康公司是版权持有者。根据许可证,未经版权持有者明确许可,不得出于商业目的重新分发或修改字体。因此,例如,您不能出售嵌入了 Hamchorom 字体(或 LVT 变体)的新智能平板。

答案3

我刚刚在使用 Noto Sans 繁体中文字体时遇到了同样的问题(除了使用普通的 xetex),然后谷歌就把我带到了这里。我接下来尝试的是 luatex(使用 luaotfload),效果很好。所以这似乎是 xetex 中的一个错误。

编辑:根据 Khaled 上述建议,这是 CID 键控字体的问题。我不知道它们是什么,但安装 fontforge(使用 cidmaps,即 ubuntu 中的 fontforge-extras)然后执行 CID->Flatten 以转换为非键控字体似乎可以解决这个问题。

相关内容