Я пытаюсь использоватьСемейство шрифтов Robotoс XeLaTeX (или LuaLaTeX).
Когда я пишу документ в XeLaTeX, лигатуры не используются (но на Android они используются, поэтому лигатуры должны быть).
otfinfo из LCDF typetools показывает с опцией --features, что liga доступна. Я использую MiKTeX на Windows 8.1.
Вот минимальный рабочий пример:
\documentclass[
11pt,
a4paper
]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont[
ExternalLocation,
Extension=.ttf,
UprightFont=*-Regular,
ItalicFont=*-Italic,
BoldFont=*-Bold,
BoldItalicFont=*-BoldItalic,
Ligatures=Common
]{Roboto}
\begin{document}
fi
\end{document}
решение1
(Прошло больше года с момента первоначальной публикации запроса. Тем не менее, следующий ответ все еще может быть полезен для некоторых людей.)
Ключ к запуску этой программы под XeLaTeX, по-видимому, заключается в Path
правильной установке параметра при выдаче инструкции \setmainfont
. Следующая измененная версия вашего кода предполагает, что вы используете TeXLive2015 (или MacTeX2015); просто измените переменную Path соответствующим образом, если шрифт расположен в другом месте, чем /usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/
.
\documentclass[11pt, a4paper]{scrartcl}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures={TeX,Common}}
\setmainfont[
Path = /usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/,
Extension = .ttf,
UprightFont = *-Regular,
ItalicFont = *-RegularItalic,
BoldFont = *-Bold,
BoldItalicFont = *-BoldItalic,
]{Roboto}
\begin{document}
Ligatures enabled: fi fl ffi ffl
Ligatures disabled: f\kern0pti f\kern0ptl f\kern0ptf\kern0pti f\kern0ptf\kern0ptl
\end{document}
Напротив, LuaLaTeX, похоже, не нуждается в этой Path
опции, чтобы «найти» файлы шрифтов. Фактически, выдача инструкции
\setmainfont{Roboto}
Похоже, это все, что нужно для корректной работы программы под LuaLaTeX.