MiKTeX 2.9 CJK 韩语字体未找到错误

MiKTeX 2.9 CJK 韩语字体未找到错误

在我的 LaTeX 文件中尝试使用韩文字体一天之后,我向这个论坛寻求一些有用的见解。

我正在使用 MiKTeX 2.9(几天前刚从 2.7 升级)。到目前为止,我能够毫无问题地使用英语 latex。我使用 MiKTeX 包管理器(管理员)并安装了cjkcjk-fontscjkpunctmiktex-cjkutils-bin-2.9 使用选项(管理员)刷新 FNDB 和更新格式。我已阅读 CJK 文档文件http://www.inf.ed.ac.uk/systems/tex/CJK/CJK.txt并在网上搜索了有用的示例。据我所知,我的安装和使用都是正确的。但是,我无法获得输出。

我做了两件事。

1)从miminmal latex源文件中得到以下错误:韩语是通过vim编辑器(我也使用了记事本)通过键盘输入的。

Running miktex-makemf.exe...
miktex-makemf: The kmj source file could not be found
Running hbf2gf.exe

Couldn't find 'kmg.cfg'
miktex-maketfm: No creation rule for font kmj15

! Font C61/mj/m/n/10/15=kmg15 at 10.0pt not loadable: Metric (TFM) file not found
\documentclass{article}
\usepackage{CJK}
\begin{document}
The following should be in Korean
\begin{CJK}{KS}{}
안녕하세요
\end{CJK}
The previous should be in Korean
\end{document}

2) 我更改了以下内容\begin{CJK}{UTF8}{} ,并通过命令将 vim 的编码更改为 utf-8 :set encoding=utf-8。我收到了不同的错误。我对 dvi 进行了干净的编译。但是,dvips 抱怨缺少字体(yap 也尝试构建这些缺少的字体)。

Trying to make PK font cyberbc5 at 600 DPI...
Running miktex-makemf.exe...
miktex-makemf: The cyberbc source file could not be found

答案1

问题的关键在于,当您使用CJK包时,您必须指定输入编码和 CJK 字体系列,无论是使用CJK环境还是使用\CJKencoding命令\CJKfamily;并且您必须确保已安装字体。(CJK 字体并不总是完全安装的。)

不同的 TeX 发行版安装了不同的 CJK 字体。

在 MiKTeX(如您使用)中,cjk-fonts打包myoungjoType1 字体,但似乎没有.tfm文件和 LaTeX 字体定义(.fd)文件来支持这些文件。抱歉,如果不修改文件,我无法制作任何工作示例。

在 TeX Live 中,安装了 UTF-8 编码和uhc字体包后,只有mj韩文可用的字体系列。(而gbsn适用gbsn于中文bsmibkai适用于日文。)

UTF8这是一个使用输入编码的示例(与KS您使用的不同):

% UTF-8 encoding, compile with pdflatex / latex+dvips / latex+dvipdfmx, TeX Live 2012
\documentclass{article}
\usepackage{CJK}
\begin{document}
The following should be in Korean
\begin{CJK}{UTF8}{mj}
안녕하세요
\end{CJK}
The previous should be in Korean
\end{document}

如果您使用KS输入编码(标准 KS X 1001:1992、KS C 5601-1992,请参阅文档CJK.txt),则有更多字体可用,但您可能必须安装hlatex 字体手动打包。对于大多数用户来说,这是一个高级话题,这里我就不做过多解释了。

关于该软件包和其他支持 CJK 脚本的软件包的英文文档很少CJK,但您可以访问中国、日本或韩国的 TeX 群组/论坛/网站以获取更多信息。

我是中国人,因此我对 LaTeX 中原生韩文字体的支持了解甚少。也许你可以搜索 HLaTeX。我知道韩语 TeX 用户组(KTUG)有自己修改过的 TeX Live 发行版,预装了更多韩文字体,并且乳胶漆。(我们中国人也这么做。)您可能会考虑安装这些 TeX 发行版。


另外,您可以考虑将 XeLaTeX 与我们的xeCJK软件包一起使用。例如:

% UTF-8 encoding, compile with xelatex, TeX Live 2012
\documentclass{article}
\usepackage[space]{xeCJK} % space option is useful for Korean
\setCJKmainfont{Batang}   % a Windows font
\begin{document}
The following should be in Korean
안녕하세요
The previous should be in Korean
\end{document}

注:xeCJK最初是为中文设计的,但也支持日语和韩语(我们希望它会更好)。确实有一个韩文原生的 XeTeX 包xetexko,可在韩国铁路运输协会,但我对此一无所知。

答案2

要标记代码,请选择它,然后单击带有两个括号的图标。或者只需在每行前添加四个空格。但如果 - 就像您的情况一样 - 编码很重要,最好将测试文件放在 zip 文件夹中并放在某个可下载的地方,因为复制和粘贴很容易更改编码。

我不太了解 cjk-fonts(你应该阅读 Leo Liu 的回答以获得更多见解https://tex.stackexchange.com/users/2674/leo-liu)但是当我使用 pdflatex 进行编译时,这对我有用(该文件是 utf8 编码的):

\documentclass{article} 
\pdfmapline{+cyberb@Unicode@  <cyberbit.ttf}

\usepackage{CJK} 
\begin{document} The following should be in Korean 
\begin{CJK}{UTF8}{} 안녕하세요 \end{CJK}
\end{document}

您必须有cyberbit.ttf(就我而言,它安装在我的标准 Windows 字体文件夹中)。

相关内容