MiKTeX 2.9 中 XeLaTeX 的 'fontspec' 包问题

MiKTeX 2.9 中 XeLaTeX 的 'fontspec' 包问题


最近,我更新到了 MiKTeX 2.9,之后 xelatex 编译器在编译包含该fontspec包的文档时失败。换句话说,以下代码无法编译:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Cambria}

\begin{document}
Hello world!
\end{document}

我不知道更新到 MiKTeX 2.9 后发生了什么变化,但我在 TeXnicCenter 中收到以下构建日志消息:

(“C:\Program Files\MiKTeX 2.9\tex\latex\euenc\eu11mr.fd”)
xelatex.exe:Windows API 错误 1113:没有 Unicode 字符的映射
存在于目标多字节代码页中。

在 TeXWorks 中编译时似乎也存在同样的问题。

我尝试重新安装 MiKTeX 2.9 以确保一切都是最新的,但这没有帮助。

有人知道我该如何解决这个问题吗?非常感谢您的回答。

编辑:

以下是具体内容的列表:

  • 所有过时的软件包都已更新,并且文件名数据库也已刷新。
  • 我在编译时确实得到了一个日志文件。唯一没有得到的文件是 pdf 输出。
  • 我使用的操作系统是Windows Vista。
  • cmd xelatex --no-pdf file(终端)命令给出与上面引用相同的错误消息。
  • 我的用户名确实包含非 ASCII 字符。但是这些字符均不在 Latin-1 字符集范围之内。
  • 没有其他文件或文件夹具有非 ASCII 字符。

答案1

我收到了相同的错误信息:

pdflatex:Windows API 错误 1113:目标多字节代码页中不存在 Unicode 字符的映射。

安装了最新更新(Miktex 2.9 和所有可用更新,安装于 2011-12-24)。大约半年前,该文件运行正常。

出现该问题的原因是我在使用 \includegraphics 时在文件名中使用了斯堪的纳维亚字符:

\includegraphics[width=8cm,height=7cm,keepaspectratio]{å}

当我将文件从 å.jpg 重命名为 ae.jpg 时,错误消息消失了:

\includegraphics[width=8cm,height=7cm,keepaspectratio]{ae}

您遇到的问题可能与文件名中的字符编码有关。

希望这可以帮助任何因类似原因而收到该错误消息的人。

答案2

这肯定是 Windows 中 xetex 的构建问题 — 我以前从未见过这种错误。尝试加载没有 fontspec 的字体:

\font\x="Cambria" at 12 pt \x hello

这应该会产生类似的问题,您可以向 MiKTeX 支持报告。

答案3

您的计算机上没有 Cambria 字体。请尝试一些标准字体,例如 Tahoma。如果可以,则与 MiKTeX 2.9 无关。

相关内容