These exports correctly fail now that we've switched to polyglossia.
Although they compiled without error with babel, the resulting PDFs
had gibberish.
I believe these tests were fixed by TeX Live updates.
Comparing the log files for a system where the tests fail with a
system where the tests pass, below are some of the differences
between the "good" and "bad" logs:
bad:
LaTeX2e <2015/01/01>
Babel <3.9l>
Package: fontspec 2015/03/14 v2.4c
Package: expl3 2015/03/01 v5547 L3 programming layer
good:
LaTeX2e <2015/01/01> patch level 2
Babel <3.9m>
Package: fontspec 2015/07/22 v2.4d
Package: expl3 2015/07/30 v5724 L3 programming layer
Many of our documents have babel-specific preamble code. By putting
this code in a \@ifpackageloaded{babel}{}{} conditional, XeTeX and
LuaTeX compilation with polyglossia now works. This fixes some
LuaTeX tests that were broken by edd37de8 and also allows us to
uninvert some XeTeX tests.
Note that in some of the files although the preambles were fixed to
allow for polyglossia, they still do not compile without errors:
es/Math.lyx
es/Customization.lyx
de/Customization.lyx
Similar fixes might be desired in other manuals but these at least
fix regressions in the tests.
PolyglossiaOpts are case-sensitive so "latin" must be changed to
"Latin". Without this change, compiling examples/sr/Braille.lyx
with LuaTeX and system fonts gives the following error:
Package Polyglossia Error: Unknown script `latin' for Serbian
language
Many of our Spanish documents use babel-specific features in the
documents, e.g. to write "sin" in Spanish ("sen"). Because babel
seems to have good support for Spanish, I am setting the "Always
babel" for the manuals.
This fixes several LuaTeX tests with non-TeX fonts. A XeTeX test is
also reverted accordingly.
One of the tests is also disabled for es/Math.lyx. However,
the other test passes for es/Math.lyx. To reproduce,
open fr/Math.lyx, click "Use non-TeX fonts", and choose
e.g. "FreeSans" for the three fonts. Then view as PDF (LuaTeX).
I put a note to look into why this one fails.
The configuration time suffers mostly on checking, which of the export tests
is to be reverted.
1.) There is a new configuration flag now, "LYX_ENABLE_EXOPRT_TESTS.
If not set (default) no export tests are created.
2.) If set, then the optimization halves the time needed for creation of tests.
The effect on my side:
a.) Until now the time was: ~ 26 seconds
b.) The optimized time is now: ~ 16 seconds
c.) With not enabled export tests: ~ 5 seconds
These started failing after we implemented tests for formats
that are in the complement set to the default format (7ecbb068).
It might be worth it in the future to take a look at each individually
and see whether they are supposed to fail or if there is something LyX
can do to add support for exporting them.
The JASATeX class is currently unmaintained. Also, this
commit moves the system font tests from inverted to ignored
(otherwise lualatex and xelatex run in infinite loops).
For many of these XeTeX or LuaTeX does not yet support
using TeX fonts for certain languages. The others fail
because, as Jürgen explains, they have excessive preamble
code that is only targeted at (pdf)latex.
Citing Scott:
In our current set up, we are currently testing XeTeX and LuaTeX
either with system fonts or with TeX fonts but never both. We should
test with both in my opinion. We will have to ignore/invert many tests
but it still seems useful. For example Günter fixed babel-greek so
that it works now with TeX fonts; and Jürgen found some errors in LyX
that were causing some of the English docs to fail with system fonts.
Currently we only test greek documents with system fonts and we only
test English documents with TeX fonts.
This change adds the missing test-cases.
See (thanks to Uwe for the link):
ccb0e9e2c6
We thus invert the LuaTeX Farsi tests.
All inverted tests now have explanations for why they are not
currently expected to work.
We can now test for regressions in the Greek docs for
XeTeX and LuaTeX export with FreeSans.
(Also some Indonesian tests were missing from revertedTests.)
As Kornel has explained:
There is an incompatibility between luainputenc.sty and ectaart.cls.
luainputenc.sty loads luatex.sty. Both files (luatex.sty and
ectaart.cls) define the latex-command \setattribute.
These tests should be inverted because the conflict may one day be
resolved at which point we can begin testing for regressions.
(This commit also rearranges the europeCV lines to below the
corresponding explanation comment.)
Export with XeTeX and LuaTeX (with either non-tex fonts or 8-bit
compatibility mode) does not work because the loading of inputenc with
utf8x is hardcoded in europecv.cls at this time.
This commit adds a note to es/europeCV.lyx explaining the problem and
inverts the XeTeX and LuaTeX tests.
See
http://comments.gmane.org/gmane.editors.lyx.devel/145896
Thanks to Günter Milde for the advice and to Ignacio García
for the translation of the note.
This is a manual lyx2lyx fix. Some of the problematic chunks
are not correctly converted with lyx2lyx so this commit manually
converts them to ERT.
For more details, see:
http://marc.info/?t=137702744100010&r=1&w=2
Similar to Indonesian LuaTeX support (see 7d705438),
"magyar" is not supported. After 2.1 is released,
the babel name of "magyar" should be changed to
"hungarian" (if others disagree then these tests
still should stay inverted).
The babel name of Indonesian should be changed from "bahasa"
to "indonesian". This should be done after 2.1 is released so as
to minimize potential problems such as Jürgen's example of
\addto\captionsbahasa{\renewcommand\chaptername{Foo}}
For more info, see:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181595.html
From Jürgen:
LuaTeX support in polyglossia is still very new and experimental.
I have this enhancement on the agenda for 2.2, but not for 2.1.
For more details, see:
http://marc.info/?l=lyx-devel&m=138506346715339&w=2
In successful cooperation with Scott Kostyshak.
We provide many lyx-documents which are not compilable with luatex or xetex.
But some of them compile, if we change the font use to non_tex_fonts.
Since this would change the appropriate source, we have to convert
it first into a save location. To make it there compilable,
we have to convert also all file references.
languages used font
he|el|ru|uk 'FreeSans'
fa 'FreeFarsi'
zh_CN 'WenQuanYi Micro Hei'
The whole job is done with a perl script.