
Я хотел бы использовать шрифт Gill Sans, который установлен /Library/Fonts/GillSans.ttc
на моем Mac. Согласно документации fontspec
, я должен иметь возможность использовать коллекции TrueType, указав индекс шрифта. В документации утверждается, что это должно работать с LuaTeX, но у меня возникли проблемы с его запуском.
Поддержка коллекций TrueType была протестирована только в XeTeX, но должна работать и с последней версией LuaTeX и пакета
luaotfload
.
Следующий минимальный документ работает, поскольку он использует Gill Sans, и кажется возможным даже использовать определенные начертания/формы шрифта, определив новое семейство шрифтов, но он не работает \setmainfont
и не позволяет использовать такие команды, как \textbf{}
, \textit{}
,и т. д., как видно на снимке экрана с результатами компиляции этого документа.
\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.
Более того, запуск следующей команды в оболочке
luaotfload-tool --find 'Gill Sans SemiBold' -i
возвращает следующее, что предполагает, что приведенный выше документ должен работать для выделения полужирного шрифта как BoldFont с помощью индекса 4:
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-06 из luaotfload-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}