]> git.lyx.org Git - lyx.git/blobdiff - src/tex2lyx/preamble.cpp
tex2lyx: support for beraserif.sty
[lyx.git] / src / tex2lyx / preamble.cpp
index 917fbabbd4ce4315aba262888c6e7df90ae5839c..ded4a6d68d84d28bb5876ef79986983031bfd2a4 100644 (file)
@@ -131,10 +131,15 @@ const char * const known_polish_quotes_languages[] = {"afrikaans", "croatian",
 const char * const known_swedish_quotes_languages[] = {"finnish",
 "swedish", 0};
 
+/// known language packages from the times before babel
+const char * const known_old_language_packages[] = {"french", "frenchle",
+"frenchpro", "german", "ngerman", "pmfrench", 0};
+
 char const * const known_fontsizes[] = { "10pt", "11pt", "12pt", 0 };
 
-const char * const known_roman_fonts[] = { "ae", "bookman", "charter",
-"cmr", "fourier", "lmodern", "mathpazo", "mathptmx", "newcent", 0};
+const char * const known_roman_fonts[] = { "ae", "beraserif", "bookman",
+"ccfonts", "chancery", "charter", "cmr", "fourier", "lmodern", "mathpazo",
+"mathptmx", "newcent", "utopia", 0};
 
 const char * const known_sans_fonts[] = { "avant", "berasans", "cmbr", "cmss",
 "helvet", "lmss", 0};
@@ -174,8 +179,8 @@ string h_textclass               = "article";
 string h_use_default_options     = "false";
 string h_options;
 string h_language                = "english";
-string h_language_package        = "default";
-string h_fontencoding            = "global";
+string h_language_package        = "none";
+string h_fontencoding            = "default";
 string h_font_roman              = "default";
 string h_font_sans               = "default";
 string h_font_typewriter         = "default";
@@ -503,10 +508,14 @@ void handle_package(Parser &p, string const & name, string const & opts,
 
        // typewriter fonts
        if (is_known(name, known_typewriter_fonts)) {
-               h_font_typewriter = name;
-               if (!opts.empty()) {
-                       scale = opts;
-                       h_font_tt_scale = scale_as_percentage(scale);
+               // fourier can be set as roman font _only_
+               // fourier as typewriter is handled in handling of \ttdefault
+               if (name != "fourier") {
+                       h_font_typewriter = name;
+                       if (!opts.empty()) {
+                               scale = opts;
+                               h_font_tt_scale = scale_as_percentage(scale);
+                       }
                }
        }
 
@@ -530,6 +539,7 @@ void handle_package(Parser &p, string const & name, string const & opts,
                h_use_undertilde = "2";
 
        else if (name == "babel") {
+               h_language_package = "default";
                // we have to do nothing if babel is loaded without any options, otherwise
                // we would pollute the preamble with this call in every roundtrip
                if  (!opts.empty()) {
@@ -569,6 +579,13 @@ void handle_package(Parser &p, string const & name, string const & opts,
                options.clear();
        }
 
+       else if (is_known(name, known_old_language_packages)) {
+               // known language packages from the times before babel
+               // if they are found and not also babel, they will be used as
+               // cutom language package
+               h_language_package = "\\usepackage{" + name + "}";
+       }
+
        else if (name == "makeidx")
                ; // ignore this