]> git.lyx.org Git - features.git/commitdiff
tex2lyx: Fix import of Arabic polyglossia environment
authorJuergen Spitzmueller <spitz@lyx.org>
Fri, 24 Aug 2018 12:20:43 +0000 (14:20 +0200)
committerJuergen Spitzmueller <spitz@lyx.org>
Fri, 24 Aug 2018 12:20:43 +0000 (14:20 +0200)
Part of #10111

src/tex2lyx/text.cpp

index 919f454c66a6c652d9e082527747eb7fdefbd234..ed866355ff04bfa7e3a050516d9799e8bf8bef6e 100644 (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
 
 
@@ -1602,7 +1613,8 @@ void parse_environment(Parser & p, ostream & os, bool outer,
                        break;
                }
 
-               if (is_known(name, preamble.polyglossia_languages)) {
+               // We need to use fromPolyglossiaEnvironment die to Arabic > arabic
+               if (is_known(fromPolyglossiaEnvironment(name), preamble.polyglossia_languages)) {
                        // We must begin a new paragraph if not already done
                        if (! parent_context.atParagraphStart()) {
                                parent_context.check_end_layout(os);
@@ -1610,7 +1622,8 @@ void parse_environment(Parser & p, ostream & os, bool outer,
                        }
                        // save the language in the context so that it is
                        // 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);
                        // Just in case the environment is empty
                        parent_context.extra_stuff.erase();
@@ -3497,7 +3510,6 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
                        continue;
                }
 
-
                // Starred section headings
                // Must attempt to parse "Section*" before "Section".
                if ((p.next_token().asInput() == "*") &&