tex2lyx: Fix import of Arabic polyglossia environment

Part of #10111

(cherry picked from commit 920e26916e)
This commit is contained in:
Juergen Spitzmueller 2018-08-24 14:20:43 +02:00
parent 34929373bc
commit 93f3727b53
2 changed files with 18 additions and 5 deletions

View File

@ -528,6 +528,17 @@ string guessQuoteStyle(string in, bool const opening)
} }
string const fromPolyglossiaEnvironment(string const s)
{
// Since \arabic is taken by the LaTeX kernel,
// the Arabic polyglossia environment is upcased
if (s == "Arabic")
return "arabic";
else
return s;
}
} // namespace } // namespace
@ -1597,7 +1608,8 @@ void parse_environment(Parser & p, ostream & os, bool outer,
} }
} }
else if (is_known(name, preamble.polyglossia_languages)) { // We need to use fromPolyglossiaEnvironment die to Arabic > arabic
else if (is_known(fromPolyglossiaEnvironment(name), preamble.polyglossia_languages)) {
// We must begin a new paragraph if not already done // We must begin a new paragraph if not already done
if (! parent_context.atParagraphStart()) { if (! parent_context.atParagraphStart()) {
parent_context.check_end_layout(os); parent_context.check_end_layout(os);
@ -1605,7 +1617,8 @@ void parse_environment(Parser & p, ostream & os, bool outer,
} }
// save the language in the context so that it is // save the language in the context so that it is
// handled by parse_text // handled by parse_text
parent_context.font.language = preamble.polyglossia2lyx(name); parent_context.font.language =
preamble.polyglossia2lyx(fromPolyglossiaEnvironment(name));
parse_text(p, os, FLAG_END, outer, parent_context); parse_text(p, os, FLAG_END, outer, parent_context);
// Just in case the environment is empty // Just in case the environment is empty
parent_context.extra_stuff.erase(); parent_context.extra_stuff.erase();
@ -3324,7 +3337,6 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
continue; continue;
} }
// Starred section headings // Starred section headings
// Must attempt to parse "Section*" before "Section". // Must attempt to parse "Section*" before "Section".
if ((p.next_token().asInput() == "*") && if ((p.next_token().asInput() == "*") &&

View File

@ -99,6 +99,7 @@ What's new
- Consider required modules when checking for layout definitions in modules - Consider required modules when checking for layout definitions in modules
(bug 11156). (bug 11156).
- Fix import of Arabic polyglossia environment (part of bug 10111).
* ADVANCED FIND AND REPLACE * ADVANCED FIND AND REPLACE