我正在尝试在工作中设置 TeX 系统,但我没有管理员权限。所以我选择了 MiKTeX 便携式版。它“安装”在我的桌面上。我想fontspec
与 XeLaTeX 一起使用,以便能够选择我想要的字体。
我可以编译一个普通文档,但是当我尝试使用时fontspec
,XeLaTeX 会抛出一个错误:
! Undefined control sequence.
<argument> \c_keys_code_root_tl
fontspec/Ligatures/Historical
l.8 ...tureoption{Ligatures}{Historic}{Historical}
可以通过按 Enter 键忽略。但随后出现了严重错误:
(c:\Users\**********\Desktop\Miktex\tex\latex\metalogo\metalogo.sty))Running miktex-makemf.exe...
miktex-makemf: The Charis SIL source file could not be found.
Running hbf2gf.exe...
hbf2gf (CJK ver. 4.8.0)
Couldn't find `Charis S.cfg'
miktex-maketfm: No creation rule for font "Charis SIL".
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! fontspec error: "font-not-found"
!
! The font "Charis SIL" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.10 \setmainfont{Charis SIL}
% set the main body font (\textrm), assumes Ch...
我试过几种字体,但都不起作用。谷歌搜索错误消息也没有用。有人有什么建议吗?
差点忘了发布文档:
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
\documentclass[11pt]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont{Charis SIL} % set the main body font (\textrm), assumes Charis SIL is installed
\begin{document}
Hello World
\end{document}
答案1
您的字体规范版本已过时。\c_keys_code_root_tl
已从 l3 代码和字体规范代码中删除。如果 xetex 可以找到字体,其余代码应该可以工作。但您可能必须先使用命令更新字体缓存fc-cache
。