为什么我无法使用在 Windows 系统上安装的某些字体?

为什么我无法使用在 Windows 系统上安装的某些字体?

我在 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 不起作用这里

相关内容