Changeset 29012 in webkit
- Timestamp:
- Dec 28, 2007 6:41:53 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 13 added
- 4 deleted
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r29010 r29012 1 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> 2 3 Reviewed by Oliver. 4 5 Update layout test results after the SVG Fonts addition. 6 <font-face> is now also disabled by default wrapped in ENABLE(SVG_FONTS) block. 7 8 Fix two misplaced layout test results (results addeed in the wrong place.) 9 10 * platform/mac/svg/css/css-box-min-width-expected.checksum: 11 * platform/mac/svg/css/css-box-min-width-expected.png: 12 * platform/mac/svg/custom/font-face-simple-expected.checksum: 13 * platform/mac/svg/custom/font-face-simple-expected.png: 14 * platform/mac/svg/custom/font-face-simple-expected.txt: 15 * platform/mac/svg/custom/inline-svg-in-xhtml-expected.checksum: 16 * platform/mac/svg/custom/inline-svg-in-xhtml-expected.png: 17 * platform/mac/svg/custom/use-infinite-recursion-expected.png: Added. 18 * svg/custom/inline-svg-in-xhtml-expected.checksum: Removed. 19 * svg/custom/inline-svg-in-xhtml-expected.png: Removed. 20 * svg/custom/use-infinite-recursion-expected.checksum: Removed. 21 * svg/custom/use-infinite-recursion-expected.png: Removed. 22 1 23 2007-12-27 Dan Bernstein <mitz@apple.com> 2 24 -
trunk/LayoutTests/platform/mac/svg/css/css-box-min-width-expected.checksum
r28755 r29012 1 658bb899a309b09540fe1d7868835e58 1 7c1bfcfcb60f27e4a6142ecdd4fa7355 -
trunk/LayoutTests/platform/mac/svg/custom/font-face-simple-expected.checksum
r27850 r29012 1 4e1fa149e2a3bfc94ec252d6437e558f 1 6960fd15370d0ff0aaf299d684972228 -
trunk/LayoutTests/platform/mac/svg/custom/font-face-simple-expected.txt
r26904 r29012 2 2 RenderView at (0,0) size 800x600 3 3 layer at (0,0) size 800x600 4 RenderSVGRoot {svg} at (10,34) size 676x2 354 RenderSVGRoot {svg} at (10,34) size 676x245 5 5 RenderSVGHiddenContainer {defs} at (0,0) size 0x0 6 6 RenderSVGText {text} at (10,113) size 676x100 contains 1 chunk(s) 7 7 RenderSVGInlineText {#text} at (0,-79) size 676x100 8 8 chunk 1 text run 1 at (10.00,113.39) startOffset 0 endOffset 13 width 676.00: "CSS font-face" 9 RenderSVGText {text} at (10,226) size 676x101contains 1 chunk(s)10 RenderSVGInlineText {#text} at (0,- 79) size 676x10111 chunk 1 text run 1 at (10.00,226.77) startOffset 0 endOffset 13 width 676.00: "SVG font-face"9 RenderSVGText {text} at (10,226) size 567x135 contains 1 chunk(s) 10 RenderSVGInlineText {#text} at (0,-82) size 567x135 11 chunk 1 text run 1 at (10.00,226.77) startOffset 0 endOffset 13 width 567.00: "SVG font-face" 12 12 RenderSVGText {text} at (40,264) size 257x19 contains 1 chunk(s) 13 13 RenderSVGInlineText {#text} at (0,-14) size 257x19 -
trunk/LayoutTests/platform/mac/svg/custom/inline-svg-in-xhtml-expected.checksum
r26602 r29012 1 d4536237244e184c3a03356b4e178731 1 798b1b82327eb94b8ab92cc619a8307a -
trunk/WebCore/ChangeLog
r29011 r29012 1 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> 2 3 Reviewed by Eric. 4 5 Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support) 6 7 Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work. 8 Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax 9 are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet). 10 11 Limited to single char <-> glyph mapping, no ligatures supported yet. 12 (ie. <glyph unicode='A'/> <glyph unicode='AB'/> - it ignores the 'AB' glyph definition for now) 13 14 Mark all SVG Font related classes & usages in ENABLE(SVG_FONTS) blocks. 15 16 No layout test changes for a --no-svg-fonts build, heavy changes if enabled. Because a lot of SVG Font 17 attributes are not processed yet, the rendering looks wrong - hence disabled by default.) 18 19 * DerivedSources.make: Add SVGFontElement/SVGGlyphElement/SVGMissingGlyphElement 20 * WebCore.pro: Updated build system. 21 * WebCore.vcproj/WebCore.vcproj: Ditto. 22 * WebCore.xcodeproj/project.pbxproj: Ditto. 23 * bindings/js/JSSVGElementWrapperFactory.cpp: Add JSSVGFontElement/JSSVGGlyphElement/JSSVGMissingGlyphElement 24 * bindings/objc/DOM.mm: Ditto (for DOMSVG*). 25 (WebCore::createElementClassMap): 26 * bindings/objc/DOMInternal.h: Ditto. 27 * bindings/objc/DOMSVG.h: Ditto. 28 * css/CSSFontFace.h: Mark three functions 'virtual', to be overriden by SVGCSSFontFace 29 * css/CSSFontFaceSrcValue.h: Add functionality to identify as SVG CSS font face source. 30 (WebCore::CSSFontFaceSrcValue::m_fontFaceElement): Hold a pointer to the font face which created it. 31 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): 32 (WebCore::CSSFontFaceSrcValue::setSVGFontFaceElement): 33 * css/CSSFontSelector.cpp: Build 'SVGCSSFontFace' objects for local, in-document SVG fonts. 34 (WebCore::CSSFontSelector::addFontFaceRule): 35 * css/SVGCSSFontFace.cpp: Added. (Simplified implementation for SVG Fonts) 36 (WebCore::SVGCSSFontFace::SVGCSSFontFace): 37 (WebCore::SVGCSSFontFace::~SVGCSSFontFace): 38 (WebCore::SVGCSSFontFace::isValid): 39 (WebCore::SVGCSSFontFace::addSource): 40 (WebCore::SVGCSSFontFace::getFontData): 41 * css/SVGCSSFontFace.h: Added. 42 * platform/graphics/cg/PathCG.cpp: 43 (WebCore::Path::closeSubpath): Silence a CG warning when calling closeSubpath() on empty path. 44 * platform/graphics/Font.cpp: Add some logic to call into SVG Font code when operating on SVG Fonts. 45 (WebCore::Font::ascent): Pass font size to FontData::ascent() call 46 (WebCore::Font::descent): Pass font size to FontData::descent() call 47 (WebCore::Font::canUseGlyphCache): Always return true for SVG fonts here. 48 (WebCore::Font::drawGlyphBuffer): Call drawGlyphsWithSVGFont (instead of drawGlyphs) if the primary font is a SVG font. 49 * platform/graphics/Font.h: Add (SVG-only!) ability to store a RenderObject pointer, to the element which invoked the drawText() call. 50 (WebCore::TextRun::TextRun): 51 (WebCore::TextRun::referencingRenderObject): 52 (WebCore::TextRun::setReferencingRenderObject): 53 * platform/graphics/FontData.cpp: 54 (WebCore::FontData::FontData): 55 (WebCore::FontData::ascent): 56 (WebCore::FontData::descent): 57 * platform/graphics/FontData.h: Store a pointer to the SVGFontFaceElement, which created this FontData object - needed for drawGlyphsWithSVGFont(). 58 (WebCore::FontData::isSVGFont): Offer a way to determine wheter this is a FontData object, created by a SVGFontFaceElement. 59 (WebCore::FontData::svgFontFace): 60 * rendering/SVGInlineTextBox.cpp: 61 (WebCore::SVGInlineTextBox::calculateGlyphWidth): Add assertion. 62 * rendering/SVGRootInlineBox.cpp: 63 (WebCore::svgTextRunForInlineTextBox): Always call 'setReferencingRenderObject(myRenderSVGText)' on the new TextRun 64 * svg/SVGFont.cpp: Added. 65 (WebCore::Font::drawGlyphsWithSVGFont): Outsourced implementation of SVG Fonts into it's own file. 66 * svg/SVGFontElement.cpp: Added. (Note: this holds the GlyphHashMap which associates certain <glyph> objects with unicode values) 67 (WebCore::SVGFontElement::SVGFontElement): 68 (WebCore::SVGFontElement::~SVGFontElement): 69 (WebCore::SVGFontElement::parseMappedAttribute): 70 (WebCore::SVGFontElement::collectGlyphs): 71 (WebCore::SVGFontElement::glyphIdentifierForGlyphCode): 72 * svg/SVGFontElement.h: Added. 73 (WebCore::GlyphHash::hash): 74 (WebCore::GlyphHash::equal): 75 (WebCore::GlyphHashTraits::deletedValue): 76 (WebCore::SVGFontElement::rendererIsNeeded): 77 (WebCore::SVGFontElement::contextElement): 78 * svg/SVGFontElement.idl: Added. 79 * svg/SVGFontFaceElement.cpp: Build SVG specific 'FontData' object 80 (WebCore::SVGFontFaceElement::unitsPerEm): 81 (WebCore::SVGFontFaceElement::fontFamily): 82 (WebCore::SVGFontFaceElement::createFontData): Builds SVG specified 'FontData' object with the markup specified ascent/descent values etc.. 83 (WebCore::SVGFontFaceElement::rebuildFontFace): Construct CSSFontFaceSrc object (marked as 'isSVGFontFaceSrc') to satisfy CSSFontSelector::addFontFaceRule. 84 (WebCore::SVGFontFaceElement::insertedIntoDocument): Rebuild font face. 85 (WebCore::SVGFontFaceElement::glyphIdentifierForGlyphCode): Allows drawGlyphsWithSVGFont to access the glyph hash map living in the SVGFontElement. 86 * svg/SVGFontFaceElement.h: Fixed code formatting issues & wrap in ENABLE(SVG_FONTS) blocks. 87 * svg/SVGFontFaceElement.idl: Ditto. 88 * svg/SVGFontFaceFormatElement.cpp: Ditto. 89 * svg/SVGFontFaceFormatElement.h: Ditto. 90 * svg/SVGFontFaceFormatElement.idl: Ditto. 91 * svg/SVGFontFaceNameElement.cpp: Ditto. 92 * svg/SVGFontFaceNameElement.h: Ditto. 93 * svg/SVGFontFaceNameElement.idl: Ditto. 94 * svg/SVGFontFaceSrcElement.cpp: Ditto. 95 * svg/SVGFontFaceSrcElement.h: Ditto. 96 * svg/SVGFontFaceSrcElement.idl: Ditto. 97 * svg/SVGFontFaceUriElement.cpp: Ditto. 98 * svg/SVGFontFaceUriElement.h: Ditto. 99 * svg/SVGFontFaceUriElement.idl: Ditto. 100 * svg/SVGDefinitionSrcElement.cpp: Ditto. 101 * svg/SVGDefinitionSrcElement.h: Ditto. 102 * svg/SVGDefinitionSrcElement.idl: Ditto. 103 * svg/SVGGlyphElement.cpp: Added. 104 (WebCore::SVGGlyphElement::SVGGlyphElement): 105 (WebCore::SVGGlyphElement::parseMappedAttribute): 106 (WebCore::SVGGlyphElement::childrenChanged): 107 * svg/SVGGlyphElement.h: Added. 108 (WebCore::SVGGlyphElement::rendererIsNeeded): 109 (WebCore::SVGGlyphIdentifier::): Structure holding all data to represent a SVG glyph (origin, advance, orientation etc..) 110 (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier): 111 * svg/SVGGlyphElement.idl: Added. 112 * svg/SVGMissingGlyphElement.cpp: Added. (stub implementation) 113 (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement): 114 (WebCore::SVGMissingGlyphElement::parseMappedAttribute): 115 (WebCore::SVGMissingGlyphElement::childrenChanged): 116 * svg/SVGMissingGlyphElement.h: Added. 117 (WebCore::SVGMissingGlyphElement::rendererIsNeeded): 118 * svg/SVGMissingGlyphElement.idl: Added. 119 * svg/svgtags.in: Wrap all SVGFont* elements in ENABLE(SVG_FONTS) block - to assure --no-svg-fonts compilation works (which is the default for now!). 120 1 121 2007-12-27 Dan Bernstein <mitz@apple.com> 2 122 -
trunk/WebCore/DerivedSources.make
r28798 r29012 204 204 DOMSVGFETileElement.h \ 205 205 DOMSVGFETurbulenceElement.h \ 206 DOMSVGFontElement.h \ 206 207 DOMSVGFontFaceElement.h \ 207 208 DOMSVGFontFaceFormatElement.h \ … … 214 215 DOMSVGForeignObjectElement.h \ 215 216 DOMSVGGElement.h \ 217 DOMSVGGlyphElement.h \ 216 218 DOMSVGGradientElement.h \ 217 219 DOMSVGImageElement.h \ … … 226 228 DOMSVGMatrix.h \ 227 229 DOMSVGMetadataElement.h \ 230 DOMSVGMissingGlyphElement.h \ 228 231 DOMSVGNumber.h \ 229 232 DOMSVGNumberList.h \ … … 544 547 JSSVGFETurbulenceElement.h \ 545 548 JSSVGFilterElement.h \ 549 JSSVGFontElement.h \ 546 550 JSSVGFontFaceElement.h \ 547 551 JSSVGFontFaceFormatElement.h \ … … 551 555 JSSVGForeignObjectElement.h \ 552 556 JSSVGGElement.h \ 557 JSSVGGlyphElement.h \ 553 558 JSSVGGradientElement.h \ 554 559 JSSVGImageElement.h \ … … 559 564 JSSVGMaskElement.h \ 560 565 JSSVGMarkerElement.h \ 566 JSSVGMissingGlyphElement.h \ 561 567 JSSVGTransform.h \ 562 568 JSSVGZoomEvent.h \ -
trunk/WebCore/WebCore.pro
r29006 r29012 1237 1237 svg/SVGFETurbulenceElement.idl \ 1238 1238 svg/SVGFilterElement.idl \ 1239 svg/SVGFontElement.idl \ 1239 1240 svg/SVGFontFaceElement.idl \ 1240 1241 svg/SVGFontFaceFormatElement.idl \ … … 1244 1245 svg/SVGForeignObjectElement.idl \ 1245 1246 svg/SVGGElement.idl \ 1247 svg/SVGGlyphElement.idl \ 1246 1248 svg/SVGGradientElement.idl \ 1247 1249 svg/SVGImageElement.idl \ … … 1254 1256 svg/SVGMatrix.idl \ 1255 1257 svg/SVGMetadataElement.idl \ 1258 svg/SVGMissingGlyphElement.idl \ 1256 1259 svg/SVGNumber.idl \ 1257 1260 svg/SVGNumberList.idl \ … … 1321 1324 css/SVGCSSParser.cpp \ 1322 1325 css/SVGCSSStyleSelector.cpp \ 1326 css/SVGCSSFontFace.cpp \ 1323 1327 rendering/SVGRenderStyle.cpp \ 1324 1328 rendering/SVGRenderStyleDefs.cpp \ … … 1380 1384 svg/SVGFilterPrimitiveStandardAttributes.cpp \ 1381 1385 svg/SVGFitToViewBox.cpp \ 1386 svg/SVGFont.cpp \ 1387 svg/SVGFontElement.cpp \ 1382 1388 svg/SVGFontFaceElement.cpp \ 1383 1389 svg/SVGFontFaceFormatElement.cpp \ … … 1387 1393 svg/SVGForeignObjectElement.cpp \ 1388 1394 svg/SVGGElement.cpp \ 1395 svg/SVGGlyphElement.cpp \ 1389 1396 svg/SVGGradientElement.cpp \ 1390 1397 svg/SVGImageElement.cpp \ … … 1398 1405 svg/SVGMaskElement.cpp \ 1399 1406 svg/SVGMetadataElement.cpp \ 1407 svg/SVGMissingGlyphElement.cpp \ 1400 1408 svg/SVGMPathElement.cpp \ 1401 1409 svg/SVGNumberList.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r28989 r29012 1786 1786 </File> 1787 1787 <File 1788 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontElement.cpp" 1789 > 1790 </File> 1791 <File 1792 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontElement.h" 1793 > 1794 </File> 1795 <File 1796 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphElement.cpp" 1797 > 1798 </File> 1799 <File 1800 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphElement.h" 1801 > 1802 </File> 1803 <File 1804 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGMissingGlyphElement.cpp" 1805 > 1806 </File> 1807 <File 1808 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGMissingGlyphElement.h" 1809 > 1810 </File> 1811 <File 1788 1812 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceElement.cpp" 1789 1813 > … … 4839 4863 </File> 4840 4864 <File 4865 RelativePath="..\css\SVGCSSFontFace.cpp" 4866 > 4867 </File> 4868 <File 4841 4869 RelativePath="..\css\SVGCSSParser.cpp" 4842 4870 > … … 8310 8338 </File> 8311 8339 <File 8340 RelativePath="..\svg\SVGFont.cpp" 8341 > 8342 </File> 8343 <File 8344 RelativePath="..\svg\SVGFont.h" 8345 > 8346 </File> 8347 <File 8348 RelativePath="..\svg\SVGFontElement.cpp" 8349 > 8350 </File> 8351 <File 8352 RelativePath="..\svg\SVGFontElement.h" 8353 > 8354 </File> 8355 <File 8312 8356 RelativePath="..\svg\SVGFontFaceElement.cpp" 8313 8357 > … … 8366 8410 </File> 8367 8411 <File 8412 RelativePath="..\svg\SVGGlyphElement.cpp" 8413 > 8414 </File> 8415 <File 8416 RelativePath="..\svg\SVGGlyphElement.h" 8417 > 8418 </File> 8419 <File 8368 8420 RelativePath="..\svg\SVGGradientElement.cpp" 8369 8421 > … … 8467 8519 <File 8468 8520 RelativePath="..\svg\SVGMetadataElement.h" 8521 > 8522 </File> 8523 <File 8524 RelativePath="..\svg\SVGMissingGlyphElement.cpp" 8525 > 8526 </File> 8527 <File 8528 RelativePath="..\svg\SVGMissingGlyphElement.h" 8469 8529 > 8470 8530 </File> -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r28988 r29012 3096 3096 B25BE5110D06B70800B524C6 /* JSEventTargetBase.h in Headers */ = {isa = PBXBuildFile; fileRef = B25BE50F0D06B70800B524C6 /* JSEventTargetBase.h */; }; 3097 3097 B25DFAAF0B2E2929000E6510 /* JSSVGMatrixCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B25DFAAE0B2E2929000E6510 /* JSSVGMatrixCustom.cpp */; }; 3098 B262B8040D1F32D000158F09 /* SVGFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B262B8030D1F32D000158F09 /* SVGFont.cpp */; }; 3098 3099 B26554EA0B80D74900A50EC3 /* RenderSVGTextPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B26554E80B80D74900A50EC3 /* RenderSVGTextPath.cpp */; }; 3099 3100 B26554EB0B80D74900A50EC3 /* RenderSVGTextPath.h in Headers */ = {isa = PBXBuildFile; fileRef = B26554E90B80D74900A50EC3 /* RenderSVGTextPath.h */; }; … … 3146 3147 B275358E0B053A66002CE64F /* IconMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = B275358D0B053A66002CE64F /* IconMac.mm */; }; 3147 3148 B277B4040B22F37C0004BEC6 /* GraphicsContextMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = B277B4030B22F37C0004BEC6 /* GraphicsContextMac.mm */; }; 3149 B27B28250CEF0C0700D39D54 /* JSSVGFontElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B27B281F0CEF0C0700D39D54 /* JSSVGFontElement.cpp */; }; 3150 B27B28260CEF0C0700D39D54 /* JSSVGFontElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28200CEF0C0700D39D54 /* JSSVGFontElement.h */; }; 3151 B27B28270CEF0C0700D39D54 /* JSSVGGlyphElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B27B28210CEF0C0700D39D54 /* JSSVGGlyphElement.cpp */; }; 3152 B27B28280CEF0C0700D39D54 /* JSSVGGlyphElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28220CEF0C0700D39D54 /* JSSVGGlyphElement.h */; }; 3153 B27B28290CEF0C0700D39D54 /* JSSVGMissingGlyphElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B27B28230CEF0C0700D39D54 /* JSSVGMissingGlyphElement.cpp */; }; 3154 B27B282A0CEF0C0700D39D54 /* JSSVGMissingGlyphElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28240CEF0C0700D39D54 /* JSSVGMissingGlyphElement.h */; }; 3155 B27B28360CEF0C3600D39D54 /* CSSPropertyNames.in in Resources */ = {isa = PBXBuildFile; fileRef = B27B282B0CEF0C3500D39D54 /* CSSPropertyNames.in */; }; 3156 B27B28370CEF0C3600D39D54 /* CSSValueKeywords.in in Resources */ = {isa = PBXBuildFile; fileRef = B27B282C0CEF0C3500D39D54 /* CSSValueKeywords.in */; }; 3157 B27B28380CEF0C3600D39D54 /* DOMSVGFontElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B282D0CEF0C3500D39D54 /* DOMSVGFontElement.h */; settings = {ATTRIBUTES = (); }; }; 3158 B27B28390CEF0C3600D39D54 /* DOMSVGFontElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = B27B282E0CEF0C3500D39D54 /* DOMSVGFontElement.mm */; }; 3159 B27B283A0CEF0C3600D39D54 /* DOMSVGFontElementInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B282F0CEF0C3500D39D54 /* DOMSVGFontElementInternal.h */; }; 3160 B27B283B0CEF0C3600D39D54 /* DOMSVGGlyphElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28300CEF0C3500D39D54 /* DOMSVGGlyphElement.h */; settings = {ATTRIBUTES = (); }; }; 3161 B27B283C0CEF0C3600D39D54 /* DOMSVGGlyphElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = B27B28310CEF0C3500D39D54 /* DOMSVGGlyphElement.mm */; }; 3162 B27B283D0CEF0C3600D39D54 /* DOMSVGGlyphElementInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28320CEF0C3500D39D54 /* DOMSVGGlyphElementInternal.h */; }; 3163 B27B283E0CEF0C3600D39D54 /* DOMSVGMissingGlyphElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28330CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.h */; settings = {ATTRIBUTES = (); }; }; 3164 B27B283F0CEF0C3600D39D54 /* DOMSVGMissingGlyphElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = B27B28340CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.mm */; }; 3165 B27B28400CEF0C3600D39D54 /* DOMSVGMissingGlyphElementInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B27B28350CEF0C3500D39D54 /* DOMSVGMissingGlyphElementInternal.h */; }; 3166 B27B285C0CEF0D7200D39D54 /* DOMSVGFontElement.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = B27B282D0CEF0C3500D39D54 /* DOMSVGFontElement.h */; }; 3167 B27B285D0CEF0D7200D39D54 /* DOMSVGGlyphElement.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = B27B28300CEF0C3500D39D54 /* DOMSVGGlyphElement.h */; }; 3168 B27B285E0CEF0D7200D39D54 /* DOMSVGMissingGlyphElement.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = B27B28330CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.h */; }; 3148 3169 B28BC31A0D135E5400CDBA27 /* JSEventTargetBase.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = B28BC3190D135E5400CDBA27 /* JSEventTargetBase.lut.h */; }; 3149 3170 B28C6A270D00C44800334AA4 /* SVGDocumentExtensions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B28C6A1E0D00C44800334AA4 /* SVGDocumentExtensions.cpp */; }; … … 3163 3184 B2A10B920B3818BD00099AA4 /* ImageBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = B2A10B910B3818BD00099AA4 /* ImageBuffer.h */; }; 3164 3185 B2A10B940B3818D700099AA4 /* ImageBufferCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2A10B930B3818D700099AA4 /* ImageBufferCG.cpp */; }; 3186 B2A1F2AA0CEF0ABF00442F6A /* SVGFontElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2A1F2A10CEF0ABF00442F6A /* SVGFontElement.cpp */; }; 3187 B2A1F2AB0CEF0ABF00442F6A /* SVGFontElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B2A1F2A20CEF0ABF00442F6A /* SVGFontElement.h */; }; 3188 B2A1F2AC0CEF0ABF00442F6A /* SVGFontElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = B2A1F2A30CEF0ABF00442F6A /* SVGFontElement.idl */; }; 3189 B2A1F2AD0CEF0ABF00442F6A /* SVGGlyphElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2A1F2A40CEF0ABF00442F6A /* SVGGlyphElement.cpp */; }; 3190 B2A1F2AE0CEF0ABF00442F6A /* SVGGlyphElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B2A1F2A50CEF0ABF00442F6A /* SVGGlyphElement.h */; }; 3191 B2A1F2AF0CEF0ABF00442F6A /* SVGGlyphElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = B2A1F2A60CEF0ABF00442F6A /* SVGGlyphElement.idl */; }; 3192 B2A1F2B00CEF0ABF00442F6A /* SVGMissingGlyphElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2A1F2A70CEF0ABF00442F6A /* SVGMissingGlyphElement.cpp */; }; 3193 B2A1F2B10CEF0ABF00442F6A /* SVGMissingGlyphElement.h in Headers */ = {isa = PBXBuildFile; fileRef = B2A1F2A80CEF0ABF00442F6A /* SVGMissingGlyphElement.h */; }; 3194 B2A1F2B20CEF0ABF00442F6A /* SVGMissingGlyphElement.idl in Resources */ = {isa = PBXBuildFile; fileRef = B2A1F2A90CEF0ABF00442F6A /* SVGMissingGlyphElement.idl */; }; 3165 3195 B2AE9B9D0C3AF27400F23F7F /* DOMSVGTextPathElement.mm in Sources */ = {isa = PBXBuildFile; fileRef = B2AE9B9C0C3AF27400F23F7F /* DOMSVGTextPathElement.mm */; }; 3166 3196 B2AFFC7C0D00A5C10030074D /* FontCacheMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = B2AFFC740D00A5C10030074D /* FontCacheMac.mm */; }; … … 3263 3293 B2CCEC470C6CA9F1006A5424 /* RenderSVGViewportContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2CCEC450C6CA9F1006A5424 /* RenderSVGViewportContainer.cpp */; }; 3264 3294 B2CCEC480C6CA9F1006A5424 /* RenderSVGViewportContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = B2CCEC460C6CA9F1006A5424 /* RenderSVGViewportContainer.h */; }; 3295 B2D19A480CEF9DC1000E033B /* SVGCSSFontFace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2D19A460CEF9DC1000E033B /* SVGCSSFontFace.cpp */; }; 3296 B2D19A490CEF9DC1000E033B /* SVGCSSFontFace.h in Headers */ = {isa = PBXBuildFile; fileRef = B2D19A470CEF9DC1000E033B /* SVGCSSFontFace.h */; }; 3265 3297 B2D3FC8A0C2212CB00CF3618 /* JSSVGTransformListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2D3FC890C2212CB00CF3618 /* JSSVGTransformListCustom.cpp */; }; 3266 3298 B2E27C9F0B0F2B0900F17C7B /* FloatPoint3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2E27C9D0B0F2B0900F17C7B /* FloatPoint3D.cpp */; }; … … 3895 3927 dstSubfolderSpec = 1; 3896 3928 files = ( 3929 B27B285C0CEF0D7200D39D54 /* DOMSVGFontElement.h in Copy Generated Headers */, 3930 B27B285D0CEF0D7200D39D54 /* DOMSVGGlyphElement.h in Copy Generated Headers */, 3931 B27B285E0CEF0D7200D39D54 /* DOMSVGMissingGlyphElement.h in Copy Generated Headers */, 3897 3932 8538F0300AD71CDB006A81D1 /* DOMAbstractView.h in Copy Generated Headers */, 3898 3933 1C11CCBC0AA6093700DADB20 /* DOMAttr.h in Copy Generated Headers */, … … 7106 7141 B25BE50F0D06B70800B524C6 /* JSEventTargetBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSEventTargetBase.h; sourceTree = "<group>"; }; 7107 7142 B25DFAAE0B2E2929000E6510 /* JSSVGMatrixCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGMatrixCustom.cpp; sourceTree = "<group>"; }; 7143 B262B8030D1F32D000158F09 /* SVGFont.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGFont.cpp; sourceTree = "<group>"; }; 7108 7144 B26554E80B80D74900A50EC3 /* RenderSVGTextPath.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGTextPath.cpp; sourceTree = "<group>"; }; 7109 7145 B26554E90B80D74900A50EC3 /* RenderSVGTextPath.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderSVGTextPath.h; sourceTree = "<group>"; }; … … 7156 7192 B275358D0B053A66002CE64F /* IconMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = IconMac.mm; sourceTree = "<group>"; }; 7157 7193 B277B4030B22F37C0004BEC6 /* GraphicsContextMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = GraphicsContextMac.mm; sourceTree = "<group>"; }; 7194 B27B281F0CEF0C0700D39D54 /* JSSVGFontElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGFontElement.cpp; sourceTree = "<group>"; }; 7195 B27B28200CEF0C0700D39D54 /* JSSVGFontElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGFontElement.h; sourceTree = "<group>"; }; 7196 B27B28210CEF0C0700D39D54 /* JSSVGGlyphElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGGlyphElement.cpp; sourceTree = "<group>"; }; 7197 B27B28220CEF0C0700D39D54 /* JSSVGGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGGlyphElement.h; sourceTree = "<group>"; }; 7198 B27B28230CEF0C0700D39D54 /* JSSVGMissingGlyphElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGMissingGlyphElement.cpp; sourceTree = "<group>"; }; 7199 B27B28240CEF0C0700D39D54 /* JSSVGMissingGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSSVGMissingGlyphElement.h; sourceTree = "<group>"; }; 7200 B27B282B0CEF0C3500D39D54 /* CSSPropertyNames.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSPropertyNames.in; sourceTree = "<group>"; }; 7201 B27B282C0CEF0C3500D39D54 /* CSSValueKeywords.in */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = CSSValueKeywords.in; sourceTree = "<group>"; }; 7202 B27B282D0CEF0C3500D39D54 /* DOMSVGFontElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGFontElement.h; sourceTree = "<group>"; }; 7203 B27B282E0CEF0C3500D39D54 /* DOMSVGFontElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMSVGFontElement.mm; sourceTree = "<group>"; }; 7204 B27B282F0CEF0C3500D39D54 /* DOMSVGFontElementInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGFontElementInternal.h; sourceTree = "<group>"; }; 7205 B27B28300CEF0C3500D39D54 /* DOMSVGGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGGlyphElement.h; sourceTree = "<group>"; }; 7206 B27B28310CEF0C3500D39D54 /* DOMSVGGlyphElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMSVGGlyphElement.mm; sourceTree = "<group>"; }; 7207 B27B28320CEF0C3500D39D54 /* DOMSVGGlyphElementInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGGlyphElementInternal.h; sourceTree = "<group>"; }; 7208 B27B28330CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGMissingGlyphElement.h; sourceTree = "<group>"; }; 7209 B27B28340CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMSVGMissingGlyphElement.mm; sourceTree = "<group>"; }; 7210 B27B28350CEF0C3500D39D54 /* DOMSVGMissingGlyphElementInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DOMSVGMissingGlyphElementInternal.h; sourceTree = "<group>"; }; 7158 7211 B28BC3190D135E5400CDBA27 /* JSEventTargetBase.lut.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSEventTargetBase.lut.h; sourceTree = "<group>"; }; 7159 7212 B28C6A1E0D00C44800334AA4 /* SVGDocumentExtensions.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGDocumentExtensions.cpp; sourceTree = "<group>"; }; … … 7173 7226 B2A10B910B3818BD00099AA4 /* ImageBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ImageBuffer.h; sourceTree = "<group>"; }; 7174 7227 B2A10B930B3818D700099AA4 /* ImageBufferCG.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ImageBufferCG.cpp; sourceTree = "<group>"; }; 7228 B2A1F2A10CEF0ABF00442F6A /* SVGFontElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGFontElement.cpp; sourceTree = "<group>"; }; 7229 B2A1F2A20CEF0ABF00442F6A /* SVGFontElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGFontElement.h; sourceTree = "<group>"; }; 7230 B2A1F2A30CEF0ABF00442F6A /* SVGFontElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGFontElement.idl; sourceTree = "<group>"; }; 7231 B2A1F2A40CEF0ABF00442F6A /* SVGGlyphElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGGlyphElement.cpp; sourceTree = "<group>"; }; 7232 B2A1F2A50CEF0ABF00442F6A /* SVGGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGGlyphElement.h; sourceTree = "<group>"; }; 7233 B2A1F2A60CEF0ABF00442F6A /* SVGGlyphElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGGlyphElement.idl; sourceTree = "<group>"; }; 7234 B2A1F2A70CEF0ABF00442F6A /* SVGMissingGlyphElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGMissingGlyphElement.cpp; sourceTree = "<group>"; }; 7235 B2A1F2A80CEF0ABF00442F6A /* SVGMissingGlyphElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGMissingGlyphElement.h; sourceTree = "<group>"; }; 7236 B2A1F2A90CEF0ABF00442F6A /* SVGMissingGlyphElement.idl */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SVGMissingGlyphElement.idl; sourceTree = "<group>"; }; 7175 7237 B2AE9B9C0C3AF27400F23F7F /* DOMSVGTextPathElement.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMSVGTextPathElement.mm; sourceTree = "<group>"; }; 7176 7238 B2AFFC740D00A5C10030074D /* FontCacheMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = FontCacheMac.mm; sourceTree = "<group>"; }; … … 7273 7335 B2CCEC450C6CA9F1006A5424 /* RenderSVGViewportContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGViewportContainer.cpp; sourceTree = "<group>"; }; 7274 7336 B2CCEC460C6CA9F1006A5424 /* RenderSVGViewportContainer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RenderSVGViewportContainer.h; sourceTree = "<group>"; }; 7337 B2D19A460CEF9DC1000E033B /* SVGCSSFontFace.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SVGCSSFontFace.cpp; sourceTree = "<group>"; }; 7338 B2D19A470CEF9DC1000E033B /* SVGCSSFontFace.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SVGCSSFontFace.h; sourceTree = "<group>"; }; 7275 7339 B2D3FC890C2212CB00CF3618 /* JSSVGTransformListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSSVGTransformListCustom.cpp; sourceTree = "<group>"; }; 7276 7340 B2E27C9D0B0F2B0900F17C7B /* FloatPoint3D.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FloatPoint3D.cpp; sourceTree = "<group>"; }; … … 8645 8709 isa = PBXGroup; 8646 8710 children = ( 8711 B27B282D0CEF0C3500D39D54 /* DOMSVGFontElement.h */, 8712 B27B282E0CEF0C3500D39D54 /* DOMSVGFontElement.mm */, 8713 B27B282F0CEF0C3500D39D54 /* DOMSVGFontElementInternal.h */, 8714 B27B28300CEF0C3500D39D54 /* DOMSVGGlyphElement.h */, 8715 B27B28310CEF0C3500D39D54 /* DOMSVGGlyphElement.mm */, 8716 B27B28320CEF0C3500D39D54 /* DOMSVGGlyphElementInternal.h */, 8717 B27B28330CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.h */, 8718 B27B28340CEF0C3500D39D54 /* DOMSVGMissingGlyphElement.mm */, 8719 B27B28350CEF0C3500D39D54 /* DOMSVGMissingGlyphElementInternal.h */, 8647 8720 85ACEF740ACDCFCE001214FF /* DOMSVGAElement.h */, 8648 8721 85ACEF750ACDCFCE001214FF /* DOMSVGAElement.mm */, … … 9209 9282 isa = PBXGroup; 9210 9283 children = ( 9284 B27B282B0CEF0C3500D39D54 /* CSSPropertyNames.in */, 9285 B27B282C0CEF0C3500D39D54 /* CSSValueKeywords.in */, 9211 9286 85967D9F0AA8BB59005FEDEE /* Core */, 9212 9287 85967DCA0AA8BF0F005FEDEE /* CSS */, … … 10247 10322 B2FA3C9A0AB75A6E000E5AC4 /* JSSVGFEGaussianBlurElement.cpp */, 10248 10323 B2FA3C9B0AB75A6E000E5AC4 /* JSSVGFEGaussianBlurElement.h */, 10324 B27B281F0CEF0C0700D39D54 /* JSSVGFontElement.cpp */, 10325 B27B28200CEF0C0700D39D54 /* JSSVGFontElement.h */, 10326 B27B28210CEF0C0700D39D54 /* JSSVGGlyphElement.cpp */, 10327 B27B28220CEF0C0700D39D54 /* JSSVGGlyphElement.h */, 10328 B27B28230CEF0C0700D39D54 /* JSSVGMissingGlyphElement.cpp */, 10329 B27B28240CEF0C0700D39D54 /* JSSVGMissingGlyphElement.h */, 10249 10330 B2FA3C9C0AB75A6E000E5AC4 /* JSSVGFEImageElement.cpp */, 10250 10331 B2FA3C9D0AB75A6E000E5AC4 /* JSSVGFEImageElement.h */, … … 10579 10660 isa = PBXGroup; 10580 10661 children = ( 10662 B262B8030D1F32D000158F09 /* SVGFont.cpp */, 10581 10663 B25598860D00D8B800BB825C /* graphics */, 10664 B2A1F2A10CEF0ABF00442F6A /* SVGFontElement.cpp */, 10665 B2A1F2A20CEF0ABF00442F6A /* SVGFontElement.h */, 10666 B2A1F2A30CEF0ABF00442F6A /* SVGFontElement.idl */, 10667 B2A1F2A40CEF0ABF00442F6A /* SVGGlyphElement.cpp */, 10668 B2A1F2A50CEF0ABF00442F6A /* SVGGlyphElement.h */, 10669 B2A1F2A60CEF0ABF00442F6A /* SVGGlyphElement.idl */, 10670 B2A1F2A70CEF0ABF00442F6A /* SVGMissingGlyphElement.cpp */, 10671 B2A1F2A80CEF0ABF00442F6A /* SVGMissingGlyphElement.h */, 10672 B2A1F2A90CEF0ABF00442F6A /* SVGMissingGlyphElement.idl */, 10582 10673 B22277CB0D00BF1F0071B782 /* ColorDistance.cpp */, 10583 10674 B22277CC0D00BF1F0071B782 /* ColorDistance.h */, … … 11941 12032 B2227B000D00BFF10071B782 /* SVGCSSComputedStyleDeclaration.cpp */, 11942 12033 B2227B010D00BFF10071B782 /* SVGCSSParser.cpp */, 12034 B2D19A460CEF9DC1000E033B /* SVGCSSFontFace.cpp */, 12035 B2D19A470CEF9DC1000E033B /* SVGCSSFontFace.h */, 11943 12036 B2227B020D00BFF10071B782 /* SVGCSSPropertyNames.in */, 11944 12037 B2227B030D00BFF10071B782 /* SVGCSSStyleSelector.cpp */, … … 14138 14231 93309DF8099E64920056E581 /* markup.h in Headers */, 14139 14232 93309E1E099E64920056E581 /* visible_units.h in Headers */, 14233 B2A1F2AB0CEF0ABF00442F6A /* SVGFontElement.h in Headers */, 14234 B2A1F2AE0CEF0ABF00442F6A /* SVGGlyphElement.h in Headers */, 14235 B2A1F2B10CEF0ABF00442F6A /* SVGMissingGlyphElement.h in Headers */, 14236 B27B28260CEF0C0700D39D54 /* JSSVGFontElement.h in Headers */, 14237 B27B28280CEF0C0700D39D54 /* JSSVGGlyphElement.h in Headers */, 14238 B27B282A0CEF0C0700D39D54 /* JSSVGMissingGlyphElement.h in Headers */, 14239 B27B28380CEF0C3600D39D54 /* DOMSVGFontElement.h in Headers */, 14240 B27B283A0CEF0C3600D39D54 /* DOMSVGFontElementInternal.h in Headers */, 14241 B27B283B0CEF0C3600D39D54 /* DOMSVGGlyphElement.h in Headers */, 14242 B27B283D0CEF0C3600D39D54 /* DOMSVGGlyphElementInternal.h in Headers */, 14243 B27B283E0CEF0C3600D39D54 /* DOMSVGMissingGlyphElement.h in Headers */, 14244 B27B28400CEF0C3600D39D54 /* DOMSVGMissingGlyphElementInternal.h in Headers */, 14245 B2D19A490CEF9DC1000E033B /* SVGCSSFontFace.h in Headers */, 14140 14246 BCA379150D163E5500B793D6 /* JSLocation.h in Headers */, 14141 14247 BCA3793F0D1647E000B793D6 /* JSLocation.lut.h in Headers */, … … 14182 14288 isa = PBXProject; 14183 14289 buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */; 14184 compatibilityVersion = "Xcode 2.4";14185 14290 hasScannedForEncodings = 1; 14186 14291 knownRegions = ( … … 14405 14510 1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */, 14406 14511 1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */, 14512 B2A1F2AC0CEF0ABF00442F6A /* SVGFontElement.idl in Resources */, 14513 B2A1F2AF0CEF0ABF00442F6A /* SVGGlyphElement.idl in Resources */, 14514 B2A1F2B20CEF0ABF00442F6A /* SVGMissingGlyphElement.idl in Resources */, 14515 B27B28360CEF0C3600D39D54 /* CSSPropertyNames.in in Resources */, 14516 B27B28370CEF0C3600D39D54 /* CSSValueKeywords.in in Resources */, 14407 14517 ); 14408 14518 runOnlyForDeploymentPostprocessing = 0; … … 15857 15967 93309E1D099E64920056E581 /* visible_units.cpp in Sources */, 15858 15968 BCA379140D163E5500B793D6 /* JSLocation.cpp in Sources */, 15969 B2A1F2AA0CEF0ABF00442F6A /* SVGFontElement.cpp in Sources */, 15970 B2A1F2AD0CEF0ABF00442F6A /* SVGGlyphElement.cpp in Sources */, 15971 B2A1F2B00CEF0ABF00442F6A /* SVGMissingGlyphElement.cpp in Sources */, 15972 B27B28250CEF0C0700D39D54 /* JSSVGFontElement.cpp in Sources */, 15973 B27B28270CEF0C0700D39D54 /* JSSVGGlyphElement.cpp in Sources */, 15974 B27B28290CEF0C0700D39D54 /* JSSVGMissingGlyphElement.cpp in Sources */, 15975 B27B28390CEF0C3600D39D54 /* DOMSVGFontElement.mm in Sources */, 15976 B27B283C0CEF0C3600D39D54 /* DOMSVGGlyphElement.mm in Sources */, 15977 B27B283F0CEF0C3600D39D54 /* DOMSVGMissingGlyphElement.mm in Sources */, 15978 B2D19A480CEF9DC1000E033B /* SVGCSSFontFace.cpp in Sources */, 15979 B262B8040D1F32D000158F09 /* SVGFont.cpp in Sources */, 15859 15980 BC7FA6200D1F0CBD00DB22A9 /* DynamicNodeList.cpp in Sources */, 15860 15981 BC7FA62E0D1F0EFF00DB22A9 /* StaticNodeList.cpp in Sources */, -
trunk/WebCore/bindings/js/JSSVGElementWrapperFactory.cpp
r28568 r29012 58 58 #include "JSSVGFilterElement.h" 59 59 #include "JSSVGForeignObjectElement.h" 60 #include "JSSVGFontElement.h" 60 61 #include "JSSVGFontFaceElement.h" 61 62 #include "JSSVGFontFaceFormatElement.h" … … 64 65 #include "JSSVGFontFaceUriElement.h" 65 66 #include "JSSVGGElement.h" 67 #include "JSSVGGlyphElement.h" 66 68 #include "JSSVGImageElement.h" 67 69 #include "JSSVGLinearGradientElement.h" … … 70 72 #include "JSSVGMaskElement.h" 71 73 #include "JSSVGMetadataElement.h" 74 #include "JSSVGMissingGlyphElement.h" 72 75 #include "JSSVGPathElement.h" 73 76 #include "JSSVGPatternElement.h" … … 128 131 #include "SVGFilterElement.h" 129 132 #include "SVGForeignObjectElement.h" 133 #include "SVGFontElement.h" 130 134 #include "SVGFontFaceElement.h" 131 135 #include "SVGFontFaceFormatElement.h" … … 134 138 #include "SVGFontFaceUriElement.h" 135 139 #include "SVGGElement.h" 140 #include "SVGGlyphElement.h" 136 141 #include "SVGImageElement.h" 137 142 #include "SVGLinearGradientElement.h" … … 140 145 #include "SVGMaskElement.h" 141 146 #include "SVGMetadataElement.h" 147 #include "SVGMissingGlyphElement.h" 142 148 #include "SVGPathElement.h" 143 149 #include "SVGPatternElement.h" … … 186 192 #define FOR_EACH_FONT_TAG(macro) \ 187 193 macro(definition_src, DefinitionSrc) \ 194 macro(font, Font) \ 188 195 macro(font_face, FontFace) \ 189 196 macro(font_face_format, FontFaceFormat) \ … … 191 198 macro(font_face_src, FontFaceSrc) \ 192 199 macro(font_face_uri, FontFaceUri) \ 200 macro(glyph, Glyph) \ 201 macro(missing_glyph, MissingGlyph) 193 202 // end of macro 194 203 -
trunk/WebCore/bindings/objc/DOM.mm
r28966 r29012 229 229 #endif 230 230 #if ENABLE(SVG_FONTS) 231 addElementClass(SVGNames::fontTag, [DOMSVGFontElement class]); 231 232 addElementClass(SVGNames::font_faceTag, [DOMSVGFontFaceElement class]); 232 233 addElementClass(SVGNames::font_face_formatTag, [DOMSVGFontFaceFormatElement class]); … … 234 235 addElementClass(SVGNames::font_face_srcTag, [DOMSVGFontFaceSrcElement class]); 235 236 addElementClass(SVGNames::font_face_uriTag, [DOMSVGFontFaceUriElement class]); 237 addElementClass(SVGNames::glyphTag, [DOMSVGGlyphElement class]); 236 238 #endif 237 239 addElementClass(SVGNames::gTag, [DOMSVGGElement class]); … … 242 244 addElementClass(SVGNames::maskTag, [DOMSVGMaskElement class]); 243 245 addElementClass(SVGNames::metadataTag, [DOMSVGMetadataElement class]); 246 #if ENABLE(SVG_FONTS) 247 addElementClass(SVGNames::missing_glyphTag, [DOMSVGMissingGlyphElement class]); 248 #endif 244 249 addElementClass(SVGNames::pathTag, [DOMSVGPathElement class]); 245 250 addElementClass(SVGNames::patternTag, [DOMSVGPatternElement class]); -
trunk/WebCore/bindings/objc/DOMInternal.h
r26429 r29012 172 172 #import "DOMSVGCursorElementInternal.h" 173 173 #import "DOMSVGDefsElementInternal.h" 174 #import "DOMSVGDefinitionSrcElementInternal.h" 174 175 #import "DOMSVGDescElementInternal.h" 175 176 #import "DOMSVGDocumentInternal.h" … … 201 202 #import "DOMSVGFETurbulenceElementInternal.h" 202 203 #import "DOMSVGFilterElementInternal.h" 204 #import "DOMSVGFontElementInternal.h" 205 #import "DOMSVGFontFaceElementInternal.h" 206 #import "DOMSVGFontFaceFormatElementInternal.h" 207 #import "DOMSVGFontFaceNameElementInternal.h" 208 #import "DOMSVGFontFaceSrcElementInternal.h" 209 #import "DOMSVGFontFaceUriElementInternal.h" 203 210 #import "DOMSVGForeignObjectElementInternal.h" 204 211 #import "DOMSVGGElementInternal.h" 212 #import "DOMSVGGlyphElementInternal.h" 205 213 #import "DOMSVGGradientElementInternal.h" 206 214 #import "DOMSVGImageElementInternal.h" … … 213 221 #import "DOMSVGMatrixInternal.h" 214 222 #import "DOMSVGMetadataElementInternal.h" 223 #import "DOMSVGMissingGlyphElementInternal.h" 215 224 #import "DOMSVGNumberInternal.h" 216 225 #import "DOMSVGNumberListInternal.h" -
trunk/WebCore/bindings/objc/DOMSVG.h
r26907 r29012 85 85 #import <WebCore/DOMSVGFilterPrimitiveStandardAttributes.h> 86 86 #import <WebCore/DOMSVGFitToViewBox.h> 87 #import <WebCore/DOMSVGFontElement.h> 87 88 #import <WebCore/DOMSVGFontFaceElement.h> 88 89 #import <WebCore/DOMSVGFontFaceFormatElement.h> … … 92 93 #import <WebCore/DOMSVGForeignObjectElement.h> 93 94 #import <WebCore/DOMSVGGElement.h> 95 #import <WebCore/DOMSVGGlyphElement.h> 94 96 #import <WebCore/DOMSVGGradientElement.h> 95 97 #import <WebCore/DOMSVGImageElement.h> … … 104 106 #import <WebCore/DOMSVGMatrix.h> 105 107 #import <WebCore/DOMSVGMetadataElement.h> 108 #import <WebCore/DOMSVGMissingGlyphElement.h> 106 109 #import <WebCore/DOMSVGNumber.h> 107 110 #import <WebCore/DOMSVGNumberList.h> -
trunk/WebCore/css/CSSFontFace.h
r27776 r29012 40 40 public: 41 41 CSSFontFace(CSSFontSelector*); 42 ~CSSFontFace();42 virtual ~CSSFontFace(); 43 43 44 44 bool isLoaded() const; 45 bool isValid() const;45 virtual bool isValid() const; 46 46 47 v oid addSource(CSSFontFaceSource*);47 virtual void addSource(CSSFontFaceSource*); 48 48 49 49 void fontLoaded(CSSFontFaceSource*); 50 50 51 FontData* getFontData(const FontDescription&, bool syntheticBold, bool syntheticItalic);51 virtual FontData* getFontData(const FontDescription&, bool syntheticBold, bool syntheticItalic); 52 52 53 53 private: -
trunk/WebCore/css/CSSFontFaceSrcValue.h
r26484 r29012 32 32 namespace WebCore { 33 33 34 class SVGFontFaceElement; 35 34 36 class CSSFontFaceSrcValue : public CSSValue { 35 37 public: 36 38 CSSFontFaceSrcValue(const String& resource, bool local) 37 :m_resource(resource), m_isLocal(local) {} 39 :m_resource(resource), m_isLocal(local) 40 #if ENABLE(SVG_FONTS) 41 , m_fontFaceElement(0) 42 #endif 43 {} 38 44 virtual ~CSSFontFaceSrcValue() {}; 39 45 … … 45 51 46 52 bool isSupportedFormat() const; 47 53 54 #if ENABLE(SVG_FONTS) 55 SVGFontFaceElement* svgFontFaceElement() const { return m_fontFaceElement; } 56 void setSVGFontFaceElement(SVGFontFaceElement* element) { m_fontFaceElement = element; } 57 #endif 58 48 59 virtual String cssText() const; 49 60 … … 52 63 String m_format; 53 64 bool m_isLocal; 65 #if ENABLE(SVG_FONTS) 66 SVGFontFaceElement* m_fontFaceElement; 67 #endif 54 68 }; 55 69 -
trunk/WebCore/css/CSSFontSelector.cpp
r28882 r29012 1 1 /* 2 2 * Copyright (C) 2007 Apple Inc. All rights reserved. 3 * (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 25 26 26 27 #include "config.h" 28 27 29 #include "CSSFontSelector.h" 28 29 30 #include "AtomicString.h" 31 #include "CString.h" 30 32 #include "CSSFontFace.h" 31 33 #include "CSSFontFaceRule.h" … … 44 46 #include "RenderObject.h" 45 47 #include "Settings.h" 48 49 #if ENABLE(SVG_FONTS) 50 #include "NodeList.h" 51 #include "SVGCSSFontFace.h" 52 #include "SVGFontFaceElement.h" 53 #include "SVGNames.h" 54 #endif 46 55 47 56 namespace WebCore { … … 113 122 } 114 123 } 115 124 116 125 // Each item in the src property's list is a single CSSFontFaceSource. Put them all into a CSSFontFace. 117 CSSFontFace* fontFace = new CSSFontFace(this);118 126 CSSFontFace* fontFace = 0; 127 119 128 int i; 120 129 int srcLength = srcList->length(); 130 121 131 bool foundLocal = false; 132 133 #if ENABLE(SVG_FONTS) 134 SVGFontFaceElement* svgFontFaceElement = 0; 135 #endif 136 122 137 for (i = 0; i < srcLength; i++) { 123 138 // An item in the list either specifies a string (local font name) or a URL (remote font to download). 124 139 CSSFontFaceSrcValue* item = static_cast<CSSFontFaceSrcValue*>(srcList->item(i)); 125 140 CSSFontFaceSource* source = 0; 141 142 #if ENABLE(SVG_FONTS) 143 // SVG Fonts support (internal fonts, living within the document) 144 svgFontFaceElement = item->svgFontFaceElement(); 145 if (svgFontFaceElement) 146 break; 147 #endif 148 126 149 if (!item->isLocal()) { 127 150 if (item->isSupportedFormat()) { … … 140 163 } 141 164 165 if (!fontFace) 166 fontFace = new CSSFontFace(this); 167 142 168 if (source) 143 169 fontFace->addSource(source); … … 147 173 break; 148 174 } 149 150 if (!fontFace->isValid()) { 175 176 #if ENABLE(SVG_FONTS) 177 ASSERT(fontFace || svgFontFaceElement); 178 #else 179 ASSERT(fontFace); 180 #endif 181 182 if (fontFace && !fontFace->isValid()) { 151 183 delete fontFace; 152 184 return; … … 184 216 } 185 217 } 186 187 if (!familyName.isEmpty()) 188 m_fonts.set(hashForFont(familyName.lower(), fontDescription.bold(), fontDescription.italic()), fontFace); 218 219 if (familyName.isEmpty()) 220 continue; 221 222 #if ENABLE(SVG_FONTS) 223 if (svgFontFaceElement) { 224 ASSERT(svgFontFaceElement->fontFamily() == familyName); 225 fontFace = new SVGCSSFontFace(this, svgFontFaceElement); 226 } 227 #endif 228 229 m_fonts.set(hashForFont(familyName.lower(), fontDescription.bold(), fontDescription.italic()), fontFace); 189 230 } 190 231 } -
trunk/WebCore/platform/graphics/Font.cpp
r28621 r29012 508 508 int Font::ascent() const 509 509 { 510 return primaryFont()->ascent( );510 return primaryFont()->ascent(size()); 511 511 } 512 512 513 513 int Font::descent() const 514 514 { 515 return primaryFont()->descent( );515 return primaryFont()->descent(size()); 516 516 } 517 517 … … 549 549 bool Font::canUseGlyphCache(const TextRun& run) const 550 550 { 551 #if ENABLE(SVG_FONTS) 552 // SVG fonts don't support any caching for now, we pretend it here to assure SVG 553 // font drawing always ends up in the 'simple code path', when SVG fonts are used. 554 if (primaryFont() && primaryFont()->isSVGFont()) 555 return true; 556 #endif 557 551 558 switch (codePath) { 552 559 case Auto: … … 655 662 FloatSize nextOffset = glyphBuffer.offsetAt(nextGlyph); 656 663 if (nextFontData != fontData || nextOffset != offset) { 664 #if ENABLE(SVG_FONTS) 665 if (fontData->isSVGFont()) 666 drawGlyphsWithSVGFont(context, run.referencingRenderObject(), fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint); 667 else 668 #endif 657 669 drawGlyphs(context, fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint); 670 658 671 lastFrom = nextGlyph; 659 672 fontData = nextFontData; … … 664 677 nextGlyph++; 665 678 } 679 680 #if ENABLE(SVG_FONTS) 681 if (fontData->isSVGFont()) 682 drawGlyphsWithSVGFont(context, run.referencingRenderObject(), fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint); 683 else 684 #endif 666 685 drawGlyphs(context, fontData, glyphBuffer, lastFrom, nextGlyph - lastFrom, startPoint); 667 686 } -
trunk/WebCore/platform/graphics/Font.h
r28867 r29012 47 47 class GraphicsContext; 48 48 class IntPoint; 49 class RenderObject; 49 50 50 51 struct GlyphData; … … 64 65 , m_applyWordRounding(applyWordRounding) 65 66 , m_disableSpacing(false) 67 #if ENABLE(SVG_FONTS) 68 , m_referencingRenderObject(0) 69 #endif 66 70 { 67 71 } … … 79 83 , m_applyWordRounding(applyWordRounding) 80 84 , m_disableSpacing(false) 85 #if ENABLE(SVG_FONTS) 86 , m_referencingRenderObject(0) 87 #endif 81 88 { 82 89 } … … 104 111 void setRTL(bool b) { m_rtl = b; } 105 112 void setDirectionalOverride(bool override) { m_directionalOverride = override; } 106 113 114 #if ENABLE(SVG_FONTS) 115 RenderObject* referencingRenderObject() const { return m_referencingRenderObject; } 116 void setReferencingRenderObject(RenderObject* object) { m_referencingRenderObject = object; } 117 #endif 118 107 119 private: 108 120 const UChar* m_characters; … … 117 129 bool m_applyWordRounding; 118 130 bool m_disableSpacing; 131 132 #if ENABLE(SVG_FONTS) 133 RenderObject* m_referencingRenderObject; 134 #endif 119 135 }; 120 136 … … 200 216 void drawSimpleText(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; 201 217 void drawGlyphs(GraphicsContext*, const FontData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const; 218 #if ENABLE(SVG_FONTS) 219 void drawGlyphsWithSVGFont(GraphicsContext*, RenderObject*, const FontData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const; 220 #endif 202 221 void drawGlyphBuffer(GraphicsContext*, const GlyphBuffer&, const TextRun&, const FloatPoint&) const; 203 222 void drawComplexText(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; -
trunk/WebCore/platform/graphics/FontData.cpp
r28234 r29012 33 33 #include <wtf/MathExtras.h> 34 34 35 #if ENABLE(SVG_FONTS) 36 #include "SVGFontFaceElement.h" 37 #endif 38 35 39 namespace WebCore { 36 40 … … 38 42 : m_font(f) 39 43 , m_treatAsFixedPitch(false) 44 #if ENABLE(SVG_FONTS) 45 , m_isSVGFont(false) 46 , m_svgFontFace(0) 47 #endif 40 48 , m_isCustomFont(customFont) 41 49 , m_isLoading(loading) … … 90 98 } 91 99 100 int FontData::ascent(float fontSize) const 101 { 102 #if ENABLE(SVG_FONTS) 103 if (m_isSVGFont) { 104 ASSERT(m_unitsPerEm > 0); 105 return m_ascent * fontSize / m_unitsPerEm; 106 } 107 #endif 108 109 return m_ascent; 110 } 111 112 int FontData::descent(float fontSize) const 113 { 114 #if ENABLE(SVG_FONTS) 115 if (m_isSVGFont) { 116 ASSERT(m_unitsPerEm > 0); 117 return m_descent * fontSize / m_unitsPerEm; 118 } 119 #endif 120 121 return m_descent; 122 } 123 92 124 float FontData::widthForGlyph(Glyph glyph) const 93 125 { -
trunk/WebCore/platform/graphics/FontData.h
r28498 r29012 46 46 class WidthMap; 47 47 48 #if ENABLE(SVG_FONTS) 49 class SVGFontFaceElement; 50 #endif 51 48 52 enum Pitch { UnknownPitch, FixedPitch, VariablePitch }; 49 53 … … 58 62 59 63 // vertical metrics 60 int ascent( ) const { return m_ascent; }61 int descent( ) const { return m_descent; }64 int ascent(float fontSize) const; 65 int descent(float fontSize) const; 62 66 int lineSpacing() const { return m_lineSpacing; } 63 67 int lineGap() const { return m_lineGap; } … … 72 76 void determinePitch(); 73 77 Pitch pitch() const { return m_treatAsFixedPitch ? FixedPitch : VariablePitch; } 78 79 #if ENABLE(SVG_FONTS) 80 bool isSVGFont() const { return m_isSVGFont; } 81 SVGFontFaceElement* svgFontFace() const { return m_svgFontFace.get(); } 82 #endif 74 83 75 84 bool isCustomFont() const { return m_isCustomFont; } … … 125 134 bool m_treatAsFixedPitch; 126 135 136 #if ENABLE(SVG_FONTS) 137 bool m_isSVGFont; 138 RefPtr<SVGFontFaceElement> m_svgFontFace; 139 #endif 140 127 141 bool m_isCustomFont; // Whether or not we are custom font loaded via @font-face 128 142 bool m_isLoading; // Whether or not this custom font is still in the act of loading. -
trunk/WebCore/platform/graphics/cg/PathCG.cpp
r26383 r29012 151 151 void Path::closeSubpath() 152 152 { 153 CGPathCloseSubpath(m_path); 153 if (!CGPathIsEmpty(m_path)) // to silence a warning when trying to close an empty path 154 CGPathCloseSubpath(m_path); 154 155 } 155 156 -
trunk/WebCore/rendering/SVGInlineTextBox.cpp
r28962 r29012 77 77 float SVGInlineTextBox::calculateGlyphWidth(RenderStyle* style, int offset) const 78 78 { 79 ASSERT(style); 79 80 return style->font().floatWidth(svgTextRunForInlineTextBox(textObject()->text()->characters() + offset, 1, style, this, 0)); 80 81 } -
trunk/WebCore/rendering/SVGRootInlineBox.cpp
r28559 r29012 645 645 TextRun run(c, len, false, static_cast<int>(xPos), textBox->toAdd(), textBox->m_reversed, textBox->m_dirOverride || style->visuallyOrdered()); 646 646 647 #if ENABLE(SVG_FONTS) 648 run.setReferencingRenderObject(textBox->textObject()->parent()); 649 #endif 650 647 651 // We handle letter & word spacing ourselves 648 652 run.disableSpacing(); -
trunk/WebCore/svg/SVGDefinitionSrcElement.cpp
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #include "config.h" 21 #if ENABLE(SVG) 21 22 #if ENABLE(SVG_FONTS) 22 23 #include "SVGDefinitionSrcElement.h" 23 24 … … 40 41 } 41 42 42 #endif // ENABLE(SVG )43 #endif // ENABLE(SVG_FONTS) 43 44 -
trunk/WebCore/svg/SVGDefinitionSrcElement.h
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #ifndef SVGDefinitionSrcElement_h 21 21 #define SVGDefinitionSrcElement_h 22 #if ENABLE(SVG)23 22 23 #if ENABLE(SVG_FONTS) 24 24 #include "SVGElement.h" 25 25 26 namespace WebCore 27 { 26 namespace WebCore { 28 27 class SVGDefinitionSrcElement : public SVGElement { 29 public:30 SVGDefinitionSrcElement(const QualifiedName&, Document*);28 public: 29 SVGDefinitionSrcElement(const QualifiedName&, Document*); 31 30 32 virtual void childrenChanged();33 };31 virtual void childrenChanged(); 32 }; 34 33 35 34 } // namespace WebCore 36 35 37 #endif // ENABLE(SVG )36 #endif // ENABLE(SVG_FONTS) 38 37 #endif 39 38 -
trunk/WebCore/svg/SVGDefinitionSrcElement.idl
r26907 r29012 26 26 module svg { 27 27 28 interface [Conditional=SVG ] SVGDefinitionSrcElement : SVGElement {28 interface [Conditional=SVG&SVG_FONTS] SVGDefinitionSrcElement : SVGElement { 29 29 }; 30 30 -
trunk/WebCore/svg/SVGFontFaceElement.cpp
r26917 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Library General Public 7 License as published by the Free Software Foundation; either 8 version 2 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Library General Public License for more details. 14 15 You should have received a copy of the GNU Library General Public License 16 along with this library; see the file COPYING.LIB. If not, write to 17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 Boston, MA 02110-1301, USA. 18 19 */ 19 20 20 21 #include "config.h" 21 #if ENABLE(SVG) 22 23 #if ENABLE(SVG_FONTS) 22 24 #include "SVGFontFaceElement.h" 23 25 24 26 #include "CSSFontFaceRule.h" 27 #include "CSSFontFaceSrcValue.h" 25 28 #include "CSSProperty.h" 26 29 #include "CSSPropertyNames.h" … … 28 31 #include "CSSStyleSheet.h" 29 32 #include "CSSValueList.h" 33 #include "FontCache.h" 34 #include "FontData.h" 35 #include "FontPlatformData.h" 36 #include "SVGDefinitionSrcElement.h" 30 37 #include "SVGNames.h" 38 #include "SVGFontElement.h" 31 39 #include "SVGFontFaceSrcElement.h" 32 #include "SVG DefinitionSrcElement.h"40 #include "SVGGlyphElement.h" 33 41 34 42 namespace WebCore { … … 126 134 } 127 135 136 unsigned SVGFontFaceElement::unitsPerEm() const 137 { 138 if (hasAttribute(units_per_emAttr)) 139 return getAttribute(units_per_emAttr).toInt(); 140 141 return 1000; 142 } 143 144 String SVGFontFaceElement::fontFamily() const 145 { 146 return m_styleDeclaration->getPropertyValue(CSS_PROP_FONT_FAMILY); 147 } 148 149 FontData* SVGFontFaceElement::createFontData(const FontDescription& fontDescription) const 150 { 151 // We only expect to have this method called by a parent font element 152 ASSERT(parentNode()); 153 ASSERT(parentNode()->hasTagName(fontTag)); 154 SVGFontElement* fontElement = static_cast<SVGFontElement*>(parentNode()); 155 156 // Use default fallback platform data - it's not needed anyway... 157 FontPlatformData* cachedPlatformData = FontCache::getLastResortFallbackFont(fontDescription); 158 if (!cachedPlatformData) 159 return 0; 160 161 OwnPtr<FontData> fontData(new FontData(*cachedPlatformData)); 162 fontData->m_isSVGFont = true; 163 fontData->m_svgFontFace = const_cast<SVGFontFaceElement*>(this); 164 165 fontData->m_xHeight = fontElement->getAttribute(x_heightAttr).toFloat(); 166 fontData->m_unitsPerEm = unitsPerEm(); 167 168 if (hasAttribute(ascentAttr)) 169 fontData->m_ascent = getAttribute(ascentAttr).toInt(); 170 else if (fontElement->hasAttribute(vert_origin_yAttr)) 171 fontData->m_ascent = fontData->m_unitsPerEm - fontElement->getAttribute(vert_origin_yAttr).toInt(); 172 else 173 // invalid font, should log 174 fontData->m_ascent = 0; 175 176 if (hasAttribute(descentAttr)) 177 fontData->m_descent = getAttribute(descentAttr).toInt(); 178 else if (fontElement->hasAttribute(vert_origin_yAttr)) 179 fontData->m_descent = fontElement->getAttribute(vert_origin_yAttr).toInt(); 180 else 181 fontData->m_descent = fontData->m_ascent; 182 183 return fontData.release(); 184 } 185 128 186 void SVGFontFaceElement::rebuildFontFace() 129 187 { 188 // Ignore changes until we live in the tree 189 if (!parentNode()) 190 return; 191 192 // Special handling for local SVG fonts (those which have a <font> parent, and are only used within the document) 193 if (parentNode() && parentNode()->hasTagName(fontTag)) { 194 RefPtr<CSSValueList> list = new CSSValueList; 195 196 RefPtr<CSSFontFaceSrcValue> src = new CSSFontFaceSrcValue(StringImpl::empty(), false); 197 src->setSVGFontFaceElement(this); 198 list->append(src); 199 200 CSSProperty srcProperty(CSS_PROP_SRC, list); 201 const CSSProperty* srcPropertyRef = &srcProperty; 202 m_styleDeclaration->addParsedProperties(&srcPropertyRef, 1); 203 204 document()->updateStyleSelector(); 205 return; 206 } 207 208 // TODO: External SVG fonts support - re use existing "custom font" handling logic. 209 130 210 // we currently ignore all but the first src element, alternatively we could concat them 131 211 SVGFontFaceSrcElement* srcElement = 0; 132 212 SVGDefinitionSrcElement* definitionSrc = 0; 133 213 134 214 for (Node* child = firstChild(); child; child = child->nextSibling()) { 135 215 if (child->hasTagName(font_face_srcTag) && !srcElement) … … 144 224 m_styleDeclaration->setProperty(CSS_PROP_DEFINITION_SRC, definitionSrc->getAttribute(XLinkNames::hrefAttr), false); 145 225 #endif 146 147 if (parentNode() && parentNode()->localName() == "font") // SVGNames::fontTag isn't generated yet 148 return; // this font-face applies to its parent font, which we ignore. 149 else if (srcElement) { 226 227 if (srcElement) { 150 228 // This is the only class (other than CSSParser) to create CSSValue objects and set them on the CSSStyleDeclaration manually 151 229 // we use the addParsedProperties method, and fake having an array of CSSProperty pointers. … … 154 232 m_styleDeclaration->addParsedProperties(&srcPropertyRef, 1); 155 233 } 156 234 157 235 document()->updateStyleSelector(); 158 236 } 159 237 238 void SVGFontFaceElement::insertedIntoDocument() 239 { 240 rebuildFontFace(); 241 } 242 160 243 void SVGFontFaceElement::childrenChanged() 161 244 { … … 163 246 } 164 247 165 } 166 167 #endif // ENABLE(SVG) 168 248 SVGGlyphIdentifier SVGFontFaceElement::glyphIdentifierForGlyphCode(const Glyph& code) const 249 { 250 // We only expect to have this method called by a parent font element 251 ASSERT(parentNode()); 252 ASSERT(parentNode()->hasTagName(fontTag)); 253 254 SVGFontElement* fontElement = static_cast<SVGFontElement*>(parentNode()); 255 return fontElement->glyphIdentifierForGlyphCode(code); 256 } 257 258 } 259 260 #endif // ENABLE(SVG_FONTS) -
trunk/WebCore/svg/SVGFontFaceElement.h
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 */ 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Library General Public 7 License as published by the Free Software Foundation; either 8 version 2 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Library General Public License for more details. 14 15 You should have received a copy of the GNU Library General Public License 16 along with this library; see the file COPYING.LIB. If not, write to 17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 Boston, MA 02110-1301, USA. 19 */ 19 20 20 21 #ifndef SVGFontFaceElement_h 21 22 #define SVGFontFaceElement_h 22 #if ENABLE(SVG)23 23 24 #if ENABLE(SVG_FONTS) 24 25 #include "SVGElement.h" 26 #include "GlyphBuffer.h" 25 27 26 28 namespace WebCore { 29 27 30 class CSSFontFaceRule; 28 31 class CSSMutableStyleDeclaration; 32 class FontData; 33 class FontDescription; 34 struct SVGGlyphIdentifier; 35 29 36 class SVGFontFaceElement : public SVGElement { 30 37 public: … … 33 40 34 41 virtual void parseMappedAttribute(MappedAttribute*); 35 42 36 43 virtual void childrenChanged(); 37 44 virtual void insertedIntoDocument(); 45 46 unsigned unitsPerEm() const; 47 String fontFamily() const; 48 38 49 void rebuildFontFace(); 39 40 private: 50 FontData* createFontData(const FontDescription&) const; 51 52 SVGGlyphIdentifier glyphIdentifierForGlyphCode(const Glyph&) const; 53 54 private: 41 55 RefPtr<CSSFontFaceRule> m_fontFaceRule; 42 56 RefPtr<CSSMutableStyleDeclaration> m_styleDeclaration; … … 45 59 } // namespace WebCore 46 60 47 #endif // ENABLE(SVG )61 #endif // ENABLE(SVG_FONTS) 48 62 #endif 49 63 -
trunk/WebCore/svg/SVGFontFaceElement.idl
r26904 r29012 26 26 module svg { 27 27 28 interface [Conditional=SVG ] SVGFontFaceElement : SVGElement {28 interface [Conditional=SVG&SVG_FONTS] SVGFontFaceElement : SVGElement { 29 29 }; 30 30 -
trunk/WebCore/svg/SVGFontFaceFormatElement.cpp
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #include "config.h" 21 #if ENABLE(SVG) 21 22 #if ENABLE(SVG_FONTS) 22 23 #include "SVGFontFaceFormatElement.h" 23 24 … … 50 51 } 51 52 52 #endif // ENABLE(SVG) 53 53 #endif // ENABLE(SVG_FONTS) -
trunk/WebCore/svg/SVGFontFaceFormatElement.h
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #ifndef SVGFontFaceFormatElement_h 21 21 #define SVGFontFaceFormatElement_h 22 #if ENABLE(SVG)23 22 23 #if ENABLE(SVG_FONTS) 24 24 #include "SVGElement.h" 25 25 26 26 namespace WebCore { 27 class SVGFontFaceFormatElement : public SVGElement { 27 28 class SVGFontFaceFormatElement : public SVGElement { 28 29 public: 29 30 SVGFontFaceFormatElement(const QualifiedName&, Document*); … … 34 35 } // namespace WebCore 35 36 36 #endif // ENABLE(SVG )37 #endif // ENABLE(SVG_FONTS) 37 38 #endif 38 39 -
trunk/WebCore/svg/SVGFontFaceFormatElement.idl
r26904 r29012 26 26 module svg { 27 27 28 interface [Conditional=SVG ] SVGFontFaceFormatElement : SVGElement {28 interface [Conditional=SVG&SVG_FONTS] SVGFontFaceFormatElement : SVGElement { 29 29 }; 30 30 -
trunk/WebCore/svg/SVGFontFaceNameElement.cpp
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #include "config.h" 21 #if ENABLE(SVG) 21 22 #if ENABLE(SVG_FONTS) 22 23 #include "SVGFontFaceNameElement.h" 23 24 -
trunk/WebCore/svg/SVGFontFaceNameElement.h
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #ifndef SVGFontFaceNameElement_h 21 21 #define SVGFontFaceNameElement_h 22 #if ENABLE(SVG)23 22 23 #if ENABLE(SVG_FONTS) 24 24 #include "SVGElement.h" 25 25 … … 35 35 } // namespace WebCore 36 36 37 #endif // ENABLE(SVG )37 #endif // ENABLE(SVG_FONTS) 38 38 #endif 39 39 -
trunk/WebCore/svg/SVGFontFaceNameElement.idl
r26904 r29012 26 26 module svg { 27 27 28 interface [Conditional=SVG ] SVGFontFaceNameElement : SVGElement {28 interface [Conditional=SVG&SVG_FONTS] SVGFontFaceNameElement : SVGElement { 29 29 }; 30 30 -
trunk/WebCore/svg/SVGFontFaceSrcElement.cpp
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #include "config.h" 21 #if ENABLE(SVG) 21 22 #if ENABLE(SVG_FONTS) 22 23 #include "SVGFontFaceSrcElement.h" 23 24 … … 58 59 } 59 60 60 #endif // ENABLE(SVG) 61 61 #endif // ENABLE(SVG_FONTS) -
trunk/WebCore/svg/SVGFontFaceSrcElement.h
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #ifndef SVGFontFaceSrcElement_h 21 21 #define SVGFontFaceSrcElement_h 22 #if ENABLE(SVG)23 22 23 #if ENABLE(SVG_FONTS) 24 24 #include "SVGElement.h" 25 25 … … 37 37 } // namespace WebCore 38 38 39 #endif // ENABLE(SVG )39 #endif // ENABLE(SVG_FONTS) 40 40 #endif 41 41 -
trunk/WebCore/svg/SVGFontFaceSrcElement.idl
r26904 r29012 26 26 module svg { 27 27 28 interface [Conditional=SVG ] SVGFontFaceSrcElement : SVGElement {28 interface [Conditional=SVG&SVG_FONTS] SVGFontFaceSrcElement : SVGElement { 29 29 }; 30 30 -
trunk/WebCore/svg/SVGFontFaceUriElement.cpp
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #include "config.h" 21 #if ENABLE(SVG) 21 22 #if ENABLE(SVG_FONTS) 22 23 #include "SVGFontFaceUriElement.h" 23 24 … … 55 56 } 56 57 57 #endif // ENABLE(SVG) 58 58 #endif // ENABLE(SVG_FONTS) -
trunk/WebCore/svg/SVGFontFaceUriElement.h
r26904 r29012 1 1 /* 2 Copyright (C) 2007 Eric Seidel <eric@webkit.org>3 4 This library is free software; you can redistribute it and/or5 modify it under the terms of the GNU Library General Public6 License as published by the Free Software Foundation; either7 version 2 of the License, or (at your option) any later version.8 9 This library is distributed in the hope that it will be useful,10 but WITHOUT ANY WARRANTY; without even the implied warranty of11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 Library General Public License for more details.13 14 You should have received a copy of the GNU Library General Public License15 along with this library; see the file COPYING.LIB. If not, write to16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,17 Boston, MA 02110-1301, USA.2 Copyright (C) 2007 Eric Seidel <eric@webkit.org> 3 4 This library is free software; you can redistribute it and/or 5 modify it under the terms of the GNU Library General Public 6 License as published by the Free Software Foundation; either 7 version 2 of the License, or (at your option) any later version. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Library General Public License for more details. 13 14 You should have received a copy of the GNU Library General Public License 15 along with this library; see the file COPYING.LIB. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 Boston, MA 02110-1301, USA. 18 18 */ 19 19 20 20 #ifndef SVGFontFaceUriElement_h 21 21 #define SVGFontFaceUriElement_h 22 #if ENABLE(SVG)23 22 23 #if ENABLE(SVG_FONTS) 24 24 #include "SVGElement.h" 25 25 … … 37 37 } // namespace WebCore 38 38 39 #endif // ENABLE(SVG )39 #endif // ENABLE(SVG_FONTS) 40 40 #endif 41 41 -
trunk/WebCore/svg/SVGFontFaceUriElement.idl
r26904 r29012 26 26 module svg { 27 27 28 interface [Conditional=SVG ] SVGFontFaceUriElement : SVGElement {28 interface [Conditional=SVG&SVG_FONTS] SVGFontFaceUriElement : SVGElement { 29 29 }; 30 30 -
trunk/WebCore/svg/svgtags.in
r28568 r29012 17 17 #endif 18 18 cursor 19 #if ENABLE_SVG_FONTS 19 20 definition_src 21 #endif 20 22 defs 21 23 desc … … 52 54 filter 53 55 #endif 54 #if 056 #ifdef ENABLE_SVG_FONTS 55 57 font 56 #endif57 58 font_face 58 59 font_face_format … … 60 61 font_face_src 61 62 font_face_uri 63 #endif 62 64 foreignObject 63 65 g 66 #ifdef ENABLE_SVG_FONTS 67 glyph 68 #endif 64 69 #if 0 65 glyph66 70 glyphRef 67 71 hkern … … 73 77 mask 74 78 metadata 75 #if 079 #ifdef ENABLE_SVG_FONTS 76 80 missing_glyph 77 81 #endif -
trunk/WebKit/mac/ChangeLog
r28982 r29012 1 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org> 2 3 Reviewed by Eric. 4 5 Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make 6 7 * MigrateHeaders.make: 8 1 9 2007-12-25 Dan Bernstein <mitz@apple.com> 2 10 -
trunk/WebKit/mac/MigrateHeaders.make
r27496 r29012 327 327 $(PRIVATE_HEADERS_DIR)/DOMSVGFilterPrimitiveStandardAttributes.h \ 328 328 $(PRIVATE_HEADERS_DIR)/DOMSVGFitToViewBox.h \ 329 $(PRIVATE_HEADERS_DIR)/DOMSVGFontElement.h \ 329 330 $(PRIVATE_HEADERS_DIR)/DOMSVGFontFaceElement.h \ 330 331 $(PRIVATE_HEADERS_DIR)/DOMSVGFontFaceFormatElement.h \ … … 336 337 $(PRIVATE_HEADERS_DIR)/DOMSVGGElement.h \ 337 338 $(INTERNAL_HEADERS_DIR)/DOMSVGGElementInternal.h \ 339 $(PRIVATE_HEADERS_DIR)/DOMSVGGlyphElement.h \ 338 340 $(PRIVATE_HEADERS_DIR)/DOMSVGGradientElement.h \ 339 341 $(INTERNAL_HEADERS_DIR)/DOMSVGGradientElementInternal.h \ … … 358 360 $(PRIVATE_HEADERS_DIR)/DOMSVGMetadataElement.h \ 359 361 $(INTERNAL_HEADERS_DIR)/DOMSVGMetadataElementInternal.h \ 362 $(PRIVATE_HEADERS_DIR)/DOMSVGMissingGlyphElement.h \ 360 363 $(PRIVATE_HEADERS_DIR)/DOMSVGNumber.h \ 361 364 $(PRIVATE_HEADERS_DIR)/DOMSVGNumberList.h \
Note: See TracChangeset
for help on using the changeset viewer.