1*ddde725dSArmin Le Grand /************************************************************** 2*ddde725dSArmin Le Grand * 3*ddde725dSArmin Le Grand * Licensed to the Apache Software Foundation (ASF) under one 4*ddde725dSArmin Le Grand * or more contributor license agreements. See the NOTICE file 5*ddde725dSArmin Le Grand * distributed with this work for additional information 6*ddde725dSArmin Le Grand * regarding copyright ownership. The ASF licenses this file 7*ddde725dSArmin Le Grand * to you under the Apache License, Version 2.0 (the 8*ddde725dSArmin Le Grand * "License"); you may not use this file except in compliance 9*ddde725dSArmin Le Grand * with the License. You may obtain a copy of the License at 10*ddde725dSArmin Le Grand * 11*ddde725dSArmin Le Grand * http://www.apache.org/licenses/LICENSE-2.0 12*ddde725dSArmin Le Grand * 13*ddde725dSArmin Le Grand * Unless required by applicable law or agreed to in writing, 14*ddde725dSArmin Le Grand * software distributed under the License is distributed on an 15*ddde725dSArmin Le Grand * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ddde725dSArmin Le Grand * KIND, either express or implied. See the License for the 17*ddde725dSArmin Le Grand * specific language governing permissions and limitations 18*ddde725dSArmin Le Grand * under the License. 19*ddde725dSArmin Le Grand * 20*ddde725dSArmin Le Grand *************************************************************/ 21*ddde725dSArmin Le Grand 22*ddde725dSArmin Le Grand // MARKER(update_precomp.py): autogen include statement, do not remove 23*ddde725dSArmin Le Grand #include "precompiled_svgio.hxx" 24*ddde725dSArmin Le Grand 25*ddde725dSArmin Le Grand #include <svgio/svgreader/svgtoken.hxx> 26*ddde725dSArmin Le Grand 27*ddde725dSArmin Le Grand ////////////////////////////////////////////////////////////////////////////// 28*ddde725dSArmin Le Grand 29*ddde725dSArmin Le Grand namespace svgio 30*ddde725dSArmin Le Grand { 31*ddde725dSArmin Le Grand namespace svgreader 32*ddde725dSArmin Le Grand { 33*ddde725dSArmin Le Grand static rtl::OUString aSVGStrWidth(rtl::OUString::createFromAscii("width")); 34*ddde725dSArmin Le Grand static rtl::OUString aSVGStrHeight(rtl::OUString::createFromAscii("height")); 35*ddde725dSArmin Le Grand static rtl::OUString aSVGStrViewBox(rtl::OUString::createFromAscii("viewBox")); 36*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTransform(rtl::OUString::createFromAscii("transform")); 37*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStyle(rtl::OUString::createFromAscii("style")); 38*ddde725dSArmin Le Grand static rtl::OUString aSVGStrD(rtl::OUString::createFromAscii("d")); 39*ddde725dSArmin Le Grand static rtl::OUString aSVGStrX(rtl::OUString::createFromAscii("x")); 40*ddde725dSArmin Le Grand static rtl::OUString aSVGStrY(rtl::OUString::createFromAscii("y")); 41*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXmlns(rtl::OUString::createFromAscii("xmlns")); 42*ddde725dSArmin Le Grand static rtl::OUString aSVGStrVersion(rtl::OUString::createFromAscii("version")); 43*ddde725dSArmin Le Grand static rtl::OUString aSVGStrId(rtl::OUString::createFromAscii("id")); 44*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRx(rtl::OUString::createFromAscii("rx")); 45*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRy(rtl::OUString::createFromAscii("ry")); 46*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPoints(rtl::OUString::createFromAscii("points")); 47*ddde725dSArmin Le Grand static rtl::OUString aSVGStrDx(rtl::OUString::createFromAscii("dx")); 48*ddde725dSArmin Le Grand static rtl::OUString aSVGStrDy(rtl::OUString::createFromAscii("dy")); 49*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRotate(rtl::OUString::createFromAscii("rotate")); 50*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTextLength(rtl::OUString::createFromAscii("textLength")); 51*ddde725dSArmin Le Grand static rtl::OUString aSVGStrLengthAdjust(rtl::OUString::createFromAscii("lengthAdjust")); 52*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFont(rtl::OUString::createFromAscii("font")); 53*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontFamily(rtl::OUString::createFromAscii("font-family")); 54*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontSize(rtl::OUString::createFromAscii("font-size")); 55*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontSizeAdjust(rtl::OUString::createFromAscii("font-size-adjust")); 56*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontStretch(rtl::OUString::createFromAscii("font-stretch")); 57*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontStyle(rtl::OUString::createFromAscii("font-style")); 58*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontVariant(rtl::OUString::createFromAscii("font-variant")); 59*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFontWeight(rtl::OUString::createFromAscii("font-weight")); 60*ddde725dSArmin Le Grand static rtl::OUString aSVGStrDirection(rtl::OUString::createFromAscii("direction")); 61*ddde725dSArmin Le Grand static rtl::OUString aSVGStrLetterSpacing(rtl::OUString::createFromAscii("letter-spacing")); 62*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTextDecoration(rtl::OUString::createFromAscii("text-decoration")); 63*ddde725dSArmin Le Grand static rtl::OUString aSVGStrUnicodeBidi(rtl::OUString::createFromAscii("unicode-bidi")); 64*ddde725dSArmin Le Grand static rtl::OUString aSVGStrWordSpacing(rtl::OUString::createFromAscii("word-spacing")); 65*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTspan(rtl::OUString::createFromAscii("tspan")); 66*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTref(rtl::OUString::createFromAscii("tref")); 67*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTextPath(rtl::OUString::createFromAscii("textPath")); 68*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStartOffset(rtl::OUString::createFromAscii("startOffset")); 69*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMethod(rtl::OUString::createFromAscii("method")); 70*ddde725dSArmin Le Grand static rtl::OUString aSVGStrSpacing(rtl::OUString::createFromAscii("spacing")); 71*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTextAlign(rtl::OUString::createFromAscii("text-align")); 72*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPathLength(rtl::OUString::createFromAscii("pathLength")); 73*ddde725dSArmin Le Grand static rtl::OUString aSVGStrType(rtl::OUString::createFromAscii("type")); 74*ddde725dSArmin Le Grand static rtl::OUString aSVGStrClass(rtl::OUString::createFromAscii("class")); 75*ddde725dSArmin Le Grand static rtl::OUString aSVGStrTextAnchor(rtl::OUString::createFromAscii("text-anchor")); 76*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXmlSpace(rtl::OUString::createFromAscii("xml:space")); 77*ddde725dSArmin Le Grand static rtl::OUString aSVGStrColor(rtl::OUString::createFromAscii("color")); 78*ddde725dSArmin Le Grand static rtl::OUString aSVGStrClipPathNode(rtl::OUString::createFromAscii("clipPath")); 79*ddde725dSArmin Le Grand static rtl::OUString aSVGStrClipPathProperty(rtl::OUString::createFromAscii("clip-path")); 80*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMask(rtl::OUString::createFromAscii("mask")); 81*ddde725dSArmin Le Grand static rtl::OUString aSVGStrClipPathUnits(rtl::OUString::createFromAscii("clipPathUnits")); 82*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMaskUnits(rtl::OUString::createFromAscii("maskUnits")); 83*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMaskContentUnits(rtl::OUString::createFromAscii("maskContentUnits")); 84*ddde725dSArmin Le Grand static rtl::OUString aSVGStrClipRule(rtl::OUString::createFromAscii("clip-rule")); 85*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarker(rtl::OUString::createFromAscii("marker")); 86*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarkerStart(rtl::OUString::createFromAscii("marker-start")); 87*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarkerMid(rtl::OUString::createFromAscii("marker-mid")); 88*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarkerEnd(rtl::OUString::createFromAscii("marker-end")); 89*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRefX(rtl::OUString::createFromAscii("refX")); 90*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRefY(rtl::OUString::createFromAscii("refY")); 91*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarkerUnits(rtl::OUString::createFromAscii("markerUnits")); 92*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarkerWidth(rtl::OUString::createFromAscii("markerWidth")); 93*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMarkerHeight(rtl::OUString::createFromAscii("markerHeight")); 94*ddde725dSArmin Le Grand static rtl::OUString aSVGStrOrient(rtl::OUString::createFromAscii("orient")); 95*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPattern(rtl::OUString::createFromAscii("pattern")); 96*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPatternUnits(rtl::OUString::createFromAscii("patternUnits")); 97*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPatternContentUnits(rtl::OUString::createFromAscii("patternContentUnits")); 98*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPatternTransform(rtl::OUString::createFromAscii("patternTransform")); 99*ddde725dSArmin Le Grand static rtl::OUString aSVGStrOpacity(rtl::OUString::createFromAscii("opacity")); 100*ddde725dSArmin Le Grand 101*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPreserveAspectRatio(rtl::OUString::createFromAscii("preserveAspectRatio")); 102*ddde725dSArmin Le Grand static rtl::OUString aSVGStrDefer(rtl::OUString::createFromAscii("defer")); 103*ddde725dSArmin Le Grand static rtl::OUString aSVGStrNone(rtl::OUString::createFromAscii("none")); 104*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMinYMin(rtl::OUString::createFromAscii("xMinYMin")); 105*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMidYMin(rtl::OUString::createFromAscii("xMidYMin")); 106*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMaxYMin(rtl::OUString::createFromAscii("xMaxYMin")); 107*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMinYMid(rtl::OUString::createFromAscii("xMinYMid")); 108*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMidYMid(rtl::OUString::createFromAscii("xMidYMid")); 109*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMaxYMid(rtl::OUString::createFromAscii("xMaxYMid")); 110*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMinYMax(rtl::OUString::createFromAscii("xMinYMax")); 111*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMidYMax(rtl::OUString::createFromAscii("xMidYMax")); 112*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXMaxYMax(rtl::OUString::createFromAscii("xMaxYMax")); 113*ddde725dSArmin Le Grand static rtl::OUString aSVGStrMeet(rtl::OUString::createFromAscii("meet")); 114*ddde725dSArmin Le Grand static rtl::OUString aSVGStrSlice(rtl::OUString::createFromAscii("slice")); 115*ddde725dSArmin Le Grand 116*ddde725dSArmin Le Grand static rtl::OUString aSVGStrDefs(rtl::OUString::createFromAscii("defs")); 117*ddde725dSArmin Le Grand static rtl::OUString aSVGStrG(rtl::OUString::createFromAscii("g")); 118*ddde725dSArmin Le Grand static rtl::OUString aSVGStrSvg(rtl::OUString::createFromAscii("svg")); 119*ddde725dSArmin Le Grand static rtl::OUString aSVGStrSymbol(rtl::OUString::createFromAscii("symbol")); 120*ddde725dSArmin Le Grand static rtl::OUString aSVGStrUse(rtl::OUString::createFromAscii("use")); 121*ddde725dSArmin Le Grand 122*ddde725dSArmin Le Grand static rtl::OUString aSVGStrCircle(rtl::OUString::createFromAscii("circle")); 123*ddde725dSArmin Le Grand static rtl::OUString aSVGStrEllipse(rtl::OUString::createFromAscii("ellipse")); 124*ddde725dSArmin Le Grand static rtl::OUString aSVGStrLine(rtl::OUString::createFromAscii("line")); 125*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPath(rtl::OUString::createFromAscii("path")); 126*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPolygon(rtl::OUString::createFromAscii("polygon")); 127*ddde725dSArmin Le Grand static rtl::OUString aSVGStrPolyline(rtl::OUString::createFromAscii("polyline")); 128*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRect(rtl::OUString::createFromAscii("rect")); 129*ddde725dSArmin Le Grand static rtl::OUString aSVGStrImage(rtl::OUString::createFromAscii("image")); 130*ddde725dSArmin Le Grand 131*ddde725dSArmin Le Grand static rtl::OUString aSVGStrLinearGradient(rtl::OUString::createFromAscii("linearGradient")); 132*ddde725dSArmin Le Grand static rtl::OUString aSVGStrRadialGradient(rtl::OUString::createFromAscii("radialGradient")); 133*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStop(rtl::OUString::createFromAscii("stop")); 134*ddde725dSArmin Le Grand static rtl::OUString aSVGStrOffset(rtl::OUString::createFromAscii("offset")); 135*ddde725dSArmin Le Grand static rtl::OUString aSVGStrX1(rtl::OUString::createFromAscii("x1")); 136*ddde725dSArmin Le Grand static rtl::OUString aSVGStrY1(rtl::OUString::createFromAscii("y1")); 137*ddde725dSArmin Le Grand static rtl::OUString aSVGStrX2(rtl::OUString::createFromAscii("x2")); 138*ddde725dSArmin Le Grand static rtl::OUString aSVGStrY2(rtl::OUString::createFromAscii("y2")); 139*ddde725dSArmin Le Grand static rtl::OUString aSVGStrCx(rtl::OUString::createFromAscii("cx")); 140*ddde725dSArmin Le Grand static rtl::OUString aSVGStrCy(rtl::OUString::createFromAscii("cy")); 141*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFx(rtl::OUString::createFromAscii("fx")); 142*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFy(rtl::OUString::createFromAscii("fy")); 143*ddde725dSArmin Le Grand static rtl::OUString aSVGStrR(rtl::OUString::createFromAscii("r")); 144*ddde725dSArmin Le Grand static rtl::OUString aSVGStrGradientUnits(rtl::OUString::createFromAscii("gradientUnits")); 145*ddde725dSArmin Le Grand static rtl::OUString aSVGStrGradientTransform(rtl::OUString::createFromAscii("gradientTransform")); 146*ddde725dSArmin Le Grand static rtl::OUString aSVGStrSpreadMethod(rtl::OUString::createFromAscii("spreadMethod")); 147*ddde725dSArmin Le Grand static rtl::OUString aSVGStrXlinkHref(rtl::OUString::createFromAscii("xlink:href")); 148*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStopColor(rtl::OUString::createFromAscii("stop-color")); 149*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStopOpacity(rtl::OUString::createFromAscii("stop-opacity")); 150*ddde725dSArmin Le Grand 151*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFill(rtl::OUString::createFromAscii("fill")); 152*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFillOpacity(rtl::OUString::createFromAscii("fill-opacity")); 153*ddde725dSArmin Le Grand static rtl::OUString aSVGStrFillRule(rtl::OUString::createFromAscii("fill-rule")); 154*ddde725dSArmin Le Grand 155*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStroke(rtl::OUString::createFromAscii("stroke")); 156*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeDasharray(rtl::OUString::createFromAscii("stroke-dasharray")); 157*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeDashoffset(rtl::OUString::createFromAscii("stroke-dashoffset")); 158*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeLinecap(rtl::OUString::createFromAscii("stroke-linecap")); 159*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeLinejoin(rtl::OUString::createFromAscii("stroke-linejoin")); 160*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeMiterlimit(rtl::OUString::createFromAscii("stroke-miterlimit")); 161*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeOpacity(rtl::OUString::createFromAscii("stroke-opacity")); 162*ddde725dSArmin Le Grand static rtl::OUString aSVGStrStrokeWidth(rtl::OUString::createFromAscii("stroke-width")); 163*ddde725dSArmin Le Grand 164*ddde725dSArmin Le Grand static rtl::OUString aSVGStrText(rtl::OUString::createFromAscii("text")); 165*ddde725dSArmin Le Grand 166*ddde725dSArmin Le Grand SVGToken StrToSVGToken(const rtl::OUString& rStr) 167*ddde725dSArmin Le Grand { 168*ddde725dSArmin Le Grand typedef std::hash_map< rtl::OUString, SVGToken, rtl::OUStringHash > SVGTokenMapper; 169*ddde725dSArmin Le Grand typedef std::pair< rtl::OUString, SVGToken > SVGTokenValueType; 170*ddde725dSArmin Le Grand static SVGTokenMapper aSVGTokenMapperList; 171*ddde725dSArmin Le Grand 172*ddde725dSArmin Le Grand if(aSVGTokenMapperList.empty()) 173*ddde725dSArmin Le Grand { 174*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrWidth, SVGTokenWidth)); 175*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrHeight, SVGTokenHeight)); 176*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrViewBox, SVGTokenViewBox)); 177*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTransform, SVGTokenTransform)); 178*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStyle, SVGTokenStyle)); 179*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrD, SVGTokenD)); 180*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrX, SVGTokenX)); 181*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrY, SVGTokenY)); 182*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXmlns, SVGTokenXmlns)); 183*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrVersion, SVGTokenVersion)); 184*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrId, SVGTokenId)); 185*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRx, SVGTokenRx)); 186*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRy, SVGTokenRy)); 187*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPoints, SVGTokenPoints)); 188*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDx, SVGTokenDx)); 189*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDy, SVGTokenDy)); 190*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRotate, SVGTokenRotate)); 191*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFont, SVGTokenFont)); 192*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontFamily, SVGTokenFontFamily)); 193*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontSize, SVGTokenFontSize)); 194*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontSizeAdjust, SVGTokenFontSizeAdjust)); 195*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontStretch, SVGTokenFontStretch)); 196*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontStyle, SVGTokenFontStyle)); 197*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontVariant, SVGTokenFontVariant)); 198*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFontWeight, SVGTokenFontWeight)); 199*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDirection, SVGTokenDirection)); 200*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrLetterSpacing, SVGTokenLetterSpacing)); 201*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTextDecoration, SVGTokenTextDecoration)); 202*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrUnicodeBidi, SVGTokenUnicodeBidi)); 203*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrWordSpacing, SVGTokenWordSpacing)); 204*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTspan, SVGTokenTspan)); 205*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTref, SVGTokenTref)); 206*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTextPath, SVGTokenTextPath)); 207*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStartOffset, SVGTokenStartOffset)); 208*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMethod, SVGTokenMethod)); 209*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrSpacing, SVGTokenSpacing)); 210*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTextAlign, SVGTokenTextAlign)); 211*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPathLength, SVGTokenPathLength)); 212*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrType, SVGTokenType)); 213*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrClass, SVGTokenClass)); 214*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrTextAnchor, SVGTokenTextAnchor)); 215*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXmlSpace, SVGTokenXmlSpace)); 216*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrColor, SVGTokenColor)); 217*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrClipPathNode, SVGTokenClipPathNode)); 218*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrClipPathProperty, SVGTokenClipPathProperty)); 219*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMask, SVGTokenMask)); 220*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrClipPathUnits, SVGTokenClipPathUnits)); 221*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMaskUnits, SVGTokenMaskUnits)); 222*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMaskContentUnits, SVGTokenMaskContentUnits)); 223*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrClipRule, SVGTokenClipRule)); 224*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarker, SVGTokenMarker)); 225*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarkerStart, SVGTokenMarkerStart)); 226*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarkerMid, SVGTokenMarkerMid)); 227*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarkerEnd, SVGTokenMarkerEnd)); 228*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRefX, SVGTokenRefX)); 229*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRefY, SVGTokenRefY)); 230*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarkerUnits, SVGTokenMarkerUnits)); 231*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarkerWidth, SVGTokenMarkerWidth)); 232*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMarkerHeight, SVGTokenMarkerHeight)); 233*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrOrient, SVGTokenOrient)); 234*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPattern, SVGTokenPattern)); 235*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPatternUnits, SVGTokenPatternUnits)); 236*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPatternContentUnits, SVGTokenPatternContentUnits)); 237*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPatternTransform, SVGTokenPatternTransform)); 238*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrOpacity, SVGTokenOpacity)); 239*ddde725dSArmin Le Grand 240*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPreserveAspectRatio, SVGTokenPreserveAspectRatio)); 241*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDefer, SVGTokenDefer)); 242*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrNone, SVGTokenNone)); 243*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMinYMin, SVGTokenXMinYMin)); 244*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMidYMin, SVGTokenXMidYMin)); 245*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMaxYMin, SVGTokenXMaxYMin)); 246*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMinYMid, SVGTokenXMinYMid)); 247*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMidYMid, SVGTokenXMidYMid)); 248*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMaxYMid, SVGTokenXMaxYMid)); 249*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMinYMax, SVGTokenXMinYMax)); 250*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMidYMax, SVGTokenXMidYMax)); 251*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXMaxYMax, SVGTokenXMaxYMax)); 252*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrMeet, SVGTokenMeet)); 253*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrSlice, SVGTokenSlice)); 254*ddde725dSArmin Le Grand 255*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrDefs, SVGTokenDefs)); 256*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrG, SVGTokenG)); 257*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrSvg, SVGTokenSvg)); 258*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrSymbol, SVGTokenSymbol)); 259*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrUse, SVGTokenUse)); 260*ddde725dSArmin Le Grand 261*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrCircle, SVGTokenCircle)); 262*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrEllipse, SVGTokenEllipse)); 263*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrLine, SVGTokenLine)); 264*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPath, SVGTokenPath)); 265*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPolygon, SVGTokenPolygon)); 266*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrPolyline, SVGTokenPolyline)); 267*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRect, SVGTokenRect)); 268*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrImage, SVGTokenImage)); 269*ddde725dSArmin Le Grand 270*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrLinearGradient, SVGTokenLinearGradient)); 271*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrRadialGradient, SVGTokenRadialGradient)); 272*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStop, SVGTokenStop)); 273*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrOffset, SVGTokenOffset)); 274*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrX1, SVGTokenX1)); 275*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrY1, SVGTokenY1)); 276*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrX2, SVGTokenX2)); 277*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrY2, SVGTokenY2)); 278*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrCx, SVGTokenCx)); 279*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrCy, SVGTokenCy)); 280*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFx, SVGTokenFx)); 281*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFy, SVGTokenFy)); 282*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrR, SVGTokenR)); 283*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrGradientUnits, SVGTokenGradientUnits)); 284*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrGradientTransform, SVGTokenGradientTransform)); 285*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrSpreadMethod, SVGTokenSpreadMethod)); 286*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrXlinkHref, SVGTokenXlinkHref)); 287*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStopColor, SVGTokenStopColor)); 288*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStopOpacity, SVGTokenStopOpacity)); 289*ddde725dSArmin Le Grand 290*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFill, SVGTokenFill)); 291*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFillOpacity, SVGTokenFillOpacity)); 292*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrFillRule, SVGTokenFillRule)); 293*ddde725dSArmin Le Grand 294*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStroke, SVGTokenStroke)); 295*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeDasharray, SVGTokenStrokeDasharray)); 296*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeDashoffset, SVGTokenStrokeDashoffset)); 297*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeLinecap, SVGTokenStrokeLinecap)); 298*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeLinejoin, SVGTokenStrokeLinejoin)); 299*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeMiterlimit, SVGTokenStrokeMiterlimit)); 300*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeOpacity, SVGTokenStrokeOpacity)); 301*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrStrokeWidth, SVGTokenStrokeWidth)); 302*ddde725dSArmin Le Grand 303*ddde725dSArmin Le Grand aSVGTokenMapperList.insert(SVGTokenValueType(aSVGStrText, SVGTokenText)); 304*ddde725dSArmin Le Grand } 305*ddde725dSArmin Le Grand 306*ddde725dSArmin Le Grand const SVGTokenMapper::const_iterator aResult(aSVGTokenMapperList.find(rStr)); 307*ddde725dSArmin Le Grand 308*ddde725dSArmin Le Grand if(aResult == aSVGTokenMapperList.end()) 309*ddde725dSArmin Le Grand { 310*ddde725dSArmin Le Grand return SVGTokenUnknown; 311*ddde725dSArmin Le Grand } 312*ddde725dSArmin Le Grand else 313*ddde725dSArmin Le Grand { 314*ddde725dSArmin Le Grand return aResult->second; 315*ddde725dSArmin Le Grand } 316*ddde725dSArmin Le Grand } 317*ddde725dSArmin Le Grand } // end of namespace svgreader 318*ddde725dSArmin Le Grand } // end of namespace svgio 319*ddde725dSArmin Le Grand 320*ddde725dSArmin Le Grand ////////////////////////////////////////////////////////////////////////////// 321*ddde725dSArmin Le Grand // eof 322