![lualatex(带有 fontspec)仅通过字体文件名查找字体](https://linux22.com/image/369552/lualatex%EF%BC%88%E5%B8%A6%E6%9C%89%20fontspec%EF%BC%89%E4%BB%85%E9%80%9A%E8%BF%87%E5%AD%97%E4%BD%93%E6%96%87%E4%BB%B6%E5%90%8D%E6%9F%A5%E6%89%BE%E5%AD%97%E4%BD%93.png)
我无法让 lualatex (MacTeX2017,今天早上更新) 使用字体名称。它似乎只想使用字体文件名字。
% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = LuaLaTeX
\documentclass{article}
\usepackage{fontspec}
%% This works:
\setmainfont{GalliardPro-Roman}[%
BoldFont=GalliardPro-Bold,
ItalicFont=GalliardPro-Italic,
BoldItalicFont=GalliardPro-BoldItalic]
%% This does not:
%\setmainfont{ITC Galliard Pro Roman}
\begin{document}
Some text. \textbf{Some text.} \emph{Some Text.} \textbf{\emph{Some Text.}}
\end{document}
如果我使用字体名称作为参数\setmainfont
,我会收到此错误:
luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
./mwe-lua.tex:15: fontspec error: "font-not-found"
!
! The font "ITCGalliardProRoman" cannot be found.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
l.15 \setmainfont{ITC Galliard Pro Roman}
我已将符号链接放在 ~/Library/Fonts 中的字体文件上,luaotfload-tool 似乎对此很满意。但是,查看 luaotfload-names.lua(来自 ~/Library/texlive/2017/texmf-var/luatex-cache/generic/names),我注意到["plainname"]="GalliardPro-Roman"
给出的是“ITC Galliard Pro Roman”,而在前几年(例如 2015 年),给出的是["plainname"]="ITC Galliard Pro Roman"
如果必须的话,使用字体文件名对我来说没有实质性的问题(尽管文档fontspec
指出可以使用字体名称或字体文件名),但宁愿使用字体名称来方便。
困惑。