![шрифты pdflatex в lualatex](https://rvso.com/image/405349/%D1%88%D1%80%D0%B8%D1%84%D1%82%D1%8B%20pdflatex%20%D0%B2%20lualatex.png)
Моя компания предоставляет шаблон pdflatex для документов, которые я редактирую. В частности, некоторые заголовки используют шрифт, который Adobe Reader называет URWGroteskT-Bold
. Этот эффект достигается следующим образом (отдельный документ, который может быть скомпилирован pdflatex
):
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\newcommand{\fontcommand}[1]{{\fontfamily{ugq}\selectfont #1}} % command taken from company's style sheet, not sure what it actually does
\begin{document}
\fontcommand{The quick brown fox jumps over the lazy dog.}
\end{document}
Я хочу воспроизвести то же самое поведение при компиляции с помощью lualatex
. ПрочитавКак использовать определенный шрифт для небольшого фрагмента текста в документе?Я попробовал сделать следующее:
\documentclass{standalone}
\usepackage{fontspec}
\newfontfamily\specialfont{Grotesk T}
\begin{document}
{\specialfont The quick brown fox jumps over the lazy dog.}
\end{document}
что не удалось, потому что ! Package fontspec Error: The font "GroteskT" cannot be found.
я, кажется, перепробовал все возможные варианты имени шрифта (Grotesk/Grotesque, с T или без, с URW или без и т. д.)
Я полагаю, это связано с тем, что шрифт не установлен на уровне ОС, а:
- откуда pdflatex берет файлы, используемые для шрифта?
- можно ли заставить lualatex извлечь те же файлы, и как?
решение1
TheURW ГротескШрифт доступен только как шрифт PostScript Type 1 и поэтому не может использоваться через fontspec
. Однако старые команды переключения шрифтов все еще работают, если вы также измените кодировку шрифта:
\newcommand{\fontcommand}[1]{{\fontencoding{T1}\fontfamily{ugq}\selectfont #1}}
Это можно использовать с pdflatex и lualatex, например:
\documentclass{standalone}
\usepackage{fontspec}
\newcommand{\fontcommand}[1]{{\fontencoding{T1}\fontfamily{ugq}\selectfont #1}}
\begin{document}
\fontcommand{The quick brown fox jumps over the lazy dog.}
\end{document}
решение2
Поскольку у вас уже есть шрифты Type 1, ответ Ральфа Штубнера, вероятно, будет для вас более практичным. Однако URW Grotesk — это коммерческий шрифт, также доступный в форматах TrueType и OpenType. Ваша компания могла приобрести шрифт OpenType, который вы можете использовать с помощью простых (но устаревших) команд
\usepackage{fontspec}
\defaultfontfeatures{Scale = MatchLowercase}
\setsansfont{URW Grotesk}
В этом случае вы должны заменить \fontfamily{ugq}
на \sffamily
. Если это не сработает, вы можете использовать более новый интерфейс:
\setsansfont{URWGrotesk}[
UprightFont = *-Reg ,
BoldFont = *-Bol ,
ItalicFont = *-RegIta ,
BoldItalicFont = *-BolIta ,
Extension = .otf
]
Поскольку исходный шаблон и, возможно, другие устаревшие документы ссылаются на семейство шрифтов NFSS, вы можете сохранить совместимость, добавив параметр внутри квадратных скобок . NFSSFamily = ugq
Это должно позволить команде, которую вы дали, продолжать работать. Вы также можете сохранить похожее определение в файле с именем URWGrotesk.fontspec
и использовать его, чтобы ваши исходные документы были красивыми и простыми. В этом случае обязательно добавьте Ligatures = Common
внутри квадратных скобок. Это было значение по умолчанию для \setmainfont
и \setsansfont
, но его необходимо указать для \newfontfamily
.
Если это невозможно, то наиболее близкими бесплатными заменами будут клоны Helvetica, такие как Geneva, Arial, TeX Gyre Heros или Nimbus Sans.