XeLaTeX y Roboto: Sin Ligaduras

XeLaTeX y Roboto: Sin Ligaduras

Estoy tratando de usar elFamilia de fuentes Robotocon XeLaTeX (o LuaLaTeX).

Cuando escribo un documento en XeLaTeX, no se usan ligaduras (pero sí se usan en Android, por lo que las ligaduras deberían estar ahí).

otfinfo de LCDF typetools muestra con la opción --features, que liga está disponible. Yo uso MiKTeX en Windows 8.1.

Aquí hay un ejemplo de trabajo mínimo:

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

Respuesta1

(Ha pasado más de un año desde que se publicó inicialmente la consulta. Sin embargo, la siguiente respuesta aún puede resultar útil para algunas personas).

La clave para lograr que este programa se ejecute bajo XeLaTeX parece ser configurar la Pathopción correctamente al emitir la instrucción \setmainfont. La siguiente versión modificada de su código supone que utiliza TeXLive2015 (o MacTeX2015); simplemente cambie la variable Ruta de manera apropiada si la fuente se encuentra en algún lugar que no sea /usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/.

ingrese la descripción de la imagen aquí

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

Por el contrario, LuaLaTeX no parece necesitar la Pathopción para "encontrar" los archivos de fuentes. De hecho, al emitir la instrucción

\setmainfont{Roboto}

parece ser todo lo que se necesita para que el programa se ejecute correctamente en LuaLaTeX.

información relacionada