Установка резервных шрифтов с малыми заглавными буквами в fontspec

Установка резервных шрифтов с малыми заглавными буквами в fontspec

Шрифт Times New Roman на моем Mac не имеет форм малых капителей. Поэтому я хочу установить TeX Gyre Termes в качестве резервного шрифта малых капителей.

Использование TeX Gyre Termes в качестве основного шрифта

\documentclass{article}
\usepackage{fontspec}
\setmainfont{texgyretermes}%
  [
    Extension      = .otf,
    UprightFont    = *-regular,
    BoldFont       = *-bold,
    ItalicFont     = *-italic,
    BoldItalicFont = *-bolditalic
  ]
\begin{document}

hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}

\end{document}

Результат удовлетворительный, как можно увидеть ниже:

введите описание изображения здесь

Использование Times New Roman в качестве основного шрифта

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}
\begin{document}

hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}

\end{document}

Как видно из журнала, шрифтовые формы и m/scотсутствуют .b/scm/scit

введите описание изображения здесь

Использование TeX Gyre Termes в качестве резервного варианта

Согласно руководству по шрифтам, мы можем установить резервную копию малых заглавных букв следующим образом:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
  [
    SmallCapsFont     = TeX Gyre Termes,
    SmallCapsFeatures = {Letters=SmallCaps}
  ]
\begin{document}

hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}

\end{document}

Приведенный выше пример может быть скомпилирован только lualatex(поскольку пользователи macOS не могут использовать шрифты в дереве texmf по имени шрифта при использовании xelatex). Однако lualatexни один из них не может дать удовлетворительного результата:

введите описание изображения здесь

После установки шрифта TeX Gyre Termes в мою систему его xelatexтоже можно использовать, но результат будет таким же, как на скриншоте выше.

Вопрос

Без необходимости установки TeX Gyre Termes в системукак правильно настроить резервный шрифт с малыми заглавными буквами в обеих ОС xelatexи lualatexдля пользователей macOS?

решение1

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
  [
   BoldFeatures = 
     {SmallCapsFont={TeX Gyre Termes Bold},
      SmallCapsFeatures = {Letters=SmallCaps}} ,
   ItalicFeatures = 
    {SmallCapsFont={TeX Gyre Termes Italic},
     SmallCapsFeatures = {Letters=SmallCaps}} ,
  ]
\begin{document}

hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\textbf{\textit{\textsc{hello}}}
\end{document}

введите описание изображения здесь

В системе, где шрифты в дереве texmf не могут быть найдены по имени файла, это может сработать (не проверено)

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}%
  [
   BoldFeatures = 
     {SmallCapsFont={texgyretermes-bold},
      SmallCapsFeatures = {Extension=.otf,Letters=SmallCaps}} ,
   ItalicFeatures = 
    {SmallCapsFont={texgyretermes-italic},
     SmallCapsFeatures = {Extension=.otf,Letters=SmallCaps}} ,
  ]
\begin{document}

hello
\textsc{hello}
\textbf{\textsc{hello}}
\textit{\textsc{hello}}
\textbf{\textit{\textsc{hello}}}
\end{document}

Связанный контент