summaryrefslogtreecommitdiff
path: root/starmath/source
diff options
context:
space:
mode:
authordante <dante19031999@gmail.com>2020-11-15 10:11:16 +0100
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-11-17 13:58:13 +0100
commit0643dab6819bdf248321d27f6b58a2cce125e51c (patch)
treeaf4e2eb9ea2bd598049ed0c588675c948bb1ab15 /starmath/source
parent00944232373588fa32bcbb7ce6fcd01204346241 (diff)
Starmath has now full support of HTML colors.
Some of them have been added to the UI ( from Css3 ). There was not a criteria for color picking so I chose those whose name told me something, those I liked and some to have a more complete palette. It would be nice to be able to ask our users whose colors from https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_Keywords they want in the UI. The color names have been left in alphabetical order. Starmathdatabse has clang format. Change-Id: I6ac1bdbc9e3ed10bff75a99b90bf92d3dcdcabcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105892 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'starmath/source')
-rw-r--r--starmath/source/ElementsDockingWindow.cxx31
-rw-r--r--starmath/source/mathmlimport.cxx4
-rw-r--r--starmath/source/parse.cxx12
-rw-r--r--starmath/source/starmathdatabase.cxx319
-rw-r--r--starmath/source/visitors.cxx25
5 files changed, 339 insertions, 52 deletions
diff --git a/starmath/source/ElementsDockingWindow.cxx b/starmath/source/ElementsDockingWindow.cxx
index 63edc2c2bf56..da7a6c10b343 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -191,7 +191,14 @@ const SmElementDescr SmElementsControl::m_aAttributesList[] =
{RID_COLORX_NAVY, RID_COLORX_NAVY_HELP}, {RID_COLORX_OLIVE, RID_COLORX_OLIVE_HELP},
{RID_COLORX_PURPLE, RID_COLORX_PURPLE_HELP}, {RID_COLORX_SILVER, RID_COLORX_SILVER_HELP},
{RID_COLORX_TEAL, RID_COLORX_TEAL_HELP},{RID_COLORX_RGB, RID_COLORX_RGB_HELP},
- {RID_COLORX_HEX, RID_COLORX_HEX_HELP}
+ {RID_COLORX_HEX, RID_COLORX_HEX_HELP},
+ {nullptr, nullptr},
+ {RID_COLORX_CORAL, RID_COLORX_CORAL_HELP}, {RID_COLORX_MIDNIGHT, RID_COLORX_MIDNIGHT_HELP},
+ {RID_COLORX_CRIMSON, RID_COLORX_CRIMSON_HELP}, {RID_COLORX_VIOLET, RID_COLORX_VIOLET_HELP},
+ {RID_COLORX_ORANGE, RID_COLORX_ORANGE_HELP}, {RID_COLORX_ORANGERED, RID_COLORX_ORANGERED_HELP},
+ {RID_COLORX_SEAGREEN, RID_COLORX_SEAGREEN_HELP}, {RID_COLORX_INDIGO, RID_COLORX_INDIGO_HELP},
+ {RID_COLORX_HOTPINK, RID_COLORX_HOTPINK_HELP}, {RID_COLORX_LAVENDER, RID_COLORX_LAVENDER_HELP},
+ {RID_COLORX_SNOW, RID_COLORX_SNOW_HELP},
};
const SmElementDescr SmElementsControl::m_aBracketsList[] =
@@ -933,6 +940,28 @@ void SmElementsControl::addElements(const SmElementDescr aElementsArray[], sal_u
addElement(aParser, "color silver { \"" + SmResId(STR_SILVER) + "\" }", aElement, SmResId(pElementHelp));
else if (aElement == RID_COLORX_TEAL)
addElement(aParser, "color teal { \"" + SmResId(STR_TEAL) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_CORAL)
+ addElement(aParser, "color coral { \"" + SmResId(STR_CORAL) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_CRIMSON)
+ addElement(aParser, "color crimson { \"" + SmResId(STR_CRIMSON) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_MIDNIGHT)
+ addElement(aParser, "color midnightblue { \"" + SmResId(STR_MIDNIGHT) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_VIOLET)
+ addElement(aParser, "color violet { \"" + SmResId(STR_VIOLET) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_ORANGE)
+ addElement(aParser, "color orange { \"" + SmResId(STR_ORANGE) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_ORANGERED)
+ addElement(aParser, "color orangered { \"" + SmResId(STR_ORANGERED) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_SEAGREEN)
+ addElement(aParser, "color seagreen { \"" + SmResId(STR_SEAGREEN) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_INDIGO)
+ addElement(aParser, "color indigo { \"" + SmResId(STR_INDIGO) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_HOTPINK)
+ addElement(aParser, "color hotpink { \"" + SmResId(STR_HOTPINK) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_SNOW)
+ addElement(aParser, "color snow { \"" + SmResId(STR_SNOW) + "\" }", aElement, SmResId(pElementHelp));
+ else if (aElement == RID_COLORX_LAVENDER)
+ addElement(aParser, "color lavender { \"" + SmResId(STR_LAVENDER) + "\" }", aElement, SmResId(pElementHelp));
else if (aElement == RID_COLORX_RGB)
addElement(aParser, "color rgb 0 0 0 { \"" + SmResId(STR_RGB) + "\" }", aElement, SmResId(pElementHelp));
else if (aElement == RID_COLORX_RGBA)
diff --git a/starmath/source/mathmlimport.cxx b/starmath/source/mathmlimport.cxx
index 7a3ca34b9a5a..543a8d02fcb2 100644
--- a/starmath/source/mathmlimport.cxx
+++ b/starmath/source/mathmlimport.cxx
@@ -698,7 +698,9 @@ void SmXMLContext_Helper::ApplyAttrs()
{
std::unique_ptr<SmColorTokenTableEntry> aSmColorTokenTableEntry;
aSmColorTokenTableEntry = starmathdatabase::Identify_ColorName_HTML( sColor );
- if( aSmColorTokenTableEntry )
+ if( aSmColorTokenTableEntry->eType == TRGB )
+ aSmColorTokenTableEntry = starmathdatabase::Identify_Color_Parser( sal_uInt32(aSmColorTokenTableEntry->cColor) );
+ if( aSmColorTokenTableEntry->eType != TERROR )
{
aToken = aSmColorTokenTableEntry;
std::unique_ptr<SmFontNode> pFontNode(new SmFontNode(aToken));
diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx
index 86864bd612b2..4ac26866e07c 100644
--- a/starmath/source/parse.cxx
+++ b/starmath/source/parse.cxx
@@ -954,7 +954,7 @@ void SmParser::NextToken() //Central part of the parser
m_nBufferIndex = aRes.EndPos;
}
-void SmParser::NextTokenColor()
+void SmParser::NextTokenColor(bool dvipload)
{
sal_Int32 nBufLen = m_aBufferString.getLength();
@@ -1008,9 +1008,9 @@ void SmParser::NextTokenColor()
assert(n >= 0);
OUString aName( m_aBufferString.copy( nRealStart, n ) );
std::unique_ptr<SmColorTokenTableEntry> aSmColorTokenTableEntry;
- aSmColorTokenTableEntry = starmathdatabase::Identify_ColorName_Parser( aName );
- if ( aSmColorTokenTableEntry ) m_aCurToken = aSmColorTokenTableEntry;
- else m_aCurToken.eType = TNONE;
+ if(dvipload) aSmColorTokenTableEntry = starmathdatabase::Identify_ColorName_DVIPSNAMES( aName );
+ else aSmColorTokenTableEntry = starmathdatabase::Identify_ColorName_Parser( aName );
+ m_aCurToken = aSmColorTokenTableEntry;
}
else if (aRes.TokenType & KParseType::ONE_SINGLE_CHAR)
{
@@ -2085,9 +2085,11 @@ std::unique_ptr<SmStructureNode> SmParser::DoColor()
if (aDepthGuard.TooDeep()) throw std::range_error("parser depth limit");
assert(m_aCurToken.eType == TCOLOR);
- NextTokenColor();
+ NextTokenColor(false);
SmToken aToken;
+ if( m_aCurToken.eType == TDVIPSNAMESCOL ) NextTokenColor(true);
+ if( m_aCurToken.eType == TERROR ) return DoError(SmParseError::ColorExpected);
if (TokenInGroup(TG::Color))
{
aToken = m_aCurToken;
diff --git a/starmath/source/starmathdatabase.cxx b/starmath/source/starmathdatabase.cxx
index ecab361f73c0..90a29c62db6c 100644
--- a/starmath/source/starmathdatabase.cxx
+++ b/starmath/source/starmathdatabase.cxx
@@ -358,72 +358,328 @@ SmToken starmathdatabase::Identify_PrefixPostfix_SmXMLOperatorContext_Impl(sal_U
}
const SmColorTokenTableEntry starmathdatabase::aColorTokenTableParse[]
- = { { "apricot", "Apricot", TDVIPSNAMESCOL, COL_SM_DIV_APRICOT },
+ = { { "aliceblue", "aliceblue", THTMLCOL, COL_SM_ALICEBLUE },
+ { "antiquewhite", "antiquewhite", THTMLCOL, COL_SM_ANTIQUEWHITE },
{ "aqua", "aqua", THTMLCOL, COL_SM_AQUA },
- { "aquamarine", "Aquamarine", TDVIPSNAMESCOL, COL_SM_DIV_AQUAMARINE },
- { "bittersweet", "Bittersweet", TDVIPSNAMESCOL, COL_SM_DIV_BITTERSWEET },
+ { "aquamarine", "aquamarine", THTMLCOL, COL_SM_AQUAMARINE },
+ { "azure", "azure", THTMLCOL, COL_SM_AZURE },
+ { "beige", "beige", THTMLCOL, COL_SM_BEIGE },
+ { "bisque", "bisque", THTMLCOL, COL_SM_BISQUE },
{ "black", "black", THTMLCOL, COL_SM_BLACK },
+ { "blanchedalmond", "blanchedalmond", THTMLCOL, COL_SM_BLANCHEDALMOND },
{ "blue", "blue", THTMLCOL, COL_SM_BLUE },
- { "cyan", "cyan", THTMLCOL, COL_SM_BLACK },
+ { "blueviolet", "blueviolet", THTMLCOL, COL_SM_BLUEVIOLET },
+ { "brown", "brown", THTMLCOL, COL_SM_BROWN },
+ { "burlywood", "burlywood", THTMLCOL, COL_SM_BURLYWOOD },
+ { "cadetblue", "cadetblue", THTMLCOL, COL_SM_CADETBLUE },
+ { "chartreuse", "chartreuse", THTMLCOL, COL_SM_CHARTREUSE },
+ { "chocolate", "chocolate", THTMLCOL, COL_SM_CHOCOLATE },
+ { "coral", "coral", THTMLCOL, COL_SM_CORAL },
+ { "cornflowerblue", "cornflowerblue", THTMLCOL, COL_SM_CORNFLOWERBLUE },
+ { "cornsilk", "cornsilk", THTMLCOL, COL_SM_CORNSILK },
+ { "crimson", "crimson", THTMLCOL, COL_SM_CRIMSON },
+ { "cyan", "cyan", THTMLCOL, COL_SM_CYAN },
+ { "darkblue", "darkblue", THTMLCOL, COL_SM_DARKBLUE },
+ { "darkcyan", "darkcyan", THTMLCOL, COL_SM_DARKCYAN },
+ { "darkgoldenrod", "darkgoldenrod", THTMLCOL, COL_SM_DARKGOLDENROD },
+ { "darkgray", "darkgray", THTMLCOL, COL_SM_DARKGRAY },
+ { "darkgreen", "darkgreen", THTMLCOL, COL_SM_DARKGREEN },
+ { "darkgrey", "darkgrey", THTMLCOL, COL_SM_DARKGREY },
+ { "darkkhaki", "darkkhaki", THTMLCOL, COL_SM_DARKKHAKI },
+ { "darkmagenta", "darkmagenta", THTMLCOL, COL_SM_DARKMAGENTA },
+ { "darkolivegreen", "darkolivegreen", THTMLCOL, COL_SM_DARKOLIVEGREEN },
+ { "darkorange", "darkorange", THTMLCOL, COL_SM_DARKORANGE },
+ { "darkorchid", "darkorchid", THTMLCOL, COL_SM_DARKORCHID },
+ { "darkred", "darkred", THTMLCOL, COL_SM_DARKRED },
+ { "darksalmon", "darksalmon", THTMLCOL, COL_SM_DARKSALMON },
+ { "darkseagreen", "darkseagreen", THTMLCOL, COL_SM_DARKSEAGREEN },
+ { "darkslateblue", "darkslateblue", THTMLCOL, COL_SM_DARKSLATEBLUE },
+ { "darkslategray", "darkslategray", THTMLCOL, COL_SM_DARKSLATEGRAY },
+ { "darkslategrey", "darkslategrey", THTMLCOL, COL_SM_DARKSLATEGREY },
+ { "darkturquoise", "darkturquoise", THTMLCOL, COL_SM_DARKTURQUOISE },
+ { "darkviolet", "darkviolet", THTMLCOL, COL_SM_DARKVIOLET },
{ "debian", "", TICONICCOL, COL_SM_DEBIAN_MAGENTA },
- { "dblack", "Black", TDVIPSNAMESCOL, COL_SM_BLACK },
- { "dblue", "Blue", TDVIPSNAMESCOL, COL_SM_BLACK },
+ { "deeppink", "deeppink", THTMLCOL, COL_SM_DEEPPINK },
+ { "deepskyblue", "deepskyblue", THTMLCOL, COL_SM_DEEPSKYBLUE },
+ { "dimgray", "dimgray", THTMLCOL, COL_SM_DIMGRAY },
+ { "dimgrey", "dimgrey", THTMLCOL, COL_SM_DIMGREY },
+ { "dodgerblue", "dodgerblue", THTMLCOL, COL_SM_DODGERBLUE },
+ { "dvip", "dvip", TDVIPSNAMESCOL, COL_SM_BLACK },
+ { "firebrick", "firebrick", THTMLCOL, COL_SM_FIREBRICK },
+ { "floralwhite", "floralwhite", THTMLCOL, COL_SM_FLORALWHITE },
+ { "forestgreen", "forestgreen", THTMLCOL, COL_SM_FORESTGREEN },
{ "fuchsia", "fuchsia", THTMLCOL, COL_SM_FUCHSIA },
+ { "gainsboro", "gainsboro", THTMLCOL, COL_SM_GAINSBORO },
+ { "ghostwhite", "ghostwhite", THTMLCOL, COL_SM_GHOSTWHITE },
+ { "gold", "gold", THTMLCOL, COL_SM_GOLD },
+ { "goldenrod", "goldenrod", THTMLCOL, COL_SM_GOLDENROD },
{ "gray", "gray", THTMLCOL, COL_SM_GRAY },
{ "green", "green", THTMLCOL, COL_SM_GREEN },
+ { "greenyellow", "greenyellow", THTMLCOL, COL_SM_GREENYELLOW },
+ { "grey", "grey", THTMLCOL, COL_SM_GREY },
{ "hex", "hex", THEX, COL_SM_BLACK },
+ { "honeydew", "honeydew", THTMLCOL, COL_SM_HONEYDEW },
+ { "hotpink", "hotpink", THTMLCOL, COL_SM_HOTPINK },
+ { "indianred", "indianred", THTMLCOL, COL_SM_INDIANRED },
+ { "indigo", "indigo", THTMLCOL, COL_SM_INDIGO },
+ { "ivory", "ivory", THTMLCOL, COL_SM_IVORY },
+ { "khaki", "khaki", THTMLCOL, COL_SM_KHAKI },
+ { "lavender", "lavender", THTMLCOL, COL_SM_LAVENDER },
+ { "lavenderblush", "lavenderblush", THTMLCOL, COL_SM_LAVENDERBLUSH },
+ { "lawngreen", "lawngreen", THTMLCOL, COL_SM_LAWNGREEN },
+ { "lemonchiffon", "lemonchiffon", THTMLCOL, COL_SM_LEMONCHIFFON },
+ { "lightblue", "lightblue", THTMLCOL, COL_SM_LIGHTBLUE },
+ { "lightcoral", "lightcoral", THTMLCOL, COL_SM_LIGHTCORAL },
+ { "lightcyan", "lightcyan", THTMLCOL, COL_SM_LIGHTCYAN },
+ { "lightgoldenrodyellow", "lightgoldenrodyellow", THTMLCOL, COL_SM_LIGHTGOLDENRODYELLOW },
+ { "lightgray", "lightgray", THTMLCOL, COL_SM_LIGHTGRAY },
+ { "lightgreen", "lightgreen", THTMLCOL, COL_SM_LIGHTGREEN },
+ { "lightgrey", "lightgrey", THTMLCOL, COL_SM_LIGHTGREY },
+ { "lightpink", "lightpink", THTMLCOL, COL_SM_LIGHTPINK },
+ { "lightsalmon", "lightsalmon", THTMLCOL, COL_SM_LIGHTSALMON },
+ { "lightseagreen", "lightseagreen", THTMLCOL, COL_SM_LIGHTSEAGREEN },
+ { "lightskyblue", "lightskyblue", THTMLCOL, COL_SM_LIGHTSKYBLUE },
+ { "lightslategray", "lightslategray", THTMLCOL, COL_SM_LIGHTSLATEGRAY },
+ { "lightslategrey", "lightslategrey", THTMLCOL, COL_SM_LIGHTSLATEGREY },
+ { "lightsteelblue", "lightsteelblue", THTMLCOL, COL_SM_LIGHTSTEELBLUE },
+ { "lightyellow", "lightyellow", THTMLCOL, COL_SM_LIGHTYELLOW },
{ "lime", "lime", THTMLCOL, COL_SM_LIME },
+ { "limegreen", "limegreen", THTMLCOL, COL_SM_LIMEGREEN },
+ { "linen", "linen", THTMLCOL, COL_SM_LINEN },
{ "lo", "", TICONICCOL, COL_SM_LO_GREEN },
- { "magenta", "magenta", THTMLCOL, COL_SM_FUCHSIA },
+ { "magenta", "magenta", THTMLCOL, COL_SM_MAGENTA },
{ "maroon", "maroon", THTMLCOL, COL_SM_MAROON },
+ { "mediumaquamarine", "mediumaquamarine", THTMLCOL, COL_SM_MEDIUMAQUAMARINE },
+ { "mediumblue", "mediumblue", THTMLCOL, COL_SM_MEDIUMBLUE },
+ { "mediumorchid", "mediumorchid", THTMLCOL, COL_SM_MEDIUMORCHID },
+ { "mediumpurple", "mediumpurple", THTMLCOL, COL_SM_MEDIUMPURPLE },
+ { "mediumseagreen", "mediumseagreen", THTMLCOL, COL_SM_MEDIUMSEAGREEN },
+ { "mediumslateblue", "mediumslateblue", THTMLCOL, COL_SM_MEDIUMSLATEBLUE },
+ { "mediumspringgreen", "mediumspringgreen", THTMLCOL, COL_SM_MEDIUMSPRINGGREEN },
+ { "mediumturquoise", "mediumturquoise", THTMLCOL, COL_SM_MEDIUMTURQUOISE },
+ { "mediumvioletred", "mediumvioletred", THTMLCOL, COL_SM_MEDIUMVIOLETRED },
+ { "midnightblue", "midnightblue", THTMLCOL, COL_SM_MIDNIGHTBLUE },
+ { "mintcream", "mintcream", THTMLCOL, COL_SM_MINTCREAM },
+ { "mistyrose", "mistyrose", THTMLCOL, COL_SM_MISTYROSE },
+ { "moccasin", "moccasin", THTMLCOL, COL_SM_MOCCASIN },
+ { "navajowhite", "navajowhite", THTMLCOL, COL_SM_NAVAJOWHITE },
{ "navy", "navy", THTMLCOL, COL_SM_NAVY },
+ { "oldlace", "oldlace", THTMLCOL, COL_SM_OLDLACE },
{ "olive", "olive", THTMLCOL, COL_SM_OLIVE },
+ { "olivedrab", "olivedrab", THTMLCOL, COL_SM_OLIVEDRAB },
+ { "orange", "orange", THTMLCOL, COL_SM_ORANGE },
+ { "orangered", "orangered", THTMLCOL, COL_SM_ORANGERED },
+ { "orchid", "orchid", THTMLCOL, COL_SM_ORCHID },
+ { "palegoldenrod", "palegoldenrod", THTMLCOL, COL_SM_PALEGOLDENROD },
+ { "palegreen", "palegreen", THTMLCOL, COL_SM_PALEGREEN },
+ { "paleturquoise", "paleturquoise", THTMLCOL, COL_SM_PALETURQUOISE },
+ { "palevioletred", "palevioletred", THTMLCOL, COL_SM_PALEVIOLETRED },
+ { "papayawhip", "papayawhip", THTMLCOL, COL_SM_PAPAYAWHIP },
+ { "peachpuff", "peachpuff", THTMLCOL, COL_SM_PEACHPUFF },
+ { "peru", "peru", THTMLCOL, COL_SM_PERU },
+ { "pink", "pink", THTMLCOL, COL_SM_PINK },
+ { "plum", "plum", THTMLCOL, COL_SM_PLUM },
+ { "powderblue", "powderblue", THTMLCOL, COL_SM_POWDERBLUE },
{ "purple", "purple", THTMLCOL, COL_SM_PURPLE },
{ "rebeccapurple", "rebeccapurple", THTMLCOL, COL_SM_REBECCAPURPLE },
{ "red", "red", THTMLCOL, COL_SM_RED },
{ "rgb", "rgb", TRGB, COL_AUTO },
{ "rgba", "rgba", TRGBA, COL_AUTO },
+ { "rosybrown", "rosybrown", THTMLCOL, COL_SM_ROSYBROWN },
+ { "royalblue", "royalblue", THTMLCOL, COL_SM_ROYALBLUE },
+ { "saddlebrown", "saddlebrown", THTMLCOL, COL_SM_SADDLEBROWN },
+ { "salmon", "salmon", THTMLCOL, COL_SM_SALMON },
+ { "sandybrown", "sandybrown", THTMLCOL, COL_SM_SANDYBROWN },
+ { "seagreen", "seagreen", THTMLCOL, COL_SM_SEAGREEN },
+ { "seashell", "seashell", THTMLCOL, COL_SM_SEASHELL },
+ { "sienna", "sienna", THTMLCOL, COL_SM_SIENNA },
{ "silver", "silver", THTMLCOL, COL_SM_SILVER },
+ { "skyblue", "skyblue", THTMLCOL, COL_SM_SKYBLUE },
+ { "slateblue", "slateblue", THTMLCOL, COL_SM_SLATEBLUE },
+ { "slategray", "slategray", THTMLCOL, COL_SM_SLATEGRAY },
+ { "slategrey", "slategrey", THTMLCOL, COL_SM_SLATEGREY },
+ { "snow", "snow", THTMLCOL, COL_SM_SNOW },
+ { "springgreen", "springgreen", THTMLCOL, COL_SM_SPRINGGREEN },
+ { "steelblue", "steelblue", THTMLCOL, COL_SM_STEELBLUE },
+ { "tan", "tan", THTMLCOL, COL_SM_TAN },
{ "teal", "teal", THTMLCOL, COL_SM_TEAL },
+ { "thistle", "thistle", THTMLCOL, COL_SM_THISTLE },
+ { "tomato", "tomato", THTMLCOL, COL_SM_TOMATO },
+ { "turquoise", "turquoise", THTMLCOL, COL_SM_TURQUOISE },
{ "ubuntu", "", TICONICCOL, COL_SM_UBUNTU_ORANGE },
+ { "violet", "COL_SM_VIOLET", THTMLCOL, COL_SM_VIOLET },
+ { "wheat", "wheat", THTMLCOL, COL_SM_WHEAT },
{ "white", "white", THTMLCOL, COL_SM_WHITE },
- { "yellow", "yellow", THTMLCOL, COL_SM_YELLOW } };
+ { "whitesmoke", "whitesmoke", THTMLCOL, COL_SM_WHITESMOKE },
+ { "yellow", "yellow", THTMLCOL, COL_SM_YELLOW },
+ { "yellowgreen", "yellowgreen", THTMLCOL, COL_SM_YELLOWGREEN } };
const SmColorTokenTableEntry starmathdatabase::aColorTokenTableHTML[]
- = { { "aqua", "aqua", THTMLCOL, COL_SM_AQUA },
+ = { { "aliceblue", "aliceblue", THTMLCOL, COL_SM_ALICEBLUE },
+ { "antiquewhite", "antiquewhite", THTMLCOL, COL_SM_ANTIQUEWHITE },
+ { "aqua", "aqua", THTMLCOL, COL_SM_AQUA },
+ { "aquamarine", "aquamarine", THTMLCOL, COL_SM_AQUAMARINE },
+ { "azure", "azure", THTMLCOL, COL_SM_AZURE },
+ { "beige", "beige", THTMLCOL, COL_SM_BEIGE },
+ { "bisque", "bisque", THTMLCOL, COL_SM_BISQUE },
{ "black", "black", THTMLCOL, COL_SM_BLACK },
+ { "blanchedalmond", "blanchedalmond", THTMLCOL, COL_SM_BLANCHEDALMOND },
{ "blue", "blue", THTMLCOL, COL_SM_BLUE },
- { "cyan", "cyan", THTMLCOL, COL_SM_BLACK },
+ { "blueviolet", "blueviolet", THTMLCOL, COL_SM_BLUEVIOLET },
+ { "brown", "brown", THTMLCOL, COL_SM_BROWN },
+ { "burlywood", "burlywood", THTMLCOL, COL_SM_BURLYWOOD },
+ { "cadetblue", "cadetblue", THTMLCOL, COL_SM_CADETBLUE },
+ { "chartreuse", "chartreuse", THTMLCOL, COL_SM_CHARTREUSE },
+ { "chocolate", "chocolate", THTMLCOL, COL_SM_CHOCOLATE },
+ { "coral", "coral", THTMLCOL, COL_SM_CORAL },
+ { "cornflowerblue", "cornflowerblue", THTMLCOL, COL_SM_CORNFLOWERBLUE },
+ { "cornsilk", "cornsilk", THTMLCOL, COL_SM_CORNSILK },
+ { "crimson", "crimson", THTMLCOL, COL_SM_CRIMSON },
+ { "cyan", "cyan", THTMLCOL, COL_SM_CYAN },
+ { "darkblue", "darkblue", THTMLCOL, COL_SM_DARKBLUE },
+ { "darkcyan", "darkcyan", THTMLCOL, COL_SM_DARKCYAN },
+ { "darkgoldenrod", "darkgoldenrod", THTMLCOL, COL_SM_DARKGOLDENROD },
+ { "darkgray", "darkgray", THTMLCOL, COL_SM_DARKGRAY },
+ { "darkgreen", "darkgreen", THTMLCOL, COL_SM_DARKGREEN },
+ { "darkgrey", "darkgrey", THTMLCOL, COL_SM_DARKGREY },
+ { "darkkhaki", "darkkhaki", THTMLCOL, COL_SM_DARKKHAKI },
+ { "darkmagenta", "darkmagenta", THTMLCOL, COL_SM_DARKMAGENTA },
+ { "darkolivegreen", "darkolivegreen", THTMLCOL, COL_SM_DARKOLIVEGREEN },
+ { "darkorange", "darkorange", THTMLCOL, COL_SM_DARKORANGE },
+ { "darkorchid", "darkorchid", THTMLCOL, COL_SM_DARKORCHID },
+ { "darkred", "darkred", THTMLCOL, COL_SM_DARKRED },
+ { "darksalmon", "darksalmon", THTMLCOL, COL_SM_DARKSALMON },
+ { "darkseagreen", "darkseagreen", THTMLCOL, COL_SM_DARKSEAGREEN },
+ { "darkslateblue", "darkslateblue", THTMLCOL, COL_SM_DARKSLATEBLUE },
+ { "darkslategray", "darkslategray", THTMLCOL, COL_SM_DARKSLATEGRAY },
+ { "darkslategrey", "darkslategrey", THTMLCOL, COL_SM_DARKSLATEGREY },
+ { "darkturquoise", "darkturquoise", THTMLCOL, COL_SM_DARKTURQUOISE },
+ { "darkviolet", "darkviolet", THTMLCOL, COL_SM_DARKVIOLET },
+ { "deeppink", "deeppink", THTMLCOL, COL_SM_DEEPPINK },
+ { "deepskyblue", "deepskyblue", THTMLCOL, COL_SM_DEEPSKYBLUE },
+ { "dimgray", "dimgray", THTMLCOL, COL_SM_DIMGRAY },
+ { "dimgrey", "dimgrey", THTMLCOL, COL_SM_DIMGREY },
+ { "dodgerblue", "dodgerblue", THTMLCOL, COL_SM_DODGERBLUE },
+ { "firebrick", "firebrick", THTMLCOL, COL_SM_FIREBRICK },
+ { "floralwhite", "floralwhite", THTMLCOL, COL_SM_FLORALWHITE },
+ { "forestgreen", "forestgreen", THTMLCOL, COL_SM_FORESTGREEN },
{ "fuchsia", "fuchsia", THTMLCOL, COL_SM_FUCHSIA },
+ { "gainsboro", "gainsboro", THTMLCOL, COL_SM_GAINSBORO },
+ { "ghostwhite", "ghostwhite", THTMLCOL, COL_SM_GHOSTWHITE },
+ { "gold", "gold", THTMLCOL, COL_SM_GOLD },
+ { "goldenrod", "goldenrod", THTMLCOL, COL_SM_GOLDENROD },
{ "gray", "gray", THTMLCOL, COL_SM_GRAY },
{ "green", "green", THTMLCOL, COL_SM_GREEN },
- { "hex", "hex", THEX, COL_SM_BLACK },
+ { "greenyellow", "greenyellow", THTMLCOL, COL_SM_GREENYELLOW },
+ { "grey", "grey", THTMLCOL, COL_SM_GREY },
+ { "honeydew", "honeydew", THTMLCOL, COL_SM_HONEYDEW },
+ { "hotpink", "hotpink", THTMLCOL, COL_SM_HOTPINK },
+ { "indianred", "indianred", THTMLCOL, COL_SM_INDIANRED },
+ { "indigo", "indigo", THTMLCOL, COL_SM_INDIGO },
+ { "ivory", "ivory", THTMLCOL, COL_SM_IVORY },
+ { "khaki", "khaki", THTMLCOL, COL_SM_KHAKI },
+ { "lavender", "lavender", THTMLCOL, COL_SM_LAVENDER },
+ { "lavenderblush", "lavenderblush", THTMLCOL, COL_SM_LAVENDERBLUSH },
+ { "lawngreen", "lawngreen", THTMLCOL, COL_SM_LAWNGREEN },
+ { "lemonchiffon", "lemonchiffon", THTMLCOL, COL_SM_LEMONCHIFFON },
+ { "lightblue", "lightblue", THTMLCOL, COL_SM_LIGHTBLUE },
+ { "lightcoral", "lightcoral", THTMLCOL, COL_SM_LIGHTCORAL },
+ { "lightcyan", "lightcyan", THTMLCOL, COL_SM_LIGHTCYAN },
+ { "lightgoldenrodyellow", "lightgoldenrodyellow", THTMLCOL, COL_SM_LIGHTGOLDENRODYELLOW },
+ { "lightgray", "lightgray", THTMLCOL, COL_SM_LIGHTGRAY },
+ { "lightgreen", "lightgreen", THTMLCOL, COL_SM_LIGHTGREEN },
+ { "lightgrey", "lightgrey", THTMLCOL, COL_SM_LIGHTGREY },
+ { "lightpink", "lightpink", THTMLCOL, COL_SM_LIGHTPINK },
+ { "lightsalmon", "lightsalmon", THTMLCOL, COL_SM_LIGHTSALMON },
+ { "lightseagreen", "lightseagreen", THTMLCOL, COL_SM_LIGHTSEAGREEN },
+ { "lightskyblue", "lightskyblue", THTMLCOL, COL_SM_LIGHTSKYBLUE },
+ { "lightslategray", "lightslategray", THTMLCOL, COL_SM_LIGHTSLATEGRAY },
+ { "lightslategrey", "lightslategrey", THTMLCOL, COL_SM_LIGHTSLATEGREY },
+ { "lightsteelblue", "lightsteelblue", THTMLCOL, COL_SM_LIGHTSTEELBLUE },
+ { "lightyellow", "lightyellow", THTMLCOL, COL_SM_LIGHTYELLOW },
{ "lime", "lime", THTMLCOL, COL_SM_LIME },
- { "magenta", "magenta", THTMLCOL, COL_SM_FUCHSIA },
+ { "limegreen", "limegreen", THTMLCOL, COL_SM_LIMEGREEN },
+ { "linen", "linen", THTMLCOL, COL_SM_LINEN },
+ { "magenta", "magenta", THTMLCOL, COL_SM_MAGENTA },
{ "maroon", "maroon", THTMLCOL, COL_SM_MAROON },
+ { "mediumaquamarine", "mediumaquamarine", THTMLCOL, COL_SM_MEDIUMAQUAMARINE },
+ { "mediumblue", "mediumblue", THTMLCOL, COL_SM_MEDIUMBLUE },
+ { "mediumorchid", "mediumorchid", THTMLCOL, COL_SM_MEDIUMORCHID },
+ { "mediumpurple", "mediumpurple", THTMLCOL, COL_SM_MEDIUMPURPLE },
+ { "mediumseagreen", "mediumseagreen", THTMLCOL, COL_SM_MEDIUMSEAGREEN },
+ { "mediumslateblue", "mediumslateblue", THTMLCOL, COL_SM_MEDIUMSLATEBLUE },
+ { "mediumspringgreen", "mediumspringgreen", THTMLCOL, COL_SM_MEDIUMSPRINGGREEN },
+ { "mediumturquoise", "mediumturquoise", THTMLCOL, COL_SM_MEDIUMTURQUOISE },
+ { "mediumvioletred", "mediumvioletred", THTMLCOL, COL_SM_MEDIUMVIOLETRED },
+ { "midnightblue", "midnightblue", THTMLCOL, COL_SM_MIDNIGHTBLUE },
+ { "mintcream", "mintcream", THTMLCOL, COL_SM_MINTCREAM },
+ { "mistyrose", "mistyrose", THTMLCOL, COL_SM_MISTYROSE },
+ { "moccasin", "moccasin", THTMLCOL, COL_SM_MOCCASIN },
+ { "navajowhite", "navajowhite", THTMLCOL, COL_SM_NAVAJOWHITE },
{ "navy", "navy", THTMLCOL, COL_SM_NAVY },
+ { "oldlace", "oldlace", THTMLCOL, COL_SM_OLDLACE },
{ "olive", "olive", THTMLCOL, COL_SM_OLIVE },
+ { "olivedrab", "olivedrab", THTMLCOL, COL_SM_OLIVEDRAB },
+ { "orange", "orange", THTMLCOL, COL_SM_ORANGE },
+ { "orangered", "orangered", THTMLCOL, COL_SM_ORANGERED },
+ { "orchid", "orchid", THTMLCOL, COL_SM_ORCHID },
+ { "palegoldenrod", "palegoldenrod", THTMLCOL, COL_SM_PALEGOLDENROD },
+ { "palegreen", "palegreen", THTMLCOL, COL_SM_PALEGREEN },
+ { "paleturquoise", "paleturquoise", THTMLCOL, COL_SM_PALETURQUOISE },
+ { "palevioletred", "palevioletred", THTMLCOL, COL_SM_PALEVIOLETRED },
+ { "papayawhip", "papayawhip", THTMLCOL, COL_SM_PAPAYAWHIP },
+ { "peachpuff", "peachpuff", THTMLCOL, COL_SM_PEACHPUFF },
+ { "peru", "peru", THTMLCOL, COL_SM_PERU },
+ { "pink", "pink", THTMLCOL, COL_SM_PINK },
+ { "plum", "plum", THTMLCOL, COL_SM_PLUM },
+ { "powderblue", "powderblue", THTMLCOL, COL_SM_POWDERBLUE },
{ "purple", "purple", THTMLCOL, COL_SM_PURPLE },
{ "rebeccapurple", "rebeccapurple", THTMLCOL, COL_SM_REBECCAPURPLE },
{ "red", "red", THTMLCOL, COL_SM_RED },
+ { "rosybrown", "rosybrown", THTMLCOL, COL_SM_ROSYBROWN },
+ { "royalblue", "royalblue", THTMLCOL, COL_SM_ROYALBLUE },
+ { "saddlebrown", "saddlebrown", THTMLCOL, COL_SM_SADDLEBROWN },
+ { "salmon", "salmon", THTMLCOL, COL_SM_SALMON },
+ { "sandybrown", "sandybrown", THTMLCOL, COL_SM_SANDYBROWN },
+ { "seagreen", "seagreen", THTMLCOL, COL_SM_SEAGREEN },
+ { "seashell", "seashell", THTMLCOL, COL_SM_SEASHELL },
+ { "sienna", "sienna", THTMLCOL, COL_SM_SIENNA },
{ "silver", "silver", THTMLCOL, COL_SM_SILVER },
+ { "skyblue", "skyblue", THTMLCOL, COL_SM_SKYBLUE },
+ { "slateblue", "slateblue", THTMLCOL, COL_SM_SLATEBLUE },
+ { "slategray", "slategray", THTMLCOL, COL_SM_SLATEGRAY },
+ { "slategrey", "slategrey", THTMLCOL, COL_SM_SLATEGREY },
+ { "snow", "snow", THTMLCOL, COL_SM_SNOW },
+ { "springgreen", "springgreen", THTMLCOL, COL_SM_SPRINGGREEN },
+ { "steelblue", "steelblue", THTMLCOL, COL_SM_STEELBLUE },
+ { "tan", "tan", THTMLCOL, COL_SM_TAN },
{ "teal", "teal", THTMLCOL, COL_SM_TEAL },
+ { "thistle", "thistle", THTMLCOL, COL_SM_THISTLE },
+ { "tomato", "tomato", THTMLCOL, COL_SM_TOMATO },
+ { "turquoise", "turquoise", THTMLCOL, COL_SM_TURQUOISE },
+ { "violet", "COL_SM_VIOLET", THTMLCOL, COL_SM_VIOLET },
+ { "wheat", "wheat", THTMLCOL, COL_SM_WHEAT },
{ "white", "white", THTMLCOL, COL_SM_WHITE },
- { "yellow", "yellow", THTMLCOL, COL_SM_YELLOW } };
+ { "whitesmoke", "whitesmoke", THTMLCOL, COL_SM_WHITESMOKE },
+ { "yellow", "yellow", THTMLCOL, COL_SM_YELLOW },
+ { "yellowgreen", "yellowgreen", THTMLCOL, COL_SM_YELLOWGREEN } };
-const SmColorTokenTableEntry starmathdatabase::aColorTokenTableDVIPSNAMES[] = {
- { "apricot", "Apricot", TDVIPSNAMESCOL, COL_SM_DIV_APRICOT },
- { "aquamarine", "Aquamarine", TDVIPSNAMESCOL, COL_SM_DIV_AQUAMARINE },
- { "bittersweet", "Bittersweet", TDVIPSNAMESCOL, COL_SM_DIV_BITTERSWEET },
- { "dblack", "Black", TDVIPSNAMESCOL, COL_SM_BLACK },
- { "dblue", "Blue", TDVIPSNAMESCOL, COL_SM_BLACK },
-};
+const SmColorTokenTableEntry starmathdatabase::aColorTokenTableDVIPSNAMES[]
+ = { { "apricot", "Apricot", TDVIPSNAMESCOL, COL_SM_DIV_APRICOT },
+ { "aquamarine", "Aquamarine", TDVIPSNAMESCOL, COL_SM_DIV_AQUAMARINE },
+ { "bittersweet", "Bittersweet", TDVIPSNAMESCOL, COL_SM_DIV_BITTERSWEET },
+ { "black", "Black", TDVIPSNAMESCOL, COL_SM_BLACK },
+ { "blue", "Blue", TDVIPSNAMESCOL, COL_SM_BLACK } };
std::unique_ptr<SmColorTokenTableEntry> starmathdatabase::Identify_Color_Parser(sal_uInt32 cColor)
{
for (auto i = std::begin(aColorTokenTableParse); i < std::end(aColorTokenTableParse); ++i)
if (i->equals(cColor))
return std::unique_ptr<SmColorTokenTableEntry>(new SmColorTokenTableEntry(i));
+ for (auto i = std::begin(aColorTokenTableDVIPSNAMES); i < std::end(aColorTokenTableDVIPSNAMES);
+ ++i)
+ if (i->equals(cColor))
+ return std::unique_ptr<SmColorTokenTableEntry>(new SmColorTokenTableEntry(i));
if ((cColor & 0x00FFFFFF) == cColor)
return std::unique_ptr<SmColorTokenTableEntry>(
new SmColorTokenTableEntry("", "", TRGB, cColor));
@@ -464,34 +720,41 @@ std::unique_ptr<SmColorTokenTableEntry>
starmathdatabase::Identify_ColorName_Parser(const OUString& colorname)
{
if (colorname.isEmpty())
- return nullptr;
+ return std::unique_ptr<SmColorTokenTableEntry>(
+ new SmColorTokenTableEntry("", "", TERROR, COL_SM_BLACK));
for (auto i = std::begin(aColorTokenTableParse); i < std::end(aColorTokenTableParse); ++i)
if (i->equals(colorname))
return std::unique_ptr<SmColorTokenTableEntry>(new SmColorTokenTableEntry(i));
- return nullptr;
+ return std::unique_ptr<SmColorTokenTableEntry>(
+ new SmColorTokenTableEntry("", "", TERROR, COL_SM_BLACK));
}
std::unique_ptr<SmColorTokenTableEntry>
starmathdatabase::Identify_ColorName_HTML(const OUString& colorname)
{
if (colorname.isEmpty())
- return nullptr;
- for (auto i = std::begin(aColorTokenTableParse); i < std::end(aColorTokenTableParse); ++i)
+ return std::unique_ptr<SmColorTokenTableEntry>(
+ new SmColorTokenTableEntry("", "", TERROR, COL_SM_BLACK));
+ for (auto i = std::begin(aColorTokenTableHTML); i < std::end(aColorTokenTableHTML); ++i)
if (i->equals(colorname))
return std::unique_ptr<SmColorTokenTableEntry>(new SmColorTokenTableEntry(i));
if (colorname[0] == '#' && colorname.getLength() == 7)
return std::unique_ptr<SmColorTokenTableEntry>(
new SmColorTokenTableEntry("", "", TRGB, colorname.copy(1, 6).toUInt32(16)));
- return nullptr;
+ return std::unique_ptr<SmColorTokenTableEntry>(
+ new SmColorTokenTableEntry("", "", TERROR, COL_SM_BLACK));
}
std::unique_ptr<SmColorTokenTableEntry>
starmathdatabase::Identify_ColorName_DVIPSNAMES(const OUString& colorname)
{
if (colorname.isEmpty())
- return nullptr;
- for (auto i = std::begin(aColorTokenTableParse); i < std::end(aColorTokenTableParse); ++i)
+ return std::unique_ptr<SmColorTokenTableEntry>(
+ new SmColorTokenTableEntry("", "", TERROR, COL_SM_BLACK));
+ for (auto i = std::begin(aColorTokenTableDVIPSNAMES); i < std::end(aColorTokenTableDVIPSNAMES);
+ ++i)
if (i->equals(colorname))
return std::unique_ptr<SmColorTokenTableEntry>(new SmColorTokenTableEntry(i));
- return nullptr;
+ return std::unique_ptr<SmColorTokenTableEntry>(
+ new SmColorTokenTableEntry("", "", TERROR, COL_SM_BLACK));
}
diff --git a/starmath/source/visitors.cxx b/starmath/source/visitors.cxx
index 924690282e42..0fbe4271d477 100644
--- a/starmath/source/visitors.cxx
+++ b/starmath/source/visitors.cxx
@@ -2135,22 +2135,23 @@ void SmNodeToTextVisitor::Visit( SmFontNode* pNode )
Separate( );
}
break;
- case THTMLCOL:
+
case TDVIPSNAMESCOL:
- case TICONICCOL:
+ Append( "color dvip " );
nc = pNode->GetToken().aText.toUInt32(16);
+ aSmColorTokenTableEntry = starmathdatabase::Identify_Color_Parser( nc );
+ Append( aSmColorTokenTableEntry->pIdent );
+ break;
+ case THTMLCOL:
+ case TICONICCOL:
Append( "color " );
+ nc = pNode->GetToken().aText.toUInt32(16);
aSmColorTokenTableEntry = starmathdatabase::Identify_Color_Parser( nc );
Append( aSmColorTokenTableEntry->pIdent );
break;
case TRGB:
nc = pNode->GetToken().aText.toUInt32(16);
aSmColorTokenTableEntry = starmathdatabase::Identify_Color_Parser( nc );
- if ( aSmColorTokenTableEntry ) {
- Append( "color " );
- Append( aSmColorTokenTableEntry->pIdent );
- break;
- }
Append( "color rgb " );
nb = nc % 256;
nc /= 256;
@@ -2167,11 +2168,6 @@ void SmNodeToTextVisitor::Visit( SmFontNode* pNode )
case TRGBA:
nc = pNode->GetToken().aText.toUInt32(16);
aSmColorTokenTableEntry = starmathdatabase::Identify_Color_Parser( nc );
- if ( aSmColorTokenTableEntry ) {
- Append( "color " );
- Append( aSmColorTokenTableEntry->pIdent );
- break;
- }
Append( "color rgba " );
nc = pNode->GetToken().aText.toUInt32(16);
nb = nc % 256;
@@ -2192,11 +2188,6 @@ void SmNodeToTextVisitor::Visit( SmFontNode* pNode )
case THEX:
nc = pNode->GetToken().aText.toUInt32(16);
aSmColorTokenTableEntry = starmathdatabase::Identify_Color_Parser( nc );
- if ( aSmColorTokenTableEntry ) {
- Append( "color " );
- Append( aSmColorTokenTableEntry->pIdent );
- break;
- }
Append( "color hex " );
nc = pNode->GetToken().aText.toUInt32(16);
Append(OUString::number(nc,16));