Disable default kerning when letterspacing is active#330
Conversation
|
What exactly is the rationale here? I don't quite see why you want to disable kerning just because you do some light tracking/letter spacing. For example, suppose you have "AV" then even with minimal letter spacing you suddenly get "A V". |
|
Consider the MWE, compiled with \documentclass{article}
\usepackage{fontspec}
\setmainfont{lmroman10-regular}
\begin{document}
\setlength{\fboxrule}{0pt}
\newcommand\test[1]{\noindent{\framebox[6em][l]{\ttfamily#1:}} {\addfontfeature{LetterSpace=50, Renderer=#1} DOCUMENTATION}\par}
\test{Base}
\test{Node}
\test{Harfbuzz}
\test{OpenType}
\end{document}Note that with OpenType and HarfBuzz the "NT" does not comply with This effect is not limited to Latin Modern; it is also visible in other fonts. |
|
The difference you see is because of discretionary nodes (harf and node insert different break points). You can get the same thing with \documentclass{article}
\usepackage{fontspec}
\setmainfont{lmroman10-regular}
\begin{document}
\setlength{\fboxrule}{0pt}
\newcommand\test[1]{\hbox{\addfontfeature{LetterSpace=50, Renderer=#1} DOCUMEN\discretionary{-}{-}{T}\discretionary{}{}{}ATION}}
\test{Node}
\end{document}AFAICT your patch also affect kerning/spacing for harf, which I'm not sure is desirable. I think the real problem is either discretionary nodes are not handled well in |
This PR adds a check to
fonts.readers.harfto bypass GPOS kerning when tracking is active when using HarfBuzz.