[Libreoffice-commits] core.git: Branch 'aoo/trunk' - starmath/inc starmath/source

Regina Henschel regina at apache.org
Thu Oct 30 13:07:27 PDT 2014


 starmath/inc/parse.hxx           |    4 ++-
 starmath/source/mathmlexport.cxx |   30 ++++++++++++++++++++++++
 starmath/source/mathmlimport.cxx |   20 +++++++++++++---
 starmath/source/mathmlimport.hxx |    3 +-
 starmath/source/node.cxx         |   48 +++++++++++++++++++++++++++++++++++----
 starmath/source/parse.cxx        |   10 ++++++++
 6 files changed, 106 insertions(+), 9 deletions(-)

New commits:
commit 529e59d90037748d0030191b93252e597935243e
Author: Regina Henschel <regina at apache.org>
Date:   Thu Oct 30 18:41:23 2014 +0000

    #i118191# Red is not red enough
    
    Enable Math to use 16 basic HTML colors
    Patch by: Regina Henschel <rb.henschel at t-online.de>
    Found by: <lapsap7+ooo at gmail.com

diff --git a/starmath/inc/parse.hxx b/starmath/inc/parse.hxx
index 578196c..01d8b96 100644
--- a/starmath/inc/parse.hxx
+++ b/starmath/inc/parse.hxx
@@ -95,7 +95,9 @@ enum SmTokenType
     TSINH,          TCOSH,          TTANH,          TCOTH,          TASIN,
     TACOS,          TATAN,          TLN,            TLOG,           TUOPER,
     TBOPER,         TBLACK,         TWHITE,         TRED,           TGREEN,
-    TBLUE,          TCYAN,          TMAGENTA,       TYELLOW,        TFIXED,
+    TBLUE,          TCYAN,          TMAGENTA,       TYELLOW,        TSILVER,
+    TGRAY,          TMAROON,        TPURPLE,        TLIME,          TOLIVE,
+    TNAVY,          TTEAL,          TAQUA,          TFUCHSIA,       TFIXED,
     TSANS,          TSERIF,         TPOINT,         TASINH,         TACOSH,
     TATANH,         TACOTH,         TACOT,          TEXP,           TCDOT,
     TODOT,          TLESLANT,       TGESLANT,       TNSUBSET,       TNSUPSET,
diff --git a/starmath/source/mathmlexport.cxx b/starmath/source/mathmlexport.cxx
index 8f0026d..050242a 100644
--- a/starmath/source/mathmlexport.cxx
+++ b/starmath/source/mathmlexport.cxx
@@ -1281,6 +1281,36 @@ void SmXMLExport::ExportFont(const SmNode *pNode, int nLevel)
         case TYELLOW:
             AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_YELLOW);
             break;
+        case TSILVER:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_SILVER);
+            break;
+        case TGRAY:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_GRAY);
+            break;
+        case TMAROON:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_MAROON);
+            break;
+        case TOLIVE:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_OLIVE);
+            break;
+        case TLIME:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_LIME);
+            break;
+        case TAQUA:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_AQUA);
+            break;
+        case TTEAL:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_TEAL);
+            break;
+        case TNAVY:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_NAVY);
+            break;
+        case TFUCHSIA:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_FUCHSIA);
+            break;
+        case TPURPLE:
+            AddAttribute(XML_NAMESPACE_MATH, XML_COLOR, XML_PURPLE);
+            break;
         case TSIZE:
             {
                 const SmFontNode *pFontNode = static_cast<const SmFontNode *>(pNode);
diff --git a/starmath/source/mathmlimport.cxx b/starmath/source/mathmlimport.cxx
index fd2354b..5f927be4 100644
--- a/starmath/source/mathmlimport.cxx
+++ b/starmath/source/mathmlimport.cxx
@@ -724,6 +724,9 @@ void SmXMLContext_Helper::RetrieveAttrs(const uno::Reference<
             case XML_TOK_COLOR:
                 sColor = sValue;
                 break;
+            case XML_TOK_MATHCOLOR:
+                sColor = sValue;
+                break;
             default:
                 break;
         }
@@ -966,6 +969,9 @@ void SmXMLStyleContext_Impl::StartElement(const uno::Reference<
             case XML_TOK_COLOR:
                 sColor = sValue;
                 break;
+            case XML_TOK_MATHCOLOR:
+                sColor = sValue;
+                break;
             default:
                 break;
         }
@@ -2093,6 +2099,7 @@ static __FAR_DATA SvXMLTokenMapEntry aPresLayoutAttrTokenMap[] =
     { XML_NAMESPACE_MATH,   XML_FONTSIZE,        XML_TOK_FONTSIZE      },
     { XML_NAMESPACE_MATH,   XML_FONTFAMILY,      XML_TOK_FONTFAMILY    },
     { XML_NAMESPACE_MATH,   XML_COLOR,           XML_TOK_COLOR },
+    { XML_NAMESPACE_MATH,   XML_MATHCOLOR,       XML_TOK_MATHCOLOR },
     XML_TOKEN_MAP_END
 };
 
@@ -2150,13 +2157,20 @@ static __FAR_DATA SvXMLTokenMapEntry aColorTokenMap[] =
     { XML_NAMESPACE_MATH,   XML_RED,          TRED},
     { XML_NAMESPACE_MATH,   XML_GREEN,        TGREEN},
     { XML_NAMESPACE_MATH,   XML_BLUE,         TBLUE},
-    { XML_NAMESPACE_MATH,   XML_AQUA,         TCYAN},
-    { XML_NAMESPACE_MATH,   XML_FUCHSIA,      TMAGENTA},
+    { XML_NAMESPACE_MATH,   XML_AQUA,         TAQUA},
+    { XML_NAMESPACE_MATH,   XML_FUCHSIA,      TFUCHSIA},
     { XML_NAMESPACE_MATH,   XML_YELLOW,       TYELLOW},
+    { XML_NAMESPACE_MATH,   XML_NAVY,         TNAVY},
+    { XML_NAMESPACE_MATH,   XML_TEAL,         TTEAL},
+    { XML_NAMESPACE_MATH,   XML_MAROON,       TMAROON},
+    { XML_NAMESPACE_MATH,   XML_PURPLE,       TPURPLE},
+    { XML_NAMESPACE_MATH,   XML_OLIVE,        TOLIVE},
+    { XML_NAMESPACE_MATH,   XML_GRAY,         TGRAY},
+    { XML_NAMESPACE_MATH,   XML_SILVER,       TSILVER},
+    { XML_NAMESPACE_MATH,   XML_LIME,         TLIME},
     XML_TOKEN_MAP_END
 };
 
-
 ////////////////////////////////////////////////////////////
 
 const SvXMLTokenMap& SmXMLImport::GetPresLayoutElemTokenMap()
diff --git a/starmath/source/mathmlimport.hxx b/starmath/source/mathmlimport.hxx
index 603b61d..24e99b6 100644
--- a/starmath/source/mathmlimport.hxx
+++ b/starmath/source/mathmlimport.hxx
@@ -292,7 +292,8 @@ enum SmXMLPresLayoutAttrTokenMap
     XML_TOK_FONTSTYLE,
     XML_TOK_FONTSIZE,
     XML_TOK_FONTFAMILY,
-    XML_TOK_COLOR
+    XML_TOK_COLOR,
+    XML_TOK_MATHCOLOR
 };
 
 
diff --git a/starmath/source/node.cxx b/starmath/source/node.cxx
index bff9321..fe0ac26 100644
--- a/starmath/source/node.cxx
+++ b/starmath/source/node.cxx
@@ -2060,6 +2060,36 @@ void SmFontNode::CreateTextFromNode(String &rText)
         case TYELLOW:
             APPEND(rText,"color yellow ");
             break;
+        case TTEAL:
+            APPEND(rText,"color teal");
+            break;
+        case TSILVER:
+            APPEND(rText,"color silver");
+            break;
+        case TGRAY:
+            APPEND(rText,"color gray");
+            break;
+        case TMAROON:
+            APPEND(rText,"color maroon");
+            break;
+        case TPURPLE:
+            APPEND(rText,"color purple");
+            break;
+        case TLIME:
+            APPEND(rText,"color lime");
+            break;
+        case TOLIVE:
+            APPEND(rText,"color olive");
+            break;
+        case TNAVY:
+            APPEND(rText,"color navy");
+            break;
+        case TAQUA:
+            APPEND(rText,"color aqua");
+            break;
+        case TFUCHSIA:
+            APPEND(rText,"color fuchsia");
+            break;
         case TSANS:
             APPEND(rText,"font sans ");
             break;
@@ -2125,12 +2155,22 @@ void SmFontNode::Arrange(const OutputDevice &rDev, const SmFormat &rFormat)
 
         case TBLACK :   SetColor(Color(COL_BLACK));     break;
         case TWHITE :   SetColor(Color(COL_WHITE));     break;
-        case TRED :     SetColor(Color(COL_RED));       break;
+        case TRED :     SetColor(Color(COL_LIGHTRED));      break;
         case TGREEN :   SetColor(Color(COL_GREEN));     break;
-        case TBLUE :    SetColor(Color(COL_BLUE));      break;
-        case TCYAN :    SetColor(Color(COL_CYAN));      break;
-        case TMAGENTA : SetColor(Color(COL_MAGENTA));   break;
+        case TBLUE :    SetColor(Color(COL_LIGHTBLUE));     break;
+        case TCYAN :    SetColor(Color(COL_LIGHTCYAN));     break; // as in Calc
+        case TMAGENTA : SetColor(Color(COL_LIGHTMAGENTA));  break; // as in Calc
         case TYELLOW :  SetColor(Color(COL_YELLOW));    break;
+        case TTEAL :    SetColor(Color(COL_CYAN));  break;
+        case TSILVER :  SetColor(Color(COL_LIGHTGRAY));  break;
+        case TGRAY :    SetColor(Color(COL_GRAY));  break;
+        case TMAROON :  SetColor(Color(COL_RED));  break;
+        case TPURPLE :  SetColor(Color(COL_MAGENTA));  break;
+        case TLIME :    SetColor(Color(COL_LIGHTGREEN));  break;
+        case TOLIVE :   SetColor(Color(COL_BROWN));  break;
+        case TNAVY :    SetColor(Color(COL_BLUE));  break;
+        case TAQUA :    SetColor(Color(COL_LIGHTCYAN));  break;
+        case TFUCHSIA : SetColor(Color(COL_LIGHTMAGENTA));  break;
 
         default:
             DBG_ASSERT(sal_False, "Sm: unbekannter Fall");
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx
index 85ba0cf..3b3bad9 100644
--- a/starmath/source/parse.cxx
+++ b/starmath/source/parse.cxx
@@ -130,6 +130,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "alignt", TALIGNC, '\0', TGALIGN | TGDISCARDED, 0},
     { "and", TAND, MS_AND, TGPRODUCT, 0},
     { "approx", TAPPROX, MS_APPROX, TGRELATION, 0},
+    { "aqua", TAQUA, '\0', TGCOLOR, 0},
     { "arccos", TACOS, '\0', TGFUNCTION, 5},
     { "arccot", TACOT, '\0', TGFUNCTION, 5},
     { "arcsin", TASIN, '\0', TGFUNCTION, 5},
@@ -183,11 +184,13 @@ static const SmTokenTableEntry aTokenTable[] =
     { "font", TFONT, '\0', TGFONTATTR, 5},
     { "forall", TFORALL, MS_FORALL, TGSTANDALONE, 5},
     { "from", TFROM, '\0', TGLIMIT, 0},
+    { "fuchsia", TFUCHSIA, '\0', TGCOLOR, 0},
     { "func", TFUNC, '\0', TGFUNCTION, 5},
     { "ge", TGE, MS_GE, TGRELATION, 0},
     { "geslant", TGESLANT, MS_GESLANT, TGRELATION, 0 },
     { "gg", TGG, MS_GG, TGRELATION, 0},
     { "grave", TGRAVE, MS_GRAVE, TGATTRIBUT, 5},
+    { "gray", TGRAY, '\0', TGCOLOR, 0},
     { "green", TGREEN, '\0', TGCOLOR, 0},
     { "gt", TGT, MS_GT, TGRELATION, 0},
     { "hat", THAT, MS_HAT, TGATTRIBUT, 5},
@@ -213,6 +216,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "leslant", TLESLANT, MS_LESLANT, TGRELATION, 0 },
     { "lfloor", TLFLOOR, MS_LFLOOR, TGLBRACES, 5},
     { "lim", TLIM, '\0', TGOPER, 5},
+    { "lime", TLIME, '\0', TGCOLOR, 0},
     { "liminf", TLIMINF, '\0', TGOPER, 5},
     { "limsup", TLIMSUP, '\0', TGOPER, 5},
     { "lint", TLINT, MS_LINT, TGOPER, 5},
@@ -226,10 +230,12 @@ static const SmTokenTableEntry aTokenTable[] =
     { "lsup", TLSUP, '\0', TGPOWER, 0},
     { "lt", TLT, MS_LT, TGRELATION, 0},
     { "magenta", TMAGENTA, '\0', TGCOLOR, 0},
+    { "maroon", TMAROON, '\0', TGCOLOR, 0},
     { "matrix", TMATRIX, '\0', 0, 5},
     { "minusplus", TMINUSPLUS, MS_MINUSPLUS, TGUNOPER | TGSUM, 5},
     { "mline", TMLINE, MS_LINE, 0, 0},      //! nicht in TGRBRACES, Level 0
     { "nabla", TNABLA, MS_NABLA, TGSTANDALONE, 5},
+    { "navy", TNAVY, '\0', TGCOLOR, 0},
     { "nbold", TNBOLD, '\0', TGFONTATTR, 5},
     { "ndivides", TNDIVIDES, MS_NDIVIDES, TGRELATION, 0},
     { "neg", TNEG, MS_NEG, TGUNOPER, 5 },
@@ -247,6 +253,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "nsupseteq", TNSUPSETEQ, MS_NSUPSETEQ, TGRELATION, 0 },
     { "odivide", TODIVIDE, MS_ODIVIDE, TGPRODUCT, 0},
     { "odot", TODOT, MS_ODOT, TGPRODUCT, 0},
+    { "olive", TOLIVE, '\0', TGCOLOR, 0},
     { "ominus", TOMINUS, MS_OMINUS, TGSUM, 0},
     { "oper", TOPER, '\0', TGOPER, 5},
     { "oplus", TOPLUS, MS_OPLUS, TGSUM, 0},
@@ -264,6 +271,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "plusminus", TPLUSMINUS, MS_PLUSMINUS, TGUNOPER | TGSUM, 5},
     { "prod", TPROD, MS_PROD, TGOPER, 5},
     { "prop", TPROP, MS_PROP, TGRELATION, 0},
+    { "purple", TPURPLE, '\0', TGCOLOR, 0},
     { "rangle", TRANGLE, MS_RANGLE, TGRBRACES, 0},  //! 0 to terminate expression
     { "rbrace", TRBRACE, MS_RBRACE, TGRBRACES, 0},  //
     { "rceil", TRCEIL, MS_RCEIL, TGRBRACES, 0}, //
@@ -284,6 +292,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "setR" , TSETR, MS_SETR, TGSTANDALONE, 5},
     { "setZ" , TSETZ, MS_SETZ, TGSTANDALONE, 5},
     { "setminus", TBACKSLASH, MS_BACKSLASH, TGPRODUCT, 0 },
+    { "silver", TSILVER, '\0', TGCOLOR, 0},
     { "sim", TSIM, MS_SIM, TGRELATION, 0},
     { "simeq", TSIMEQ, MS_SIMEQ, TGRELATION, 0},
     { "sin", TSIN, '\0', TGFUNCTION, 5},
@@ -301,6 +310,7 @@ static const SmTokenTableEntry aTokenTable[] =
     { "supseteq", TSUPSETEQ, MS_SUPSETEQ, TGRELATION, 0},
     { "tan", TTAN, '\0', TGFUNCTION, 5},
     { "tanh", TTANH, '\0', TGFUNCTION, 5},
+    { "teal", TTEAL, '\0', TGCOLOR, 0},
     { "tilde", TTILDE, MS_TILDE, TGATTRIBUT, 5},
     { "times", TTIMES, MS_TIMES, TGPRODUCT, 0},
     { "to", TTO, '\0', TGLIMIT, 0},


More information about the Libreoffice-commits mailing list