1

I use microtype's \textls in combination with fontspec to change the tracking of text, and until recently, this worked as it should. Recently, it seems to have stopped to work with fonts other than Latin Modern.

Consider the following MWE:

\documentclass{article}
\usepackage{fontspec}
\usepackage{microtype}
\setmainfont{Georgia}
\begin{document}

\textls[-100]{Bereits hier zeichnen sich erste Widersprüche ab; als regelrecht absurd erscheint angesichts der angeblichen Friedfertigkeit der Utopier aber dann die große Zahl von sehr wohl zulässigen Kriegsgründen: Die Bewohner Utopias stehen befreundeten Völkern im Kriegsfall bei und führen für sie sogar Rachefeldzüge, ebenso befreien sie unterdrückte Völker von Tyrannen.}

\textls[100]{Bereits hier zeichnen sich erste Widersprüche ab; als regelrecht absurd erscheint angesichts der angeblichen Friedfertigkeit der Utopier aber dann die große Zahl von sehr wohl zulässigen Kriegsgründen: Die Bewohner Utopias stehen befreundeten Völkern im Kriegsfall bei und führen für sie sogar Rachefeldzüge, ebenso befreien sie unterdrückte Völker von Tyrannen.}

Bereits hier zeichnen sich erste Widersprüche ab; als regelrecht absurd erscheint angesichts der angeblichen Friedfertigkeit der Utopier aber dann die große Zahl von sehr wohl zulässigen Kriegsgründen: Die Bewohner Utopias stehen befreundeten Völkern im Kriegsfall bei und führen für sie sogar Rachefeldzüge, ebenso befreien sie unterdrückte Völker von Tyrannen.

\end{document}

If I use Georgia, the \textls command has no effect and the three paragraphs turn out identical, even with these rather extreme values. If I comment the \setmainfont out, it works normally.

I suspect this is due to a recent update to some font-loading package, but I have no idea who the culprit is.

7
  • 1
    With luaotfload-letterspace.lua from github.com/u-fischer/luaotfload/pull/39 the example throws an error microtype.lua:145: attempt to call a nil value (field 'warning') but the output seems to be OK again. (I just dropped the .lua into a test folder, not sure if I did something wrong that might have caused the error).
    – moewe
    Feb 18, 2019 at 19:23
  • Mhhh, seems as though my attempt to call a nil value (field 'warning') error is related to the way microtype issues warnings: It doesn't work if luatexbase is not loaded, since luatexbase.provides_module does not return log, warn and error functions otherwise. The fact that luaotfload's letter space handling changes with the new file seems to take microtype into a different branch where a warning is issued (and that fails since the warning function is not provided).
    – moewe
    Feb 18, 2019 at 19:29
  • @moewe Thanks, using luaotfload-letterspace.lua did the trick. Sorry for not paying better attention that this issue was already brought up.
    – Simifilm
    Feb 19, 2019 at 7:44
  • I see there's an update for luaotfload. So is this considered fixed?
    – Simifilm
    Feb 26, 2019 at 6:56

1 Answer 1

1

You can just do it without microtype.

\documentclass{article}
\usepackage{fontspec}
\setmainfont{texgyreschola}[
Extension = .otf,
UprightFont = *-regular,
ItalicFont = *-italic,
BoldFont = *-bold,
BoldItalicFont = *-bolditalic,
]
\newcommand\textls[2][0]{{\letterspacefont\lsfont\font#1\lsfont#2}}
\begin{document}

\textls[-100]{Bereits hier zeichnen sich erste Widersprüche ab; als regelrecht absurd erscheint angesichts der angeblichen Friedfertigkeit der Utopier aber dann die große Zahl von sehr wohl zulässigen Kriegsgründen: Die Bewohner Utopias stehen befreundeten Völkern im Kriegsfall bei und führen für sie sogar Rachefeldzüge, ebenso befreien sie unterdrückte Völker von Tyrannen.}

\textls[100]{Bereits hier zeichnen sich erste Widersprüche ab; als regelrecht absurd erscheint angesichts der angeblichen Friedfertigkeit der Utopier aber dann die große Zahl von sehr wohl zulässigen Kriegsgründen: Die Bewohner Utopias stehen befreundeten Völkern im Kriegsfall bei und führen für sie sogar Rachefeldzüge, ebenso befreien sie unterdrückte Völker von Tyrannen.}

Bereits hier zeichnen sich erste Widersprüche ab; als regelrecht absurd erscheint angesichts der angeblichen Friedfertigkeit der Utopier aber dann die große Zahl von sehr wohl zulässigen Kriegsgründen: Die Bewohner Utopias stehen befreundeten Völkern im Kriegsfall bei und führen für sie sogar Rachefeldzüge, ebenso befreien sie unterdrückte Völker von Tyrannen.

\end{document}

enter image description here

2
  • 1
    Thanks, but I actually don't want to miss out on microtype.
    – Simifilm
    Feb 19, 2019 at 7:44
  • @Simifilm Why not? What does it provide that can't be done with plain LuaLaTeX? In my experience microtype is actually harmful because it hooks into LaTeX's font selection mechanism, which can break other packages. Feb 19, 2019 at 8:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .