]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathFactory.cpp
Prepare for mutlicolumn lines
[lyx.git] / src / mathed / MathFactory.cpp
index 34131278b5b52d6c173ca0534830f90d32f54d89..f7c21e805ee5a0bb8ab784cb71982f2c04129f59 100644 (file)
@@ -73,6 +73,7 @@
 #include "LyX.h" // use_gui
 #include "OutputParams.h"
 
+
 using namespace std;
 using namespace lyx::support;
 
@@ -92,7 +93,7 @@ bool isMathFontAvailable(string & name)
                return false;
 
        FontInfo f;
-       augmentFont(f, from_ascii(name));
+       augmentFont(f, name);
 
        // Do we have the font proper?
        if (theFontLoader().available(f))
@@ -185,6 +186,7 @@ void initSymbols()
                        string requires;
                        string extra;
                        string xmlname;
+                       bool hidden = false;
                        is >> macro >> requires;
                        if ((is >> xmlname)) {
                                extra = requires;
@@ -205,7 +207,11 @@ void initSymbols()
                                        tmp.name = it->first;
                                        tmp.extra = from_utf8(extra);
                                        tmp.xmlname = from_utf8(xmlname);
-                                       tmp.requires = requires;
+                                       if (requires == "hiddensymbol") {
+                                               requires = "";
+                                               tmp.hidden = hidden = true;
+                                       } else
+                                               tmp.requires = requires;
                                        theMathWordList[it->first] = tmp;
                                        wit = theMathWordList.find(it->first);
                                        it->second.setSymbol(&(wit->second));
@@ -218,7 +224,8 @@ void initSymbols()
                                << "  draw: 0"
                                << "  extra: " << extra
                                << "  xml: " << xmlname
-                               << "  requires: " << requires << '\'');
+                               << "  requires: " << requires
+                               << "  hidden: " << hidden << '\'');
                        continue;
                }
 
@@ -227,7 +234,7 @@ void initSymbols()
                docstring help;
                is >> tmp.name >> help;
                tmp.inset = to_ascii(help);
-               if (isFontName(help))
+               if (isFontName(tmp.inset))
                        is >> charid >> fallbackid >> tmp.extra >> tmp.xmlname;
                else
                        is >> tmp.extra;
@@ -247,7 +254,7 @@ void initSymbols()
                        continue;
                }
 
-               if (isFontName(from_ascii(tmp.inset))) {
+               if (isFontName(tmp.inset)) {
                        // tmp.inset _is_ the fontname here.
                        // create fallbacks if necessary
 
@@ -294,6 +301,12 @@ void initSymbols()
                                              << " used for " << to_utf8(tmp.name));
                }
 
+               if (tmp.requires == "hiddensymbol")
+               {
+                       tmp.requires = "";
+                       tmp.hidden = true;
+               }
+
                if (theMathWordList.find(tmp.name) != theMathWordList.end())
                        LYXERR(Debug::MATHED, "readSymbols: inset " << to_utf8(tmp.name)
                                << " already exists.");
@@ -307,7 +320,8 @@ void initSymbols()
                        << "  draw: " << int(tmp.draw.empty() ? 0 : tmp.draw[0])
                        << "  extra: " << to_utf8(tmp.extra)
                        << "  xml: " << to_utf8(tmp.xmlname)
-                       << "  requires: " << tmp.requires << '\'');
+                       << "  requires: " << tmp.requires
+                       << "  hidden: " << tmp.hidden << '\'');
        }
        string tmp = "cmm";
        string tmp2 = "cmsy";
@@ -656,9 +670,8 @@ bool createInsetMath_fromDialogStr(docstring const & str, MathData & ar)
                InsetSpaceParams isp(true);
                InsetSpace::string2params(to_utf8(str), isp);
                InsetSpace is(isp);
-               TexRow texrow;
                odocstringstream ods;
-               otexstream os(ods, texrow);
+               otexstream os(ods, false);
                Encoding const * const ascii = encodings.fromLyXName("ascii");
                OutputParams op(ascii);
                is.latex(os, op);