我在 Windows 上安装了一些字体,例如“HelveticaNeueLT Pro 53 Ex.otf”,但我的 XeLaTeX 找不到该字体。这是我的代码:
\font\headers="HelveticaNeueLT Pro 53 Ex:letterspace=5" at 20pt
\font\SectionHeaders="HelveticaNeueLT Pro 53 Ex:letterspace=5" at 14pt
我收到的错误是:
Couldn't find `HelveticaNeueLT Pro 53 Ex:letterspace.cfg'
miktex-maketfm: No creation rule for font "HelveticaNeueLT Pro 53 Ex:letterspace=5".
! Font \headers="HelveticaNeueLT Pro 53 Ex:letterspace=5" at 20.0pt not loadabl e: Metric (TFM) file or installed font not found. l.36 ...icaNeueLT Pro 53 Ex:letterspace=5" at 20pt
答案1
使用fc-list
命令列出电脑中所有可用字体的全名。结果可能会滚动很多页,所以最好把它们放在一个文件中。
fc-list > fontnames.txt
然后打开生成的文件并查看可以使用的字体名称。例如,您可以在文件中看到这些fontnames.txt
:
Minion Pro:style=Bold Italic
Minion Pro:style=Regular
Minion Pro:style=Italic
Minion Pro:style=Bold
因此你可以将其用作Minion Pro
字体名称。例如,
% plain TeX
\font\minion="Minion Pro"
{\minion This is Minion font.}
\bye
最好使用 LaTeX fontspec
。例如:
\usepackage{fontspec}
\setmainfont{Minion Pro}
fontspec
更多用法请参阅手册。
答案2
要通过文件名加载字体,必须将其括在方括号中:
\font\headers="[HelveticaNeueLT Pro 53 Ex.otf]:letterspace=5" at 20pt
\font\SectionHeaders="[HelveticaNeueLT Pro 53 Ex.otf]:letterspace=5" at 14pt
即使字体未安装在系统目录中(例如当前目录或 TeX 目录结构中的字体),它也能正常工作。您必须找到内部字体名称(与文件名不同),才能通过字体名称加载字体。
答案3
正如我指出的那样,我是新手。必须使用“fontspec”包才能使用系统上安装的字体。
我使用以下代码来解决我的问题:
\usepackage[T1]{fontenc}
\usepackage{fontspec}
答案4
强调一些字体在原始问题中,字体在系统中安装的方式也可能影响包是否fontspec
能找到它们。
如果为所有用户安装了字体(可能需要管理员权限),它们通常存储在文件夹中C:\Windows\Fonts
。如果您恰好通过双击相应文件来安装字体,它将存储在用户特定的文件夹中,例如C:\Users\Username\AppData\Local\Microsoft\Windows\Fonts
在 Windows 10 中。后者通常不会被 LaTeX 自动搜索。
根据您的 LaTeX 发行版,您可以更改 XeTeX 搜索已安装字体的文件夹,如中所述另一个问题。
然而,正如所讨论的,这对 LuaTeX 不起作用这里。