我想使用安装在/Library/Fonts/GillSans.ttc
Mac 上的 Gill Sans 字体。根据fontspec
文档,我应该能够通过指定字体索引来使用 TrueType Collections。文档声称这应该适用于 LuaTeX,但我无法让它工作。
对 TrueType Collections 的支持仅在 XeTeX 中进行了测试,但也应适用于最新版本的 LuaTeX 和
luaotfload
包。
以下最小文档在使用 Gill Sans 的情况下可以工作,并且似乎甚至可以通过定义新的字体系列来使用字体的特定粗细/形状,但它无法\setmainfont
使用如下命令\textbf{}
,\textit{}
、ETC。,如编译该文档的输出屏幕截图所示。
\documentclass{article}
\usepackage{fontspec}
\setmainfont[
Ligatures=TeX,
Extension=.ttc,
UprightFeatures={FontIndex=0},
BoldFeatures={FontIndex=4},
ItalicFeatures={FontIndex=2},
BoldItalicFeatures={FontIndex=5}]{GillSans}
\newfontfamily\SemiBold[
Ligatures=TeX,
Extension=.ttc,
UprightFeatures={FontIndex=4}]{GillSans}
\begin{document}
\textbf{asdf}
\textit{asdf}
asdf
\textbf{\textit{asdf}}
{\SemiBold asdf}
\end{document}
有人知道问题可能是什么以及如何解决吗?日志显示以下内容:
LaTeX Font Warning: Font shape `TU/GillSans(0)/b/n' undefined
(Font) using `TU/GillSans(0)/m/n' instead on input line 18.
LaTeX Font Warning: Font shape `TU/GillSans(0)/m/it' undefined
(Font) using `TU/GillSans(0)/m/n' instead on input line 19.
LaTeX Font Warning: Font shape `TU/GillSans(0)/b/it' undefined
(Font) using `TU/GillSans(0)/b/n' instead on input line 21.
此外,在 shell 中运行以下命令
luaotfload-tool --find 'Gill Sans SemiBold' -i
返回以下内容,这表明上述文档应该可以通过索引 4 选出半粗体字体作为 BoldFont:
luaotfload | resolve : Font "Gill Sans SemiBold" found!
luaotfload | resolve : Resolved file name "/Library/Fonts/GillSans.ttc", subfont nr. 4
** 1 Gill Sans SemiBold ********************************************************
ascender: 1487
averagewidth: 1154
boundingbox: <table>
1: -1162
2: -512
3: 2279
4: 1931
capheight: 1397
defaultvheight: 0
descender: -561
family: Gill Sans
fontname: GillSans-SemiBold
fullname: Gill Sans SemiBold
italicangle: 0.0
monospaced: false
panoseweight: demi
panosewidth: normal
pfmweight: 600
pfmwidth: 5
platformnames: <table>
macintosh: <table>
family: Gill Sans
fullname: Gill Sans SemiBold
postscriptname: GillSans-SemiBold
subfamily: SemiBold
windows: <table>
family: Gill Sans
fullname: Gill Sans SemiBold
postscriptname: GillSans-SemiBold
subfamily: SemiBold
subfamily: SemiBold
subfontindex: 4
units: 2048
version: 13.0d1e4
weight: semibold
width: normal
xheight: 934
我正在使用 MacTeX 2020、的 v3.14/2020-05-06luaotfload-tool
和的 v2.7i fontspec
。
答案1
当使用 ttc 文件时,您不应该使用Extension
而应该直接添加.ttc
到名称中,否则会检测得太晚,您必须手动设置ItalicFont
// BoldFont
:BoldItalicFont
\documentclass{article}
\usepackage{fontspec}
\setmainfont[
Ligatures=TeX,
UprightFeatures={FontIndex=0},
BoldFeatures={FontIndex=4},
ItalicFeatures={FontIndex=2},
BoldItalicFeatures={FontIndex=5}]{GillSans.ttc}
\newfontfamily\SemiBold[
Ligatures=TeX,
Extension=.ttc,
UprightFeatures={FontIndex=4}]{GillSans}
\begin{document}
\textbf{asdf}
\textit{asdf}
asdf
\textbf{\textit{asdf}}
{\SemiBold asdf}
\end{document}