]> git.lyx.org Git - lyx.git/commitdiff
xunicode (only) needs to be loaded for tipa emulation.
authorJuergen Spitzmueller <spitz@lyx.org>
Wed, 22 Feb 2017 10:26:02 +0000 (11:26 +0100)
committerJuergen Spitzmueller <spitz@lyx.org>
Wed, 22 Feb 2017 10:27:51 +0000 (11:27 +0100)
Previous fontspec loaded xunicode internally, for recent version, this
is no longer desired. However, we still need it for tipa emulation.
We use fontspec's trick to bypass XeTeX test with LuaTeX.

src/BufferParams.cpp

index a4c3a80dc1cd3a80025671ff79368e7c4fd331c5..a725068792f2e53205b66ab0e707e6d8014c8b8e 100644 (file)
@@ -2176,12 +2176,19 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
                os << "}\n";
        }
 
-       // xunicode needs to be loaded at least after amsmath, amssymb,
+       // xunicode only needs to be loaded if tipa is used
+       // (the rest is obsoleted by the new TU encoding).
+       // It needs to be loaded at least after amsmath, amssymb,
        // esint and the other packages that provide special glyphs
-       // The package only supports XeTeX currently.
-       if (features.runparams().flavor == OutputParams::XETEX
-           && useNonTeXFonts)
+       if (features.mustProvide("tipa") && useNonTeXFonts) {
+               // The package officially only supports XeTeX, but also works
+               // with LuaTeX. Thus we work around its XeTeX test.
+               if (features.runparams().flavor != OutputParams::XETEX) {
+                       os << "% Pretend to xunicode that we are XeTeX\n"
+                          << "\\def\\XeTeXpicfile{}\n";
+               }
                os << "\\usepackage{xunicode}\n";
+       }
 
        // Polyglossia must be loaded last ...
        if (use_polyglossia) {