]> git.lyx.org Git - features.git/commitdiff
make tex2lyx in branch compilable again
authorUwe Stöhr <uwestoehr@lyx.org>
Sat, 30 Jun 2012 23:42:32 +0000 (01:42 +0200)
committerUwe Stöhr <uwestoehr@lyx.org>
Sat, 30 Jun 2012 23:42:32 +0000 (01:42 +0200)
- Preamble.cpp/:
 - move list definition out of anon namespace
 - declare lists and a function in the class
 - remove ancientgreek since this is LyX 2.1-only

- XeTeX-polyglossia.tex: remove ancientgreek

src/tex2lyx/Preamble.cpp
src/tex2lyx/Preamble.h
src/tex2lyx/test/XeTeX-polyglossia.tex
src/tex2lyx/text.cpp

index da4a50fffe06d937ee0fcb4680676110000305e2..746e216eba60eed8482c76c3d834ed1c45a361e4 100644 (file)
@@ -88,41 +88,6 @@ const char * const known_coded_languages[] = {"french", "afrikaans", "albanian",
 "uppersorbian", "uppersorbian", "english", "english", "vietnamese", "welsh",
 0};
 
-/**
- * known polyglossia language names (including variants)
- */
-const char * const polyglossia_languages[] = {
-"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
-"nynorsk", "syriac", "arabic", "danish", "icelandic", "occitan", "tamil",
-"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
-"irish", "portuges", "thai", "bahasai", "english", "italian", "romanian", "turkish",
-"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
-"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazil",
-"brazilian", "finnish", "lithuanian", "scottish", "usorbian", "breton", "french",
-"lsorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
-"welsh", "catalan", "german", "malayalam", "slovenian", "coptic", "greek",
-"marathi", "spanish",
-"american", "ancient", "british", "monotonic",
-"polytonic", 0};
-
-/**
- * the same as polyglossia_languages with .lyx names
- * please keep this in sync with polyglossia_languages line by line!
- */
-const char * const coded_polyglossia_languages[] = {
-"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
-"nynorsk", "syriac", "arabic_arabi", "danish", "icelandic", "occitan", "tamil",
-"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
-"irish", "portuges", "thai", "bahasa", "english", "italian", "romanian", "turkish",
-"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
-"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazilian",
-"brazilian", "finnish", "lithuanian", "scottish", "uppersorbian", "breton", "french",
-"lowersorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
-"welsh", "catalan", "ngerman", "malayalam", "slovene", "coptic", "greek",
-"marathi", "spanish",
-"american", "ancientgreek", "british", "greek",
-"polutonikogreek", 0};
-
 /// languages with english quotes (.lyx names)
 const char * const known_english_quotes_languages[] = {"american", "bahasa",
 "bahasam", "brazilian", "canadian", "chinese-simplified", "english",
@@ -308,6 +273,40 @@ string process_keyval_opt(vector<string> & options, string name)
 } // anonymous namespace
 
 
+/**
+ * known polyglossia language names (including variants)
+ */
+const char * const Preamble::polyglossia_languages[] = {
+"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
+"nynorsk", "syriac", "arabic", "danish", "icelandic", "occitan", "tamil",
+"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
+"irish", "portuges", "thai", "bahasai", "english", "italian", "romanian", "turkish",
+"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
+"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazil",
+"brazilian", "finnish", "lithuanian", "scottish", "usorbian", "breton", "french",
+"lsorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
+"welsh", "catalan", "german", "malayalam", "slovenian", "coptic", "greek",
+"marathi", "spanish",
+"american", "british", "monotonic", "polytonic", 0};
+
+/**
+ * the same as polyglossia_languages with .lyx names
+ * please keep this in sync with polyglossia_languages line by line!
+ */
+const char * const Preamble::coded_polyglossia_languages[] = {
+"albanian", "croatian", "hebrew", "norsk", "swedish", "amharic", "czech", "hindi",
+"nynorsk", "syriac", "arabic_arabi", "danish", "icelandic", "occitan", "tamil",
+"armenian", "divehi", "interlingua", "polish", "telugu", "asturian", "dutch",
+"irish", "portuges", "thai", "bahasa", "english", "italian", "romanian", "turkish",
+"bahasam", "esperanto", "lao", "russian", "turkmen", "basque", "estonian", "latin",
+"samin", "ukrainian", "bengali", "farsi", "latvian", "sanskrit", "urdu", "brazilian",
+"brazilian", "finnish", "lithuanian", "scottish", "uppersorbian", "breton", "french",
+"lowersorbian", "serbian", "vietnamese", "bulgarian", "galician", "magyar", "slovak",
+"welsh", "catalan", "ngerman", "malayalam", "slovene", "coptic", "greek",
+"marathi", "spanish",
+"american", "british", "greek", "polutonikogreek", 0};
+
+
 bool Preamble::indentParagraphs() const
 {
        return h_paragraph_separation == "indent";
@@ -1587,7 +1586,7 @@ string babel2lyx(string const & language)
 }
 
 
-string polyglossia2lyx(string const & language)
+string Preamble::polyglossia2lyx(string const & language)
 {
        char const * const * where = is_known(language, polyglossia_languages);
        if (where)
index 8372fcb33c46ce83f54225991d7861fb9048ad8d..1389a86db9cd0e1430770b7281e19fd564c53d14 100644 (file)
@@ -43,6 +43,8 @@ public:
        ///
        std::string use_indices() const { return h_use_indices; }
        ///
+       std::string polyglossia2lyx(std::string const & language);
+       ///
        bool indentParagraphs() const;
        ///
        bool isPackageUsed(std::string const & package) const;
@@ -66,13 +68,17 @@ public:
        /// Get author named \p name (must be registered first)
        Author const & getAuthor(std::string const & name) const;
 
-
        /// Parses the LaTeX preamble into internal data
        void parse(Parser & p, std::string const & forceclass,
                   TeX2LyXDocClass & tc);
        /// Writes the LyX file header from internal data
        bool writeLyXHeader(std::ostream & os, bool subdoc);
 
+       /// known polyglossia language names (including variants)
+       static const char * const polyglossia_languages[];
+       /// the same as polyglossia_languages with .lyx names
+       static const char * const coded_polyglossia_languages[];
+
 private:
        ///
        std::map<std::string, std::vector<std::string> > used_packages;
index 826f5060db1d8d59f91e61a42f8aeaaebe23b750..dc85616c9b7f0a4a622bd4cee0f4524dced1f281 100644 (file)
@@ -13,7 +13,7 @@
 
 \part{df}
 
-1 English \textgreek[variant=ancient]{ancient Greek} English
+1 English \textgreek[variant=polytonic]{polytonic Greek} English
 \textgreek[numerals=arabic, variant=ancient]{ancient G\textsf{reek} with Arabic numerals} English
 
 \begin{albanian}%
index 2543b47e4df3afceded92e0c40fb1a6142f81112..0089a0ea3db0d4c74135e62f3b9d02fc39b268e3 100644 (file)
@@ -1189,7 +1189,7 @@ void parse_environment(Parser & p, ostream & os, bool outer,
                }
        }
 
-       else if (is_known(name, polyglossia_languages)) {
+       else if (is_known(name, preamble.polyglossia_languages)) {
                // We must begin a new paragraph if not already done
                if (! parent_context.atParagraphStart()) {
                        parent_context.check_end_layout(os);
@@ -1197,7 +1197,7 @@ 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 = polyglossia2lyx(name);
+               parent_context.font.language = preamble.polyglossia2lyx(name);
                parse_text(p, os, FLAG_END, outer, parent_context);
                // Just in case the environment is empty
                parent_context.extra_stuff.erase();
@@ -3359,7 +3359,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
                }
                
                else if (prefixIs(t.cs(), "text") 
-                        && is_known(t.cs().substr(4), polyglossia_languages)) {
+                        && is_known(t.cs().substr(4), preamble.polyglossia_languages)) {
                        // scheme is \textLANGUAGE{text} where LANGUAGE is in polyglossia_languages[]
                        string lang;
                        // We have to output the whole command if it has an option
@@ -3374,14 +3374,14 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
                                if (pos_var != string::npos && i == string::npos) {
                                        string variant;
                                        variant = langopts.substr(k + 1, langopts.length() - k - 2);
-                                       lang = polyglossia2lyx(variant);
+                                       lang = preamble.polyglossia2lyx(variant);
                                        parse_text_attributes(p, os, FLAG_ITEM, outer,
                                                                  context, "\\lang",
                                                                  context.font.language, lang);
                                } else
                                        handle_ert(os, t.asInput() + langopts, context);
                        } else {
-                               lang = polyglossia2lyx(t.cs().substr(4, string::npos));
+                               lang = preamble.polyglossia2lyx(t.cs().substr(4, string::npos));
                                parse_text_attributes(p, os, FLAG_ITEM, outer,
                                                          context, "\\lang",
                                                          context.font.language, lang);