XeLaTeX und Roboto: Keine Ligaturen

XeLaTeX und Roboto: Keine Ligaturen

Ich versuche, dieRoboto Schriftfamiliemit XeLaTeX (oder LuaLaTeX).

Wenn ich ein Dokument in XeLaTeX schreibe, werden keine Ligaturen verwendet (unter Android werden sie jedoch verwendet, daher sollten Ligaturen vorhanden sein).

otfinfo von den LCDF-Typetools zeigt mit der Option --features, dass Liga verfügbar ist. Ich verwende MiKTeX unter Windows 8.1.

Hier ist ein minimales funktionierendes Beispiel:

\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}

Antwort1

(Seit der ersten Veröffentlichung der Anfrage ist mehr als ein Jahr vergangen. Die folgende Antwort könnte für manche Leute jedoch immer noch nützlich sein.)

Der Schlüssel, um dieses Programm unter XeLaTeX laufen zu lassen, scheint darin zu liegen, die PathOption bei der Ausgabe der Anweisung richtig einzustellen \setmainfont. Die folgende, geänderte Version Ihres Codes geht davon aus, dass Sie TeXLive2015 (oder MacTeX2015) verwenden. Ändern Sie einfach die Pfadvariable entsprechend, wenn sich die Schriftart an einem anderen Ort als befindet /usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/.

Bildbeschreibung hier eingeben

\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}

Im Gegensatz dazu scheint LuaLaTeX diese PathOption nicht zu benötigen, um die Schriftdateien zu „finden“. Tatsächlich führt die Anweisung

\setmainfont{Roboto}

scheint alles zu sein, was nötig ist, damit das Programm unter LuaLaTeX korrekt ausgeführt wird.

verwandte Informationen