]> git.lyx.org Git - lyx.git/blobdiff - src/Font.cpp
Do not overwrite read-only files. We now move the file to the backup directory and...
[lyx.git] / src / Font.cpp
index 8cdb3f4096274459496f65da8e48dce7adcdb3d3..c24ddc6c4edf36e69ddb8ce8c3e2d7a7b9bddeca 100644 (file)
@@ -43,11 +43,11 @@ namespace lyx {
 // Strings used to read and write .lyx format files
 //
 // These are defined in FontInfo.cpp
-extern char const ** LyXFamilyNames;
-extern char const ** LyXSeriesNames;
-extern char const ** LyXShapeNames;
-extern char const ** LyXSizeNames;
-extern char const ** LyXMiscNames;
+extern char const * LyXFamilyNames[NUM_FAMILIES + 2];
+extern char const * LyXSeriesNames[4];
+extern char const * LyXShapeNames[6];
+extern char const * LyXSizeNames[14];
+extern char const * LyXMiscNames[5];
 
 //
 // Names for the GUI
@@ -57,7 +57,7 @@ namespace {
 
 char const * GUIFamilyNames[NUM_FAMILIES + 2 /* default & error */] =
 { N_("Roman"), N_("Sans Serif"), N_("Typewriter"), N_("Symbol"),
-  "cmr", "cmsy", "cmm", "cmex", "msa", "msb", "eufrak", "wasy", "esint",
+  "cmr", "cmsy", "cmm", "cmex", "msa", "msb", "eufrak", "rsfs", "wasy", "esint",
   N_("Inherit"), N_("Ignore") };
 
 char const * GUISeriesNames[4] =
@@ -95,7 +95,7 @@ char const * LaTeXSizeNames[14] =
 
 
 Font::Font(FontInfo bits, Language const * l)
-       : bits_(bits), lang_(l), misspelled_(false), open_encoding_(false)
+       : bits_(bits), lang_(l), open_encoding_(false)
 {
        if (!lang_)
                lang_ = default_language;
@@ -272,7 +272,20 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams,
        bool env = false;
 
        int count = 0;
-       if (language()->babel() != base.language()->babel() &&
+
+       // polyglossia or babel?
+       if (runparams.use_polyglossia
+           && language()->lang() != base.language()->lang()
+           && language() != prev.language()) {
+               if (!language()->polyglossia().empty()) {
+                       string tmp = "\\text" + language()->polyglossia();
+                       if (!language()->polyglossiaOpts().empty())
+                               tmp += "[" + language()->polyglossiaOpts() + "]";
+                       tmp += "{";
+                       os << from_ascii(tmp);
+                       count += tmp.length();
+               }
+       } else if (language()->babel() != base.language()->babel() &&
            language() != prev.language()) {
                if (language()->lang() == "farsi") {
                        os << "\\textFR{";