使用 XeLaTeX 和 fontspec 包时,我在使用名称中包含空格字符的字体时遇到了问题。这是一个简单的例子:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\begin{document}\end{document}
xelatex
出现错误时给出:
kpathsea: Invalid fontname `Times New Roman', contains ' '
我以前使用过这种字体,当我重新安装操作系统(Ubuntu 11.04)和 TeXlive2011 时,以前有效的示例就停止工作了。
答案1
您看到的错误通常是在fontspec
根本找不到字体时发生的。它通常会伴随以下更有用的错误fontspec
:
kpathsea: Invalid fontname `A Funny Font', contains ' '
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
./kpathsea-test.tex:4: fontspec error: "font-not-found"
!
! The font "A Funny Font" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.4 \setmainfont{A Funny Font}
也许您的编辑环境隐藏了一些控制台输出。
任何在常规应用程序(例如 Open Office)中可用的字体都应该可以通过 找到fontspec
。因此,您应该在操作系统更新后检查系统上是否确实可以使用“Times New Roman”。