summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRegina Henschel <regina@apache.org>2014-10-30 18:41:23 +0000
committerRegina Henschel <regina@apache.org>2014-10-30 18:41:23 +0000
commit529e59d90037748d0030191b93252e597935243e (patch)
treee7a37532e7154bb9ffc28767864f67f8756398e7
parent603a37eb46a5ed08d3c9c9b342386705cbd00109 (diff)
#i118191# Red is not red enough
Enable Math to use 16 basic HTML colors Patch by: Regina Henschel <rb.henschel@t-online.de> Found by: <lapsap7+ooo@gmail.com
Notes
-rw-r--r--starmath/inc/parse.hxx4
-rw-r--r--starmath/source/mathmlexport.cxx30
-rw-r--r--starmath/source/mathmlimport.cxx20
-rw-r--r--starmath/source/mathmlimport.hxx3
-rw-r--r--starmath/source/node.cxx48
-rw-r--r--starmath/source/parse.cxx10
6 files changed, 106 insertions, 9 deletions
diff --git a/starmath/inc/parse.hxx b/starmath/inc/parse.hxx
index 578196c15f2d..01d8b964e3c8 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 8f0026da63cd..050242afd106 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 fd2354b9665b..5f927be4f799 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 603b61d37abe..24e99b66e9fb 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 bff9321f2c38..fe0ac266ec19 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 85ba0cf9996e..3b3bad932fdd 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},