I recently installed TeX Gyre Termes, and I noticed that ligatures were present when I compiled with LuaLaTeX, but not with XeLaTeX:
% !TeX program = XeLaTeX
\documentclass{article}
\usepackage{fontspec}
\setromanfont{TeXGyreTermes} % no spaces in name
\begin{document}
fi ff fl ffi
\end{document}
The same problem arises with small caps- in LuaLaTeX, all works well, but upon switching to XeLaTeX, small caps disappear, and XeLaTeX warns me that it must substitute with normal TeX Gyre Termes instead of small caps. I suspect that the issue is related to my installation of TeX Gyre Termes, as ligatures are present when other fonts are used. However, I have tried re-installing TeX Gyre Termes multiple times, but this issue persists.
Therefore, my question is: because I am unable to use a functional copy of TeX Gyre Termes, and because XeLaTeX compiles faster than LuaLaTeX, what can I do to ensure that ligatures appear when I compile with XeLaTeX?
(I do not want to switch out TeX Gyre Termes with another Times-like font, as I prefer its italic best. However, I do not care whether the OpenType version of the font is used or not.)
This question seems related: What are the incompatibilities of pdftex, xetex and luatex? However, it does not discuss the reason behind this difference, and what may be done about it.
ff
making afl
ligature? :-) for me it works and gives ligatures in xelatex texlive 2017 with\setromanfont{TeX Gyre Termes}
or\setromanfont{texgyretermes-regular.otf}
The version with the font name but spaces removed fails to find the file at all.\setromanfont{TeX Gyre Termes}
should work under both XeLaTeX and LuaLaTeX.