# if a corresponding language module exists.
# * BabelProvide determines if and when a language should be loaded from
# babel *.ini files with babel. Possible values:
-# 0 (= never, default), 1 (always), 2 (with Unicode engines/non-TeX fonts)
+# 0 (= never, default), 1 (always), 2 (with Unicode engines/non-TeX fonts).
+# The latter advises babel to ignore existing *.ldf files.
# * BabelOpts are comma separated, no matter how they shall be represented
# in the output.
# * BabelOptFormat specifies how the language-specific options shall be
langs.insert(language);
ostringstream os;
string force_provide;
+ bool have_main_forceprovide = false;
for (auto const & l : langs) {
string blang = l->babel();
bool use_opt = langoptions;
if (bp == 2 && useNonTeXFonts) {
// here we need to tell babel to use the ini
// even though an *.ldf exists
- if (l == language)
+ if (l == language) {
force_provide = force_provide.empty()
? "provide=*"
: "provide*=*";
- else
- force_provide = "provide+=*";
+ have_main_forceprovide = true;
+ } else
+ force_provide = have_main_forceprovide
+ ? "provide*=*"
+ : "provide+=*";
have_mods = true;
}
if (bp != 1 && use_opt)