Problema ao usar fontes .ttf com XeLaTeX

Problema ao usar fontes .ttf com XeLaTeX

Tenho algumas .ttffontes ~/Library/Fontsque gostaria de usar com o XeLaTeX, mas não consigo encontrá-las. Por exemplo, isso irá compilar:

\documentclass[]{article}
\usepackage{fontspec}
\setmainfont{Times New Roman}

\begin{document}
The quick brown fox jumps over the lazy dog.
\end{document}

Mas isso não vai:

\documentclass[]{article}
\usepackage{fontspec}
\setmainfont{Times New Roman.ttf}

\begin{document}
The quick brown fox jumps over the lazy dog.
\end{document}

E sim, Times New Roman.ttfestá dentro ~/Library/Fonts.

Responder1

Você parece ter um mal-entendido sobre a pesquisa de fontes de xetex. Os diferentes mecanismos de pesquisa são descritos em detalhes noManual do XeTeX, mas tentarei resumir um pouco as coisas para obter uma resposta.

Se você fornecer um nome de fonte, por exemplo, Times New Roman, como no primeiro exemplo, onde você chama

\setmainfont{Times New Roman}

então o XeTeX usará o utilitário de fontes do seu sistema para pesquisar a fonte. No GNU/Linux isso geralmente é fontconfig. O XeTeX dirá fontconfig“Onde está a fonte com o nome «Times New Roman»?”, e fontconfigresponderá algo como “Está localizada em .fonts/Times New Roman/Times New Roman.ttf.” Então o XeTeX prosseguirá com a chamada xdvipdfmque carrega a fonte desse arquivo.

Se você fornecer um nome de arquivo em vez de um nome de fonte, por exemplo Times New Roman.ttf, como em

\setmainfont{Times New Roman.ttf}

então o XeTeX passará imediatamente ao xdvipdfmutilitário para incluir a fonte desse arquivo, ou seja, do Times New Roman.ttfdiretório atual ou kpathseada texmfárvore.

É aconselhável instalar fontes como fontes do sistema, de forma que você não tenha múltiplas cópias de uma fonte flutuando em seus diretórios. Se isso não for possível por qualquer motivo, você deve colocar os arquivos de fontes ao lado do seu documento no mesmo diretório ou talvez, se usar muitas fontes, em uma subpasta exclusivamente dedicada às fontes. Você pode então carregar as fontes por seus caminhos relativos, como em

\setmainfont{fonts/Times New Roman.ttf}

NB: Não gosto de espaços nos nomes dos arquivos, porque alguns softwares tendem a quebrar se você não escapar deles corretamente.

informação relacionada