head 1.19; access; symbols SNAPSHOT_0_1_4:1.19 SNAPSHOT_0_1_3:1.19 SNAPSHOT_0_1_2:1.19 start:1.1.1.1 isi:1.1.1; locks; strict; comment @# @; 1.19 date 2003.12.06.03.02.11; author rworth; state Exp; branches; next 1.18; 1.18 date 2003.02.19.14.38.28; author cworth; state Exp; branches; next 1.17; 1.17 date 2003.02.13.19.40.07; author rwlbuis; state Exp; branches; next 1.16; 1.16 date 2003.02.09.16.27.35; author rwlbuis; state Exp; branches; next 1.15; 1.15 date 2003.02.05.21.37.51; author rwlbuis; state Exp; branches; next 1.14; 1.14 date 2003.02.05.20.13.36; author cworth; state Exp; branches; next 1.13; 1.13 date 2003.02.01.04.07.42; author cworth; state Exp; branches; next 1.12; 1.12 date 2003.01.28.21.52.27; author cworth; state Exp; branches; next 1.11; 1.11 date 2003.01.24.21.34.27; author cworth; state Exp; branches; next 1.10; 1.10 date 2003.01.24.20.40.46; author cworth; state Exp; branches; next 1.9; 1.9 date 2003.01.24.20.08.17; author cworth; state Exp; branches; next 1.8; 1.8 date 2002.11.11.20.57.48; author cworth; state Exp; branches; next 1.7; 1.7 date 2002.11.04.08.28.40; author cworth; state Exp; branches; next 1.6; 1.6 date 2002.11.02.18.29.05; author cworth; state Exp; branches; next 1.5; 1.5 date 2002.10.31.06.45.50; author cworth; state Exp; branches; next 1.4; 1.4 date 2002.10.30.01.47.18; author cworth; state Exp; branches; next 1.3; 1.3 date 2002.10.26.15.02.56; author cworth; state Exp; branches; next 1.2; 1.2 date 2002.10.24.18.15.35; author cworth; state Exp; branches; next 1.1; 1.1 date 2002.10.23.21.19.43; author cworth; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2002.10.23.21.19.43; author cworth; state Exp; branches; next ; desc @@ 1.19 log @Updated TODO to track rename of xr to cairo and of libxsvg to libsvg-cairo @ text @The libsvg TODO --------------- (sorted roughly by intention) Non-critical, relatively minor ------------------------------ Add svg image support. Fix to not preserve whitespace by default. Resolve proper rendering of width 1 lines (see "Fail, due to secondary considerations" below) Fix units (come up with a general solution for dealing with 100% on outer ) Fix aligning of text, (note that text-alignment-BE-10 breaks when scaling) Big work ahead -------------- Add gradients Add clipping/masking Add filters Add whatever else is missing to bring all other tests into conformance Conformance Testing Status ========================== Here is the status of libsvg with respect to the tests from the W3C conformance suite. The test suite is available from: http://www.w3.org/Graphics/SVG/Test/ The status below reflects results from the xsvg viewer using libsvg-cairo which uses cairo and libsvg. Hence, some of the failures noted below could be bugs in xsvg, libsvg-cairo, or cairo rather than directly in libsvg. Test are grouped according to their behavior: Pass perfectly [*] ----------------- color-datatypes-BE-01.svg coords-transforms-BE-02.svg coords-units-BE-01.svg coords-unitsProc-BE-04.svg masking-groupOpac-BE-04.svg paint-inherit-BE-06.svg paint-stroke-BE-02.svg path-curves-BE-02.svg path-curves-BE-03.svg path-curves-BE-04.svg path-lines-BE-01.svg rendering-orderGr-BE-01.svg rendering-shape-BE-03.svg shapes-circle-BE-03.svg shapes-ellipse-BE-02.svg shapes-line-BE-04.svg shapes-polygon-BE-05.svg shapes-polyline-BE-06.svg shapes-rect-BE-01.svg structure-basicG-BE-03.svg structure-empty-BE-01.svg structure-nested-BE-02.svg [*] There is one big difference between my images and the reference images: The SVG conformance suite reference images have width 1 stroked rectangles, (with integer coordinates), occupying one row of pixels. This is in contrast to my current output which occupies 2 rows of pixels (each at 50%). My current result is more "correct" geometrically, but it looks nasty. I found language in the spec. saying that all results had to be within 1 pixel of the geometrically correct result. Also, property controlling this has a default value of "auto" which means the user agent is allowed to tradeoff geometrical accuracy for crisp edges. So, I think the results I have conform, but I want to find a clean way to get these silly width 1 rectangles nice and crisp and matching the reference images. Fail, but look hopeful ---------------------- text-font-BE-15.svg # Might be conforming, (I just don't have the fonts) Fail completely --------------- color-colorProf-BE-03.svg /* ICC */ color-property-BE-02.svg /* gradients */ coords-unitsProc-BE-05.svg /* gradients */ coords-viewBox-BE-03.svg /* clipping for slice */ filters-blend-BE-02.svg /* filters */ filters-blur-BE-12.svg /* filters */ filters-colorMtrx-BE-03.svg /* filters */ filters-composite-BE-05.svg /* filters */ filters-convolve-BE-06.svg /* filters */ filters-diffuseLt-BE-07.svg /* filters */ filters-dispMap-BE-16.svg /* filters */ filters-feImage-BE-13.svg /* filters */ filters-feTile-BE-14.svg /* filters */ filters-fldMrgOff-BE-15.svg /* filters */ filters-lights-BE-09.svg /* filters */ filters-many-BE-01.svg /* filters */ filters-morph-BE-10.svg /* filters */ filters-specularLt-BE-08.svg /* filters */ filters-transfer-BE-04.svg /* filters */ filters-turb-BE-11.svg /* filters */ fonts-fontElement-BE-01.svg gradPatt-linearGr-BE-01.svg /* gradients */ gradPatt-linearGr-BE-02.svg /* gradients */ gradPatt-linearGr-BE-03.svg /* gradients */ gradPatt-pattern-BE-07.svg /* gradients */ gradPatt-radialGr-BE-04.svg /* gradients */ gradPatt-radialGr-BE-05.svg /* gradients */ gradPatt-referenc-BE-08.svg /* gradients */ gradPatt-stop-BE-06.svg /* gradients */ gradPatt-stop-BE-10.svg /* gradients */ gradPatt-transfrm-BE-09.svg /* gradients */ masking-clipPath-BE-01.svg /* clipping */ masking-clipPath-BE-02.svg /* clipping */ masking-clipPath-BE-08.svg /* clipping */ masking-clipRule-BE-03.svg /* clipping */ masking-mask-BE-05.svg /* clipping */ masking-mask-BE-06.svg /* clipping */ masking-property-BE-07.svg /* clipping */ masking-vportClip-BE-09.svg /* clipping */ metadata-sample-BE-01.svg paint-colIntProp-BE-05.svg /* gradients, interpolation */ paint-fill-BE-01.svg /* gradients */ paint-markers-BE-03.svg /* markers */ paint-markers-BE-04.svg /* markers */ rendering-text-BE-02.svg structure-allElem-BE-09.svg /* switch */ structure-defs-BE-04.svg /* gradients */ structure-extRef-BE-10.svg /* linking */ structure-image-BE-06.svg /* linking */ structure-imggamma-BE-11.svg /* gamma? */ structure-lang-BE-08.svg /* systemLangauge */ structure-switch-BE-07.svg /* switch */ structure-symbol-BE-05.svg /* symbol */ style-selector-BE-01.svg /* css */ style-selector-BE-02.svg /* css */ style-selector-BE-03.svg /* css */ text-alignment-BR-10.svg text-alignment-BR-11.svg text-altGlyph-BE-07.svg text-decoration-BE-12.svg text-extTref-BE-18.svg text-font-BE-16.svg text-i18n-BE-09.svg text-selection-BE-13.svg text-spacing-BE-14.svg text-text-BE-01.svg text-textAnchor-BE-05.svg text-textLength-BE-17.svg text-textOnPath-BE-03.svg text-tref-BE-04.svg text-tspan-BE-02.svg text-whiteSpace-BE-06.svg Dynamic tests (all of these fail due to major functionality not yet implemented in libsvg) ------------------------------------------------------------------------------------------ animation-* dom-* extend-* filters-* interact-* linking-* script-* @ 1.18 log @Fixed some typos in svg_image. Updated TODO @ text @d34 3 a36 3 The status below reflects results from the xsvg viewer using libxrsvg which uses Xr and libsvg. Hence, some of the failures noted below could be bugs in xsvg, libxrsvg, or Xr rather than directly in libsvg. @ 1.17 log @ Update. @ text @d9 2 d91 16 @ 1.16 log @ - updated testsuite results, indicated in which area some of them fail. - handle inherit case for color property. @ text @d11 3 a13 1 Fix units (eg. coords-units-BE-01.svg) @ 1.15 log @ Some updates to reflect the current situation. Oh, and 'hello world' :) @ text @d40 2 d50 1 d59 1 d83 4 a86 6 color-colorProf-BE-03.svg color-property-BE-02.svg coords-units-BE-01.svg coords-unitsProc-BE-04.svg coords-unitsProc-BE-05.svg coords-viewBox-BE-03.svg d88 18 a105 18 gradPatt-linearGr-BE-01.svg gradPatt-linearGr-BE-02.svg gradPatt-linearGr-BE-03.svg gradPatt-pattern-BE-07.svg gradPatt-radialGr-BE-04.svg gradPatt-radialGr-BE-05.svg gradPatt-referenc-BE-08.svg gradPatt-stop-BE-06.svg gradPatt-stop-BE-10.svg gradPatt-transfrm-BE-09.svg masking-clipPath-BE-01.svg masking-clipPath-BE-02.svg masking-clipPath-BE-08.svg masking-clipRule-BE-03.svg masking-mask-BE-05.svg masking-mask-BE-06.svg masking-property-BE-07.svg masking-vportClip-BE-09.svg d107 4 a110 5 paint-colIntProp-BE-05.svg paint-fill-BE-01.svg paint-markers-BE-03.svg paint-markers-BE-04.svg rendering-shape-BE-03.svg d112 11 a122 12 structure-allElem-BE-09.svg structure-defs-BE-04.svg structure-extRef-BE-10.svg structure-image-BE-06.svg structure-imggamma-BE-11.svg structure-lang-BE-08.svg structure-nested-BE-02.svg structure-switch-BE-07.svg structure-symbol-BE-05.svg style-selector-BE-01.svg style-selector-BE-02.svg style-selector-BE-03.svg @ 1.14 log @Don't look for 'd' attribute for path's that are not (eg. , , etc.) @ text @d7 1 a7 1 Add jpeg/svg image support. a12 2 Add support for entities, (eg. rendering-shape-BE-03.svg) d45 1 a108 1 path-curves-BE-04.svg @ 1.13 log @Updated some comments @ text @d45 1 a45 1 path-curves-BE-02.svg # (The reference image has one incorrect fill color) @ 1.12 log @paint-stroke-BE-02.svg now passes @ text @d11 1 a11 1 Fix miter limit (see "Fail, due to secondary considerations" below) d13 1 a13 7 Fix quadratic curves (see "Fail, but look hopeful" below) Fix round caps/joins (see "Fail, but look hopeful" below) Fix the curve/fill bug (see "Fail, but look hopeful" below) Fix units (see "Fail completely" below) @ 1.11 log @Fixes for quadratic curves @ text @d50 1 a81 1 paint-stroke-BE-02.svg # Missing round cap/join, Missing dashes @ 1.10 log @path-curves-BE-02.svg now passes @ text @d51 1 a81 1 path-curves-BE-03.svg # The paths of some curves are incorrect @ 1.9 log @With fixed miter limit, shapes-polyline-BE-06.svg now passes. @ text @d50 1 a80 1 path-curves-BE-02.svg # One curve fills incorrectly @ 1.8 log @Now changes directory to resolve relative references. Various cleanups in code @ text @d56 1 a81 1 shapes-polyline-BE-06.svg # Just a miter limit problem @ 1.7 log @Added support for opacity property @ text @a18 2 Fix rounded rectangles (see "Fail, but look hopeful" below) d149 2 a150 2 Dynamic tests (none of these Fail due to major functionality not yet implemented in libsvg ------------------------------------------------------------- @ 1.6 log @Fixed handling of missing attributes on basic shapes. @ text @a4 4 Critical problems ----------------- Add group rendering support d50 1 d53 1 d95 19 a118 1 rendering-orderGr-BE-01.svg d151 1 a151 1 Fail due to major functionality not yet implemented in libsvg a156 1 gradPatt-* a158 2 masking-* metadata-* @ 1.5 log @Big code cleanup. Fixed broken transformations. @ text @a6 2 Add images d11 2 d50 2 a51 6 Pass perfectly -------------- structure-empty-BE-01.svg Fail due to secondary considerations[*] --------------------------------------- d60 1 d62 1 d64 1 a64 1 [*] There is currently one known problem that is affecting all tests: d66 13 a78 5 i) There seems to be a bit of disagreement between SVG and this code, (perhaps Xr specifically) on how to stroke a width 1 line. I'll have to dig through the SVG spec to see what it says about where the integer-coordinate grid is and if there is any snapping specified. a81 1 fonts-fontElement-BE-01.svg # Close? Missing font? (And notice ugly approximations on @@) a85 1 shapes-rect-BE-01.svg # Rounded rectangles are broken d96 1 @ 1.4 log @Cleaned up parsing. Added basic text support @ text @d5 5 a9 1 Add text support (see "Fail, due to secondary considerations" below) d11 2 d17 1 a17 1 Fix opacity bugs (see "Fail, but look hopeful" below) d19 1 a19 1 Fix quadratic cuves (see "Fail, but look hopeful" below) d21 3 a23 1 Fix transforms (see "Fail completely" below) d27 2 a28 2 Add images d57 1 d76 4 a79 3 paint-stroke-BE-02.svg path-curves-BE-02.svg path-curves-BE-03.svg d81 1 a81 1 shapes-rect-BE-01.svg a87 1 coords-transforms-BE-02.svg a91 1 fonts-fontElement-BE-01.svg @ 1.3 log @Fixed current point after close path @ text @d44 1 a44 1 (yet) a54 1 shapes-polyline-BE-06.svg d57 1 a57 1 [*] There are three known problems that currently affect almost all tests: d59 1 a59 4 i) No text is working yet in libsvg, hence the template and descriptive text is missing from all tests. ii) There seems to be a bit of disagreement between SVG and a64 3 iii) The miter limit is not kicking in properly. See shapes-polyline-BE-06.svg for an example. d70 1 d72 1 d83 1 a93 1 structure-empty-BE-01.svg ??? Is this one supposed to be blank? d104 17 a127 1 fonts-* a133 1 text-* @ 1.2 log @Added fill_rule, fixed color parsing, polygon/rect closing, others @ text @a73 1 paint-fill-BE-01.svg d89 1 @ 1.1 log @Initial revision @ text @d1 123 a123 15 TODO: * Put back everything we dropped when porting from librsvg to libsvg, (text, images, defs, etc.) * Clipping paths * Masks * Fixing image transforms * Image effects/filters * Fill patterns @ 1.1.1.1 log @Initial commit of libsvg. @ text @@