fpvectorial: Add more named svg colors, speed up finding of named colors.

git-svn-id: trunk@50905 -
This commit is contained in:
wp 2015-12-18 16:37:57 +00:00
parent e9d1b1acd4
commit 12d7086128

View File

@ -503,327 +503,212 @@ begin
// Support for named colors // Support for named colors
// List here: http://www.december.com/html/spec/colorsvghex.html // List here: http://www.december.com/html/spec/colorsvghex.html
case lValue of case lValue[1] of
'black': Result := colBlack; 'a': case lValue of
'navy': Result.Blue := $8080; 'aliceblue' : Result := FPColor($F0F0, $F8F8, $FFFF);
'darkblue':Result.Blue := $8B8B; 'antiquewhite' : Result := FPColor($FAFA, $EBEB, $D7D7);
'mediumblue':Result.Blue := $CDCD; 'aqua' : Result := colCyan;
'blue': Result := colBlue; 'aquamarine' : Result := FPColor($7F7F, $FFFF, $D4D4);
'darkgreen':Result.Green := $6464; 'azure' : Result := FPColor($F0F0, $FFFF, $FFFF);
'green': Result.Green := $8080; end;
'teal':
begin 'b': case lValue of
Result.Green := $8080; 'beige' : Result := FPColor($F5F5, $F5F5, $DCDC);
Result.Blue := $8080; 'bisque' : Result := FPColor($FFFF, $E4E4, $C4C4);
end; 'black' : Result := colBlack;
'darkcyan': 'blanchedalmond' : Result := FPColor($FFFF, $EBEB, $CDCD);
begin 'blue' : Result := colBlue;
Result.Green := $8B8B; 'blueviolet' : Result := FPColor($8A8A, $2B2B, $E2E2);
Result.Blue := $8B8B; 'brown' : Result := FPColor($A5A5, $2A2A, $2A2A);
end; 'burlywood' : Result := FPColor($DEDE, $B8B8, $8787);
'deepskyblue': end;
begin
Result.Green := $BFBF; 'c': case lValue of
Result.Blue := $FFFF; 'cadetblue' : Result := FPColor($5F5F, $9E9E, $A0A0);
end; 'chartreuse' : Result := FPColor($7F7F, $FFFF, $0000);
'darkturquoise': 'chocolate' : Result := FPColor($D2D2, $6969, $1E1E);
begin 'coral' : Result := FPColor($FFFF, $7F7F, $5050);
Result.Green := $CECE; 'cornflowerblue' : Result := FPColor($6464, $9595, $EDED);
Result.Blue := $D1D1; 'cornsilk' : Result := FPColor($FFFF, $F8F8, $DCDC);
end; 'crimson' : Result := FPColor($DCDC, $1414, $3C3C);
'mediumspringgreen': 'cyan' : Result := colCyan;
begin end;
Result.Green := $FAFA;
Result.Blue := $9A9A; 'd': case lValue of
end; 'darkblue' : Result.Blue := $8B8B;
'lime': Result := colGreen; 'darkcyan' : Result := FPColor($0000, $8B8B, $8B8B);
'springgreen': 'darkgoldenrod' : Result := FPColor($B8B8, $8686, $0B0B);
begin 'darkgray',
Result.Green := $FFFF; 'darkgrey' : Result := FPColor($A9A9, $A9A9, $A9A9);
Result.Blue := $7F7F; 'darkgreen' : Result.Green := $6464;
end; 'darkkhaki' : Result := FPColor($BDBD, $B7B7, $6B6B);
'cyan': Result := colCyan; 'darkmagenta' : Result := FPColor($8B8B, $0000, $8B8B);
'aqua': Result := colCyan; 'darkolivegreen' : Result := FPColor($5555, $6B6B, $2F2F);
'midnightblue': 'darkorange' : Result := FPColor($FFFF, $8C8C, $0000);
begin 'darkorchid' : Result := FPColor($9999, $3232, $CCCC);
Result.Red := $1919; 'darkred' : Result.Red := $8B8B;
Result.Green := $1919; 'darksalmon' : Result := FPColor($E9E9, $9696, $7A7A);
Result.Blue := $7070; 'darkseagreen' : Result := FPColor($8F8F, $BCBC, $8F8F);
end; 'darkslateblue' : Result := FPColor($4848, $3D3D, $8B8B);
'dodgerblue': 'darkslategray',
begin 'darkslategrey' : Result := FPColor($2F2F, $4F4F, $4F4F);
Result.Red := $1E1E; 'darkturquoise' : Result := FPColor($0000, $CECE, $D1D1);
Result.Green := $9090; 'darkviolet' : Result := FPColor($9494, $0000, $D3D3);
Result.Blue := $FFFF; 'deeppink' : Result := FPColor($FFFF, $1414, $9393);
end; 'deepskyblue' : Result := FPColor($0000, $BFBF, $FFFF);
'lightseagreen': 'dimgray',
begin 'dimgrey' : Result := FPColor($6969, $6969, $6969);
Result.Red := $2020; 'dodgerblue' : Result := FPColor($1E1E, $9090, $FFFF);
Result.Green := $B2B2; end;
Result.Blue := $AAAA;
end; 'f': case lValue of
'forestgreen': 'firebrick' : Result := FPColor($B2B2, $2222, $2222);
begin 'floralwhite' : Result := FPColor($FFFF, $FAFA, $F0F0);
Result.Red := $2222; 'forestgreen' : Result := FPColor($2222, $8B8B, $2222);
Result.Green := $8B8B; 'fuchsia' : Result := colFuchsia;
Result.Blue := $2222; end;
end;
'seagreen': 'g': case lValue of
begin 'gainsboro' : Result := FPColor($DCDC, $DCDC, $DCDC);
Result.Red := $2E2E; 'ghostwhite' : Result := FPColor($F8F8, $F8F8, $FFFF);
Result.Green := $8B8B; 'gold' : Result := FPColor($FFFF, $D7D7, $0000);
Result.Blue := $5757; 'goldenrod' : Result := FPColor($DADA, $A5A5, $2020);
end; 'gray', 'grey' : Result := colGray;
'darkslategray', 'darkslategrey': 'green' : Result.Green := $8080;
begin 'greenyellow' : Result := FPColor($ADAD, $FFFF, $2F2F);
Result.Red := $2F2F; end;
Result.Green := $4F4F;
Result.Blue := $4F4F; 'h': case lValue of
end; 'honeydew' : Result := FPColor($F0F0, $FFFF, $F0F0);
'limegreen': 'hotpink' : Result := FPColor($FFFF, $6969, $B4B4);
begin end;
Result.Red := $3232;
Result.Green := $CDCD; 'i': case lValue of
Result.Blue := $3232; 'indianred' : Result := FPColor($CDCD, $5C5C, $5C5C);
end; 'indigo' : Result := FPColor($4B4B, $0000, $8282);
'mediumseagreen': 'ivory' : Result := FPColor($FFFF, $FFFF, $F0F0);
begin end;
Result.Red := $3C3C;
Result.Green := $CBCB; 'k': case lValue of
Result.Blue := $7171; 'khaki' : Result := FPColor($F0F0, $E6E6, $8C8C);
end; end;
'turquoise':
begin 'l': case lValue of
Result.Red := $4040; 'lavender' : Result := FPColor($E6E6, $E6E6, $FAFA);
Result.Green := $E0E0; 'lavenderblush' : Result := FPColor($FFFF, $F0F0, $F5F5);
Result.Blue := $D0D0; 'lawngreen' : Result := FPColor($7C7C, $FCFE, $0000);
end; 'lemonchiffon' : Result := FPColor($FFFF, $FAFA, $CDCD);
'royalblue': 'lightblue' : Result := FPColor($ADAD, $D8D8, $E6E6);
begin 'lightcoral' : Result := FPColor($F0F0, $8080, $8080);
Result.Red := $4141; 'lightcyan' : Result := FPColor($E0E0, $FFFF, $FFFF);
Result.Green := $6969; 'lightgoldenrodyellow': Result := FPColor($FAFA, $FAFA, $D2D2);
Result.Blue := $E1E1; 'lightgray',
end; 'lightgrey' : Result := FPColor($D3D3, $D3D3, $D3D3);
'steelblue': 'lightgreen' : Result := FPColor($9090, $EEEE, $9090);
begin 'lightpink' : Result := FPColor($FFFF, $B6B6, $C1C1);
Result.Red := $4646; 'lightsalmon' : Result := FPColor($FFFF, $A0A0, $7A7A);
Result.Green := $8282; 'lightseagreen' : Result := FPColor($2020, $B2B2, $AAAA);
Result.Blue := $B4B4; 'lightskyblue' : Result := FPColor($8787, $CECE, $FAFA);
end; 'lightslategray',
'darkslateblue': 'lightslategrey' : Result := FPColor($7777, $8888, $9999);
begin 'lightsteelblue' : Result := FPColor($B0B0, $C4C4, $DEDE);
Result.Red := $4848; 'lightyellow' : Result := FPColor($FFFF, $FEFE, $0000);
Result.Green := $3D3D; 'lime' : Result := colGreen;
Result.Blue := $8B8B; 'limegreen' : Result := FPColor($3232, $CDCD, $3232);
end; 'linen' : Result := FPColor($FAFA, $F0F0, $E6E6);
'mediumturquoise': end;
begin
Result.Red := $4848; 'm': case lValue of
Result.Green := $D1D1; 'magenta' : Result := colMagenta;
Result.Blue := $CCCC; 'maroon' : Result.Red := $8080;
end; 'mediumaquamarine' : Result := FPColor($6666, $CDCD, $AAAA);
{ 'mediumblue' : Result.Blue := $CDCD;
indigo #4B0082 'mediumorchid' : Result := FPColor($BABA, $5555, $D3D3);
darkolivegreen #556B2F cadetblue #5F9EA0 'mediumpurple' : Result := FPColor($9393, $7070, $DBDB);
cornflowerblue #6495ED 'mediumseagreen' : Result := FPColor($3C3C, $CBCB, $7171);
mediumaquamarine #66CDAA dimgrey #696969 'mediumslateblue' : Result := FPColor($7B7B, $6868, $EEEE);
dimgray #696969 'mediumspringgreen' : Result := FPColor($0000, $FAFA, $9A9A);
slateblue #6A5ACD olivedrab #6B8E23 'mediumturquoise' : Result := FPColor($4848, $D1D1, $CCCC);
slategrey #708090 'mediumvioletred' : Result := FPColor($C7C7, $1515, $8585);
slategray #708090 lightslategray(Hex3) #778899 'midnightblue' : Result := FPColor($1919, $1919, $7070);
lightslategrey(Hex3) #778899 'mintcream' : Result := FPColor($F5F5, $FFFF, $FAFA);
mediumslateblue #7B68EE lawngreen #7CFC00 'mistyrose' : Result := FPColor($FFFF, $E4E4, $E1E1);
chartreuse #7FFF00 'moccasin' : Result := FPColor($FFFF, $E4E4, $B5B5);
} end;
'aquamarine':
begin 'n': case lValue of
Result.Red := $7F7F; 'navajowhite' : Result := FPColor($FFFF, $DEDE, $ADAD);
Result.Green := $FFFF; 'navy' : Result.Blue := $8080;
Result.Blue := $D4D4; end;
end;
'maroon': Result.Red := $8080; 'o': case lValue of
'purple': Result := colPurple; 'oldlace' : Result := FPColor($FDFD, $F5F5, $E6E6);
'olive': Result := colOlive; 'olive' : Result := colOlive;
'gray', 'grey': Result := colGray; 'olivedrab' : Result := FPColor($6B6B, $8E8E, $2323);
'skyblue': 'orange' : Result := FPColor($FFFF, $A5A5, $0000);
begin 'orangered' : Result := FPColor($FFFF, $4545, $0000);
Result.Red := $8787; 'orchid' : Result := FPColor($DADA, $7070, $D6D6);
Result.Green := $CECE; end;
Result.Blue := $EBEB;
end; 'p': case lValue of
'lightskyblue': 'palegreen' : Result := FPColor($9898, $FBFB, $9898);
begin 'palegoldenrod' : Result := FPColor($EEEE, $E8E8, $AAAA);
Result.Red := $8787; 'paleturquoise' : Result := FPColor($AFAF, $EEEE, $EEEE);
Result.Green := $CECE; 'palevioletred' : Result := FPColor($DBDB, $7070, $9393);
Result.Blue := $FAFA; 'papayawhip' : Result := FPColor($FFFF, $EFEF, $D5D5);
end; 'peachpuff' : Result := FPColor($FFFF, $DADA, $B9B9);
'blueviolet': 'peru' : Result := FPColor($CDCD, $8585, $3F3F);
begin 'pink' : Result := FPColor($FFFF, $C0C0, $CBCB);
Result.Red := $8A8A; 'plum' : Result := FPColor($DDDD, $A0A0, $DDDD);
Result.Green := $2B2B; 'powderblue' : Result := FPColor($B0B0, $E0E0, $E6E6);
Result.Blue := $E2E2; 'purple' : Result := colPurple;
end; end;
'darkred': Result.Red := $8B8B;
'darkmagenta': 'r': case lValue of
begin 'red' : Result := colRed;
Result.Red := $8B8B; 'rosybrown' : Result := FPColor($BCBC, $8F8F, $8F8F);
Result.Blue := $8B8B; 'royalblue' : Result := FPColor($4141, $6969, $E1E1);
end; end;
{
saddlebrown #8B4513 's': case lValue of
darkseagreen #8FBC8F lightgreen #90EE90 'saddlebrown' : Result := FPColor($8B8B, $4545, $1313);
mediumpurple #9370DB 'salmon' : Result := FPColor($FAFA, $8080, $7272);
darkviolet #9400D3 palegreen #98FB98 'sandybrown' : Result := FPColor($F4F4, $A4A4, $6060);
darkorchid #9932CC 'seagreen' : Result := FPColor($2E2E, $8B8B, $5757);
yellowgreen #9ACD32 sienna #A0522D 'seashell' : Result := FPColor($FFFF, $F5F5, $EEEE);
brown #A52A2A 'sienna' : Result := FPColor($A0A0, $5252, $2D2D);
darkgray #A9A9A9 darkgrey #A9A9A9 'silver' : Result := colSilver;
lightblue #ADD8E6 'skyblue' : Result := FPColor($8787, $CECE, $EBEB);
greenyellow #ADFF2F paleturquoise #AFEEEE 'slateblue' : Result := FPCOlor($6A6A, $5A5A, $CDCD);
lightsteelblue #B0C4DE 'slategray',
powderblue #B0E0E6 firebrick #B22222 'slategrey' : Result := FPColor($7070, $8080, $9090);
darkgoldenrod #B8860B 'snow' : Result := FPColor($FFFF, $FAFA, $FAFA);
mediumorchid #BA55D3 rosybrown #BC8F8F 'springgreen' : Result := FPColor($0000, $FFFF, $7F7F);
darkkhaki #BDB76B 'steelblue' : Result := FPColor($4646, $8282, $B4B4);
} end;
'silver': Result := colSilver;
'mediumvioletred': 't': case lValue of
begin 'tan' : Result := FPColor($D2D2, $B4B4, $8C8C);
Result.Red := $C7C7; 'teal' : Result := FPColor($0000, $8080, $8080);
Result.Green := $1515; 'thistle' : Result := FPColor($D8D8, $BFBF, $D8D8);
Result.Blue := $8585; 'tomato' : Result := FPColor($FFFF, $6363, $4747);
end; 'turquoise' : Result := FPColor($4040, $E0E0, $D0D0);
'indianred': end;
begin
Result.Red := $CDCD; 'v': case lValue of
Result.Green := $5C5C; 'violet' : Result := FPColor($EEEE, $8282, $EEEE);
Result.Blue := $5C5C; end;
end;
'peru': 'w': case lValue of
begin 'wheat' : Result := FPColor($F5F5, $DEDE, $B3B3);
Result.Red := $CDCD; 'white' : Result := colWhite;
Result.Green := $8585; 'whitesmoke' : Result := FPColor($F5F5, $F5F5, $F5F5);
Result.Blue := $3F3F; end;
end;
'chocolate': 'y': case lValue of
begin 'yellow' : Result := colYellow;
Result.Red := $D2D2; 'yellowgreen' : Result := FPColor($9A9A, $CDCD, $3232);
Result.Green := $6969; end;
Result.Blue := $1E1E;
end;
{
tan #D2B48C
lightgray #D3D3D3 lightgrey #D3D3D3
thistle #D8BFD8
orchid #DA70D6 goldenrod #DAA520
palevioletred #DB7093
crimson #DC143C gainsboro #DCDCDC
plum #DDA0DD
burlywood #DEB887 lightcyan #E0FFFF
lavender #E6E6FA
}
'darksalmon':
begin
Result.Red := $E9E9;
Result.Green := $9696;
Result.Blue := $7A7A;
end;
'violet':
begin
Result.Red := $EEEE;
Result.Green := $8282;
Result.Blue := $EEEE;
end;
'palegoldenrod':
begin
Result.Red := $EEEE;
Result.Green := $E8E8;
Result.Blue := $AAAA;
end;
'lightcoral':
begin
Result.Red := $F0F0;
Result.Green := $8080;
Result.Blue := $8080;
end;
'khaki':
begin
Result.Red := $F0F0;
Result.Green := $E6E6;
Result.Blue := $8C8C;
end;
'aliceblue':
begin
Result.Red := $F0F0;
Result.Green := $F8F8;
Result.Blue := $FFFF;
end;
'honeydew':
begin
Result.Red := $F0F0;
Result.Green := $FFFF;
Result.Blue := $F0F0;
end;
'azure':
begin
Result.Red := $F0F0;
Result.Green := $FFFF;
Result.Blue := $FFFF;
end;
'sandybrown':
begin
Result.Red := $F4F4;
Result.Green := $A4A4;
Result.Blue := $6060;
end;
{
wheat #F5DEB3 beige #F5F5DC
whitesmoke #F5F5F5
mintcream #F5FFFA ghostwhite #F8F8FF
salmon #FA8072
antiquewhite #FAEBD7 linen #FAF0E6
lightgoldenrodyellow #FAFAD2
oldlace #FDF5E6
}
'red': Result := colRed;
'fuchsia': Result := colFuchsia;
'magenta': Result := colMagenta;
{ deeppink #FF1493
orangered #FF4500
tomato #FF6347 hotpink #FF69B4
coral #FF7F50
darkorange #FF8C00 lightsalmon #FFA07A
orange #FFA500
lightpink #FFB6C1 pink #FFC0CB
gold #FFD700
peachpuff #FFDAB9 navajowhite #FFDEAD
moccasin #FFE4B5
bisque #FFE4C4 mistyrose #FFE4E1
blanchedalmond #FFEBCD
papayawhip #FFEFD5 lavenderblush #FFF0F5
seashell #FFF5EE
cornsilk #FFF8DC lemonchiffon #FFFACD
floralwhite #FFFAF0
}
'snow':
begin
Result.Red := $FFFF;
Result.Green := $FAFA;
Result.Blue := $FAFA;
end;
'yellow': Result := colYellow;
'lightyellow':
begin
Result.Red := $FFFF;
Result.Green := $FEFE;
end;
'ivory':
begin
Result.Red := $FFFF;
Result.Green := $FFFF;
Result.Blue := $F0F0;
end;
'white': Result := colWhite;
end; end;
end; end;