Функция отслеживания Microtype работает с некоторыми шрифтами, но не работает с другими

Функция отслеживания Microtype работает с некоторыми шрифтами, но не работает с другими

В коде ниже отслеживание работает сlibertineшрифт, но не сAlegreyaШрифт. Почему так и как это исправить?

\documentclass{article}
\usepackage[tracking = true, letterspace = 100]{microtype}
\usepackage{libertine} % <- tracking works with small caps 
%\usepackage{Alegreya} % <- tracking does not work with small caps 
\begin{document}
\textls{ABCD} \textsc{abcd} \textls{\textit{ABCD \textsc{abcd}}}
\end{document}

распутник:

введите описание изображения здесь

Алегрея:

введите описание изображения здесь

решение1

с Alegreya малые капители являются семейством, а не формой, поэтому настройки по умолчанию микротипа на них не влияют. Вы должны активировать отслеживание самостоятельно:

\documentclass{article}
\usepackage[tracking = true, letterspace = 500]{microtype}


\usepackage{Alegreya} % <- tracking does not work with small caps
\DeclareMicrotypeSet*[tracking]{alegreyasc}   
{ font = */AlegreyaSC-TLF/*/*/* }

\begin{document}
\textit{ABCD} \textsc{abcd} 
\end{document}

решение2

Вы можете использовать otfinfoкоманду для поиска информации о конкретном шрифте OpenType или TrueType. В частности, используйте флаг -fдля поиска информации о функциях, которые он поддерживает.

Похоже, что в отличие от Libertine (который является OpenType), римская версия шрифта Alegreya (который является TrueType) не имеет малых капителей. Поэтому малые капители, которые вы видите, изначально не поддерживаются шрифтом.

Я не эксперт в шрифтах и ​​не могу сказать, почему это имеет значение для механизма отслеживания microtype. Если вы добавите \textls, это будет работать и для Alegreya.

Сравнивать:

$ otfinfo -f /usr/local/texlive/2014/texmf-dist/fonts/opentype/public/libertine/LinLibertine_R.otf
aalt    Access All Alternates
c2sc    Small Capitals From Capitals
case    Case-Sensitive Forms
ccmp    Glyph Composition/Decomposition
cpsp    Capital Spacing
dlig    Discretionary Ligatures
fina    Terminal Forms
frac    Fractions
hlig    Historical Ligatures
kern    Kerning
lfbd    Left Bounds
liga    Standard Ligatures
lnum    Lining Figures
mark    Mark Positioning
mkmk    Mark to Mark Positioning
nalt    Alternate Annotation Forms
onum    Oldstyle Figures
pnum    Proportional Figures
rtbd    Right Bounds
salt    Stylistic Alternates
sinf    Scientific Inferiors
smcp    Small Capitals
ss01    Stylistic Set 1
ss02    Stylistic Set 2
ss03    Stylistic Set 3
ss04    Stylistic Set 4
ss05    Stylistic Set 5
ss06    Stylistic Set 6
sups    Superscript
tnum    Tabular Figures
zero    Slashed Zero

с:

$ otfinfo -f /usr/local/texlive/2014/texmf-dist/fonts/truetype/huerta/alegreya/Alegreya-Regular.ttf
cpsp    Capital Spacing
dnom    Denominators
frac    Fractions
liga    Standard Ligatures
lnum    Lining Figures
numr    Numerators
onum    Oldstyle Figures
pnum    Proportional Figures
sinf    Scientific Inferiors
sups    Superscript
tnum    Tabular Figures

решение3

С новой версиейAlegreya, в котором определение \scshapeбыло изменено для более корректной обработки, отслеживание будет работать «из коробки» без необходимости, \DeclareMicrotypeSetкак вОтвет Ульрики.

\documentclass{article}
\usepackage[tracking = true, letterspace = 100]{microtype}
\usepackage{Alegreya} % <- tracking now works with small caps 
\begin{document}
\textls{ABCD} \textsc{abcd} \textls{\textit{ABCD \textsc{abcd}}}
\end{document}

введите описание изображения здесь

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