XeLaTeX e Roboto: sem ligaduras

XeLaTeX e Roboto: sem ligaduras

Estou tentando usar oFamília de fontes Robotocom XeLaTeX (ou LuaLaTeX).

Quando estou escrevendo um documento no XeLaTeX, nenhuma ligadura é usada (mas são usadas no Android, então as ligaduras devem estar lá).

otfinfo do LCDF typetools mostra com a opção --features, que liga está disponível. Eu uso o MiKTeX no Windows 8.1.

Aqui está um exemplo mínimo de trabalho:

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

Responder1

(Mais de um ano se passou desde que a consulta foi postada inicialmente. No entanto, a resposta a seguir ainda pode ser útil para algumas pessoas.)

A chave para fazer com que este programa seja executado no XeLaTeX parece ser definir a Pathopção corretamente ao emitir a instrução \setmainfont. A versão modificada do seu código a seguir pressupõe que você use TeXLive2015 (ou MacTeX2015); simplesmente altere a variável Path apropriadamente se a fonte estiver localizada em algum lugar diferente de /usr/local/texlive/2015/texmf-dist/fonts/truetype/google/roboto/.

insira a descrição da imagem aqui

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

Em contraste, LuaLaTeX não parece precisar da Pathopção para “encontrar” os arquivos de fontes. Na verdade, a emissão da instrução

\setmainfont{Roboto}

parece ser tudo o que é necessário para o programa funcionar corretamente no LuaLaTeX.

informação relacionada