]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/MathSupport.cpp
Another assertion that got transformed in 1b1f8dd2
[lyx.git] / src / mathed / MathSupport.cpp
index 82de873e24934300898050cf75d95a0f12f1130d..6a815ed8985e6b81605b4f201c6ecfffb865fab0 100644 (file)
@@ -13,7 +13,8 @@
 
 #include "MathSupport.h"
 
-#include "InsetMath.h"
+#include "InsetMathFont.h"
+#include "InsetMathSymbol.h"
 #include "MathData.h"
 #include "MathParser.h"
 #include "MathStream.h"
@@ -160,6 +161,15 @@ double const brack[] = {
 };
 
 
+double const dbrack[] = {
+       2, 4,
+       0.95, 0.05,  0.05, 0.05,  0.05, 0.95,  0.95, 0.95,
+       2, 2,
+       0.50, 0.05,  0.50, 0.95,
+       0
+};
+
+
 double const corner[] = {
        2, 3,
        0.95, 0.05,  0.05, 0.05,  0.05, 0.95,
@@ -299,6 +309,8 @@ named_deco_struct deco_table[] = {
        {"rbrace",         brace,      2 },
        {"[",              brack,      0 },
        {"]",              brack,      2 },
+       {"llbracket",      dbrack,     0 },
+       {"rrbracket",      dbrack,     2 },
        {"|",              vert,       0 },
        {"/",              slash,      0 },
        {"slash",          slash,      0 },
@@ -574,6 +586,8 @@ fontinfo fontinfos[] = {
                          inh_shape, Color_math},
        {"msb",           MSB_FAMILY, inh_series,
                          inh_shape, Color_math},
+       {"stmry",         STMARY_FAMILY, inh_series,
+                         inh_shape, Color_math},
        {"wasy",          WASY_FAMILY, inh_series,
                          inh_shape, Color_math},
        {"esint",         ESINT_FAMILY, inh_series,
@@ -723,6 +737,27 @@ void augmentFont(FontInfo & font, docstring const & name)
 }
 
 
+bool isAlphaSymbol(MathAtom const & at)
+{
+       if (at->asCharInset() ||
+           (at->asSymbolInset() &&
+            at->asSymbolInset()->isOrdAlpha()))
+               return true;
+
+       if (at->asFontInset()) {
+               MathData const & ar = at->asFontInset()->cell(0);
+               for (size_t i = 0; i < ar.size(); ++i) {
+                       if (!(ar[i]->asCharInset() ||
+                             (ar[i]->asSymbolInset() &&
+                              ar[i]->asSymbolInset()->isOrdAlpha())))
+                               return false;
+               }
+               return true;
+       }
+       return false;
+}
+
+
 docstring asString(MathData const & ar)
 {
        odocstringstream os;