Использование OTF с MiKTeX, XeLaTeX в Windows

Использование OTF с MiKTeX, XeLaTeX в Windows

Установите бесплатные шрифты Cabin Open Type в свой домашний каталог. Рассмотрите этот файл как скомпилированный с помощью XeLaTeX:

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Cabin}

\begin{document}

{\scshape test}

\end{document}

Используйте MiKTeX на Windows. Когда пакет cabinустановлен, то маленькие заглавные буквы игнорируются. Когда он не установлен, то результат тот, что и требовалось.

При компиляции в Linux с использованием TeX Live результат всегда будет таким, как хотелось бы, независимо от того, установлен пакет или нет.

Та же проблема с FiraSans. Есть идеи, как это решить?

решение1

Как предположила Ульрике Фишер в комментариях и как описано вhttps://tex.stackexchange.com/a/87906/2388, проблема в том, что MiKTeX ищет в texmfдереве и сначала использует шрифты Type 1. Если вы хотите использовать шрифты как с pdfTeX, так и с XeLaTeX, то лучшим решением будет запретить MiKTeX использовать шрифты Type 1. (Однако, если вы хотите использовать шрифты только с XeLaTeX, то просто удалите соответствующий пакет вместе со шрифтами в дереве texmf.)

Вот что я сделал FiraSans(на Windows 7). Нашел файл localfont2.confи C:\Documents and Settings\UserName\Application Data\MikTeX\2.9\fontconfig\configдобавил эти строки (у меня установлен MiKTeX в C:\miktex29):

<selectfont>
<rejectfont>
<glob>C:/miktex29/fonts/type1/public/fira/*</glob>
</rejectfont>
</selectfont>

Затем обновил FNDB и обновил форматы в настройках MiKTeX. После этого компиляция MWE (замена Cabinна FiraSans) с XeLaTeX дала ожидаемый результат.

Связанный контент