//
// SVG CSS value names
//
// CSS_PROP_*_COLOR
//
aliceblue
// alpha
antiquewhite
// aqua
aquamarine
azure
beige
bisque
// black
blanchedalmond
// blue
blueviolet
brown
burlywood
cadetblue
chartreuse
chocolate
coral
cornflowerblue
cornsilk
crimson
cyan
darkblue
darkcyan
darkgoldenrod
darkgray
darkgreen
darkgrey
darkkhaki
darkmagenta
darkolivegreen
darkorange
darkorchid
darkred
darksalmon
darkseagreen
darkslateblue
darkslategray
darkslategrey
darkturquoise
darkviolet
deeppink
deepskyblue
dimgray
dimgrey
dodgerblue
firebrick
floralwhite
forestgreen
// fuchsia
gainsboro
ghostwhite
gold
goldenrod
// gray
// grey
// green
greenyellow
honeydew
hotpink
indianred
indigo
ivory
khaki
lavender
lavenderblush
lawngreen
lemonchiffon
lightblue
lightcoral
lightcyan
lightgoldenrodyellow
lightgray
lightgreen
lightgrey
lightpink
lightsalmon
lightseagreen
lightskyblue
lightslategray
lightslategrey
lightsteelblue
lightyellow
// lime
limegreen
linen
// luminance
magenta
// maroon
mediumaquamarine
mediumblue
mediumorchid
mediumpurple
mediumseagreen
mediumslateblue
mediumspringgreen
mediumturquoise
mediumvioletred
midnightblue
mintcream
mistyrose
moccasin
navajowhite
// navy
oldlace
// olive
olivedrab
// orange
orangered
orchid
palegoldenrod
palegreen
paleturquoise
palevioletred
papayawhip
peachpuff
peru
pink
plum
powderblue
// purple
rebeccapurple
// red
rosybrown
royalblue
saddlebrown
salmon
sandybrown
seagreen
seashell
sienna
// silver
skyblue
slateblue
slategray
slategrey
snow
springgreen
steelblue
tan
// teal
thistle
tomato
turquoise
violet
wheat
// white
whitesmoke
// yellow
yellowgreen

// CSS_PROP_CLIP_PATH
// CSS_PROP_CLIP_RULE
// nonzero and evenodd part of core CSS values now.

// CSS_PROP_MASK
// CSS_PROP_OPACITY
// CSS_PROP_ENABLE_BACKGROUND
accumulate
new

// CSS_PROP_FILTER
// CSS_PROP_FLOOD_COLOR
//currentColor

// CSS_PROP_FLOOD_OPACITY
// CSS_PROP_LIGHTING_COLOR
//currentColor

// CSS_PROP_STOP_COLOR
// CSS_PROP_STOP_OPACITY
// CSS_PROP_COLOR_INTERPOLATION
//auto
//sRGB
linearRGB

// CSS_PROP_COLOR_INTERPOLATION_FILTERS
//auto
//sRGB
//linearRGB

// CSS_PROP_COLOR_PROFILE
//sRGB

// CSS_PROP_COLOR_RENDERING
//auto
//optimizeSpeed
//optimizeQuality

//// CSS_PROP_FILL
//currentColor

// CSS_PROP_FILL_OPACITY
// CSS_PROP_FILL_RULE
//nonzero
//evenodd

// CSS_PROP_IMAGE_RENDERING
//auto
//optimizeSpeed
//optimizeQuality

// CSS_PROP_MARKER
// CSS_PROP_MARKER_END
// CSS_PROP_MARKER_MID
// CSS_PROP_MARKER_START
// CSS_PROP_SHAPE_RENDERING
//auto
//optimizeSpeed
crispedges
//geometricPrecision

// CSS_PROP_STROKE
// CSS_PROP_STROKE_DASHARRAY
// CSS_PROP_STROKE_DASHOFFSET
// CSS_PROP_STROKE_LINECAP
butt
// round
// square

// CSS_PROP_STROKE_LINEJOIN
miter
// round
bevel

// CSS_PROP_STROKE_MITERLIMIT
// CSS_PROP_STROKE_OPACITY
// CSS_PROP_STROKE_WIDTH

// CSS_PROP_ALIGNMENT_BASELINE
//auto
// baseline
before-edge
after-edge
//middle
central
text-before-edge
text-after-edge
ideographic
hanging
mathematical

// CSS_PROP_BASELINE_SHIFT
//baseline
// sub
// super

// CSS_PROP_DOMINANT_BASELINE
//auto
use-script
no-change
reset-size

// CSS_PROP_GLYPH_ORIENTATION_HORIZONTAL

// CSS_PROP_GLYPH_ORIENTATION_VERTICAL
// CSS_PROP_KERNING
// CSS_PROP_TEXT_ANCHOR
// start
// middle
// end

// CSS_PROP_BUFFERED_RENDERING
// auto
// static
dynamic

// CSS_PROP_VECTOR_EFFECT
// none
non-scaling-stroke
