From da1d6d03ebdb724ca3ab7353d5bbdd017b627f84 Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Sat, 18 Feb 2023 17:04:43 +0100 Subject: [PATCH] Amend 2987530434105 This is more readable (and fixes a thinko) --- src/BufferParams.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index e702b182f0..71e4bae1b1 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -1923,10 +1923,16 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, // Babel (as of 2017/11/03) loads fontspec itself // However, it does so only if a non-default font is requested via \babelfont // Thus load fontspec if this is not the case and we need fontspec features + bool const babel_needfontspec = + !features.isAvailableAtLeastFrom("babel", 2017, 11, 3) + || (fontsRoman() == "default" + && fontsSans() == "default" + && fontsTypewriter() == "default" + // these need fontspec features + && (features.isRequired("textquotesinglep") + || features.isRequired("textquotedblp"))); if (!features.isProvided("fontspec") - && !(features.useBabel() && features.isAvailableAtLeastFrom("babel", 2017, 11, 3) - && (fontsRoman() != "default" || fontsSans() != "default" || fontsTypewriter() != "default") - && !features.isRequired("textquotesinglep") && !features.isRequired("textquotedoublep"))) + && (!features.useBabel() || babel_needfontspec)) os << "\\usepackage{fontspec}\n"; if (features.mustProvide("unicode-math") && features.isAvailable("unicode-math")) -- 2.39.2