From cca66b9ec4e494c1d919bff0f71a820d8afab1fa Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:24:48 +0200 Subject: Adding upstream version 1.2.2. Signed-off-by: Daniel Baumann --- .../extensions/tests/data/svg/clips_and_masks.svg | 87 ++ share/extensions/tests/data/svg/colors.svg | 39 + .../tests/data/svg/complextransform.test.svg | 71 ++ share/extensions/tests/data/svg/css.svg | 94 ++ share/extensions/tests/data/svg/curves.svg | 72 ++ share/extensions/tests/data/svg/dash.svg | 40 + .../extensions/tests/data/svg/dash_zerolength.svg | 34 + .../tests/data/svg/deep-ungroup-complex.svg | 158 +++ .../tests/data/svg/default-inkscape-SVG.svg | 37 + .../data/svg/default-inkscape-SVG_scoured.svg | 12 + .../tests/data/svg/default-plain-SVG.svg | 29 + share/extensions/tests/data/svg/diff.svg | 281 +++++ .../extensions/tests/data/svg/doc_ai_conv_m_in.svg | 24 + .../tests/data/svg/doc_ai_conv_mm_in.svg | 24 + .../tests/data/svg/dpiswitcher_96dpi.svg | 169 +++ .../tests/data/svg/dxf_nested_transforms.svg | 69 ++ share/extensions/tests/data/svg/edge3d.svg | 31 + .../tests/data/svg/ellipse_group_comment.svg | 21 + share/extensions/tests/data/svg/embed.svg | 120 +++ share/extensions/tests/data/svg/empty.svg | 13 + share/extensions/tests/data/svg/empty_mm.svg | 14 + .../extensions/tests/data/svg/empty_multipage.svg | 90 ++ share/extensions/tests/data/svg/extrude.svg | 129 +++ share/extensions/tests/data/svg/font.svg | 27 + share/extensions/tests/data/svg/font_layers.svg | 3 + .../tests/data/svg/font_layers_apostrophe.svg | 12 + .../tests/data/svg/gradient_with_mixed_offsets.svg | 26 + .../tests/data/svg/group_interpolate.svg | 110 ++ share/extensions/tests/data/svg/guides.svg | 233 +++++ .../tests/data/svg/guides_millimeter.svg | 89 ++ share/extensions/tests/data/svg/hershey_input.svg | 1082 ++++++++++++++++++++ .../tests/data/svg/hershey_trivial_input.svg | 124 +++ share/extensions/tests/data/svg/hpgl_multipen.svg | 43 + share/extensions/tests/data/svg/images.svg | 73 ++ .../extensions/tests/data/svg/images_multiple.svg | 31 + .../tests/data/svg/img/color_overlay_a.png | Bin 0 -> 6932 bytes .../tests/data/svg/img/color_overlay_b.png | Bin 0 -> 6760 bytes .../extensions/tests/data/svg/img/color_pad_a.png | Bin 0 -> 3109 bytes .../extensions/tests/data/svg/img/color_pad_b.png | Bin 0 -> 3109 bytes .../extensions/tests/data/svg/img/color_pad_c.png | Bin 0 -> 3109 bytes share/extensions/tests/data/svg/img/green.png | Bin 0 -> 128 bytes share/extensions/tests/data/svg/img/linecap.png | Bin 0 -> 7361 bytes .../tests/data/svg/img/subfolder/linecap.png | Bin 0 -> 7361 bytes share/extensions/tests/data/svg/inkweb-debug.js | 367 +++++++ share/extensions/tests/data/svg/inkwebjs-move.svg | 128 +++ share/extensions/tests/data/svg/interp_shapes.svg | 210 ++++ share/extensions/tests/data/svg/markers.svg | 55 + share/extensions/tests/data/svg/mesh.svg | 240 +++++ .../tests/data/svg/minimal-blank-prepare.svg | 1 + share/extensions/tests/data/svg/minimal-blank.svg | 1 + share/extensions/tests/data/svg/motion_tests.svg | 73 ++ .../tests/data/svg/multilayered-test.svg | 156 +++ .../tests/data/svg/multiple_closed_subpaths.svg | 49 + .../tests/data/svg/paths_open_closed.svg | 67 ++ .../tests/data/svg/pattern_along_path.svg | 498 +++++++++ .../svg/pattern_along_path_clone_transform.svg | 116 +++ share/extensions/tests/data/svg/perspective.svg | 33 + .../tests/data/svg/perspective_groups.svg | 78 ++ .../extensions/tests/data/svg/pixelsnap_simple.svg | 69 ++ .../tests/data/svg/preserved-transforms.svg | 59 ++ .../extensions/tests/data/svg/restack_grouped.svg | 215 ++++ .../tests/data/svg/rubber-stretch-test.svg | 66 ++ .../extensions/tests/data/svg/scale_not_unity.svg | 65 ++ share/extensions/tests/data/svg/scatter.svg | 106 ++ .../extensions/tests/data/svg/shapes-clipboard.svg | 288 ++++++ share/extensions/tests/data/svg/shapes.svg | 284 +++++ share/extensions/tests/data/svg/shapes_cmyk.svg | 302 ++++++ .../extensions/tests/data/svg/simple_patterns.svg | 85 ++ .../tests/data/svg/simpletransform.test.svg | 8 + share/extensions/tests/data/svg/single_box.svg | 62 ++ share/extensions/tests/data/svg/slicer.svg | 75 ++ .../tests/data/svg/style_inheritance.svg | 75 ++ .../extensions/tests/data/svg/styling-css-04-f.svg | 134 +++ .../tests/data/svg/styling-inherit-01-b.svg | 59 ++ share/extensions/tests/data/svg/symbol.svg | 46 + share/extensions/tests/data/svg/text_on_arc.svg | 19 + share/extensions/tests/data/svg/text_types.svg | 256 +++++ .../tests/data/svg/three_pages_and_two_grids.svg | 90 ++ .../tests/data/svg/transformed-layer.svg | 19 + share/extensions/tests/data/svg/with-lpe.svg | 30 + 80 files changed, 7995 insertions(+) create mode 100644 share/extensions/tests/data/svg/clips_and_masks.svg create mode 100644 share/extensions/tests/data/svg/colors.svg create mode 100644 share/extensions/tests/data/svg/complextransform.test.svg create mode 100644 share/extensions/tests/data/svg/css.svg create mode 100644 share/extensions/tests/data/svg/curves.svg create mode 100644 share/extensions/tests/data/svg/dash.svg create mode 100644 share/extensions/tests/data/svg/dash_zerolength.svg create mode 100644 share/extensions/tests/data/svg/deep-ungroup-complex.svg create mode 100644 share/extensions/tests/data/svg/default-inkscape-SVG.svg create mode 100644 share/extensions/tests/data/svg/default-inkscape-SVG_scoured.svg create mode 100644 share/extensions/tests/data/svg/default-plain-SVG.svg create mode 100644 share/extensions/tests/data/svg/diff.svg create mode 100644 share/extensions/tests/data/svg/doc_ai_conv_m_in.svg create mode 100644 share/extensions/tests/data/svg/doc_ai_conv_mm_in.svg create mode 100644 share/extensions/tests/data/svg/dpiswitcher_96dpi.svg create mode 100644 share/extensions/tests/data/svg/dxf_nested_transforms.svg create mode 100644 share/extensions/tests/data/svg/edge3d.svg create mode 100644 share/extensions/tests/data/svg/ellipse_group_comment.svg create mode 100644 share/extensions/tests/data/svg/embed.svg create mode 100644 share/extensions/tests/data/svg/empty.svg create mode 100644 share/extensions/tests/data/svg/empty_mm.svg create mode 100644 share/extensions/tests/data/svg/empty_multipage.svg create mode 100644 share/extensions/tests/data/svg/extrude.svg create mode 100644 share/extensions/tests/data/svg/font.svg create mode 100644 share/extensions/tests/data/svg/font_layers.svg create mode 100644 share/extensions/tests/data/svg/font_layers_apostrophe.svg create mode 100644 share/extensions/tests/data/svg/gradient_with_mixed_offsets.svg create mode 100644 share/extensions/tests/data/svg/group_interpolate.svg create mode 100644 share/extensions/tests/data/svg/guides.svg create mode 100644 share/extensions/tests/data/svg/guides_millimeter.svg create mode 100755 share/extensions/tests/data/svg/hershey_input.svg create mode 100755 share/extensions/tests/data/svg/hershey_trivial_input.svg create mode 100644 share/extensions/tests/data/svg/hpgl_multipen.svg create mode 100644 share/extensions/tests/data/svg/images.svg create mode 100644 share/extensions/tests/data/svg/images_multiple.svg create mode 100644 share/extensions/tests/data/svg/img/color_overlay_a.png create mode 100644 share/extensions/tests/data/svg/img/color_overlay_b.png create mode 100644 share/extensions/tests/data/svg/img/color_pad_a.png create mode 100644 share/extensions/tests/data/svg/img/color_pad_b.png create mode 100644 share/extensions/tests/data/svg/img/color_pad_c.png create mode 100644 share/extensions/tests/data/svg/img/green.png create mode 100644 share/extensions/tests/data/svg/img/linecap.png create mode 100644 share/extensions/tests/data/svg/img/subfolder/linecap.png create mode 100644 share/extensions/tests/data/svg/inkweb-debug.js create mode 100644 share/extensions/tests/data/svg/inkwebjs-move.svg create mode 100644 share/extensions/tests/data/svg/interp_shapes.svg create mode 100644 share/extensions/tests/data/svg/markers.svg create mode 100644 share/extensions/tests/data/svg/mesh.svg create mode 100644 share/extensions/tests/data/svg/minimal-blank-prepare.svg create mode 100644 share/extensions/tests/data/svg/minimal-blank.svg create mode 100644 share/extensions/tests/data/svg/motion_tests.svg create mode 100644 share/extensions/tests/data/svg/multilayered-test.svg create mode 100644 share/extensions/tests/data/svg/multiple_closed_subpaths.svg create mode 100644 share/extensions/tests/data/svg/paths_open_closed.svg create mode 100644 share/extensions/tests/data/svg/pattern_along_path.svg create mode 100644 share/extensions/tests/data/svg/pattern_along_path_clone_transform.svg create mode 100644 share/extensions/tests/data/svg/perspective.svg create mode 100644 share/extensions/tests/data/svg/perspective_groups.svg create mode 100644 share/extensions/tests/data/svg/pixelsnap_simple.svg create mode 100644 share/extensions/tests/data/svg/preserved-transforms.svg create mode 100644 share/extensions/tests/data/svg/restack_grouped.svg create mode 100644 share/extensions/tests/data/svg/rubber-stretch-test.svg create mode 100644 share/extensions/tests/data/svg/scale_not_unity.svg create mode 100644 share/extensions/tests/data/svg/scatter.svg create mode 100644 share/extensions/tests/data/svg/shapes-clipboard.svg create mode 100644 share/extensions/tests/data/svg/shapes.svg create mode 100644 share/extensions/tests/data/svg/shapes_cmyk.svg create mode 100644 share/extensions/tests/data/svg/simple_patterns.svg create mode 100644 share/extensions/tests/data/svg/simpletransform.test.svg create mode 100644 share/extensions/tests/data/svg/single_box.svg create mode 100644 share/extensions/tests/data/svg/slicer.svg create mode 100644 share/extensions/tests/data/svg/style_inheritance.svg create mode 100755 share/extensions/tests/data/svg/styling-css-04-f.svg create mode 100755 share/extensions/tests/data/svg/styling-inherit-01-b.svg create mode 100644 share/extensions/tests/data/svg/symbol.svg create mode 100644 share/extensions/tests/data/svg/text_on_arc.svg create mode 100644 share/extensions/tests/data/svg/text_types.svg create mode 100644 share/extensions/tests/data/svg/three_pages_and_two_grids.svg create mode 100644 share/extensions/tests/data/svg/transformed-layer.svg create mode 100644 share/extensions/tests/data/svg/with-lpe.svg (limited to 'share/extensions/tests/data/svg') diff --git a/share/extensions/tests/data/svg/clips_and_masks.svg b/share/extensions/tests/data/svg/clips_and_masks.svg new file mode 100644 index 0000000..4beccd4 --- /dev/null +++ b/share/extensions/tests/data/svg/clips_and_masks.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/colors.svg b/share/extensions/tests/data/svg/colors.svg new file mode 100644 index 0000000..026dc1a --- /dev/null +++ b/share/extensions/tests/data/svg/colors.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/complextransform.test.svg b/share/extensions/tests/data/svg/complextransform.test.svg new file mode 100644 index 0000000..478f850 --- /dev/null +++ b/share/extensions/tests/data/svg/complextransform.test.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/css.svg b/share/extensions/tests/data/svg/css.svg new file mode 100644 index 0000000..824ad65 --- /dev/null +++ b/share/extensions/tests/data/svg/css.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/curves.svg b/share/extensions/tests/data/svg/curves.svg new file mode 100644 index 0000000..6dc5ad8 --- /dev/null +++ b/share/extensions/tests/data/svg/curves.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/dash.svg b/share/extensions/tests/data/svg/dash.svg new file mode 100644 index 0000000..f131b78 --- /dev/null +++ b/share/extensions/tests/data/svg/dash.svg @@ -0,0 +1,40 @@ + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/dash_zerolength.svg b/share/extensions/tests/data/svg/dash_zerolength.svg new file mode 100644 index 0000000..a1745d0 --- /dev/null +++ b/share/extensions/tests/data/svg/dash_zerolength.svg @@ -0,0 +1,34 @@ + + + + + + + image/svg+xml + + + + + + + + + diff --git a/share/extensions/tests/data/svg/deep-ungroup-complex.svg b/share/extensions/tests/data/svg/deep-ungroup-complex.svg new file mode 100644 index 0000000..e47c0aa --- /dev/null +++ b/share/extensions/tests/data/svg/deep-ungroup-complex.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + Path with clip-path:none + Path with nested transforms + Transformed group withtransformed clip-path + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/default-inkscape-SVG.svg b/share/extensions/tests/data/svg/default-inkscape-SVG.svg new file mode 100644 index 0000000..259e13c --- /dev/null +++ b/share/extensions/tests/data/svg/default-inkscape-SVG.svg @@ -0,0 +1,37 @@ + + + + + + + + + image/svg+xml + + + + + + diff --git a/share/extensions/tests/data/svg/default-inkscape-SVG_scoured.svg b/share/extensions/tests/data/svg/default-inkscape-SVG_scoured.svg new file mode 100644 index 0000000..f46f0b3 --- /dev/null +++ b/share/extensions/tests/data/svg/default-inkscape-SVG_scoured.svg @@ -0,0 +1,12 @@ + + + + + + + image/svg+xml + + + + + diff --git a/share/extensions/tests/data/svg/default-plain-SVG.svg b/share/extensions/tests/data/svg/default-plain-SVG.svg new file mode 100644 index 0000000..9c08847 --- /dev/null +++ b/share/extensions/tests/data/svg/default-plain-SVG.svg @@ -0,0 +1,29 @@ + + + + + + + + + image/svg+xml + + + + + + + diff --git a/share/extensions/tests/data/svg/diff.svg b/share/extensions/tests/data/svg/diff.svg new file mode 100644 index 0000000..cf7f6f3 --- /dev/null +++ b/share/extensions/tests/data/svg/diff.svg @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + *Hello World* + flaw tux whatch wryps *PER + Multi*textFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/svg/doc_ai_conv_m_in.svg b/share/extensions/tests/data/svg/doc_ai_conv_m_in.svg new file mode 100644 index 0000000..f32fbfb --- /dev/null +++ b/share/extensions/tests/data/svg/doc_ai_conv_m_in.svg @@ -0,0 +1,24 @@ + + + Illustrator Import test document + This document should import as 8.5 x 11 inches. Illustrator uses a fixedresolution of 72 px per inch. + Text in Layer 1 + + + + + + Stroke only + Fill + stroke + Fill only + + + Three squares, each1 inch (2.54 cm) to a side.Objects do not changesize when stroke is added. + + + Text in Layer 2 + + Text in Layer 2A, a sub-layerof layer 2 + + + diff --git a/share/extensions/tests/data/svg/doc_ai_conv_mm_in.svg b/share/extensions/tests/data/svg/doc_ai_conv_mm_in.svg new file mode 100644 index 0000000..23b5359 --- /dev/null +++ b/share/extensions/tests/data/svg/doc_ai_conv_mm_in.svg @@ -0,0 +1,24 @@ + + + Illustrator Import test document + This document should import as 8.5 x 11 inches. Illustrator uses a fixedresolution of 72 px per inch. + Text in Layer 1 + + + + + + Stroke only + Fill + stroke + Fill only + + + Three squares, each1 inch (2.54 cm) to a side.Objects do not changesize when stroke is added. + + + Text in Layer 2 + + Text in Layer 2A, a sub-layerof layer 2 + + + diff --git a/share/extensions/tests/data/svg/dpiswitcher_96dpi.svg b/share/extensions/tests/data/svg/dpiswitcher_96dpi.svg new file mode 100644 index 0000000..c123ded --- /dev/null +++ b/share/extensions/tests/data/svg/dpiswitcher_96dpi.svg @@ -0,0 +1,169 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/dxf_nested_transforms.svg b/share/extensions/tests/data/svg/dxf_nested_transforms.svg new file mode 100644 index 0000000..4e80043 --- /dev/null +++ b/share/extensions/tests/data/svg/dxf_nested_transforms.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/edge3d.svg b/share/extensions/tests/data/svg/edge3d.svg new file mode 100644 index 0000000..cfb8570 --- /dev/null +++ b/share/extensions/tests/data/svg/edge3d.svg @@ -0,0 +1,31 @@ + + + + + + + image/svg+xml + + + + + + + diff --git a/share/extensions/tests/data/svg/ellipse_group_comment.svg b/share/extensions/tests/data/svg/ellipse_group_comment.svg new file mode 100644 index 0000000..285276f --- /dev/null +++ b/share/extensions/tests/data/svg/ellipse_group_comment.svg @@ -0,0 +1,21 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/svg/embed.svg b/share/extensions/tests/data/svg/embed.svg new file mode 100644 index 0000000..325f19e --- /dev/null +++ b/share/extensions/tests/data/svg/embed.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + some + different + fonts + + diff --git a/share/extensions/tests/data/svg/empty.svg b/share/extensions/tests/data/svg/empty.svg new file mode 100644 index 0000000..d6c680b --- /dev/null +++ b/share/extensions/tests/data/svg/empty.svg @@ -0,0 +1,13 @@ + + + + + diff --git a/share/extensions/tests/data/svg/empty_mm.svg b/share/extensions/tests/data/svg/empty_mm.svg new file mode 100644 index 0000000..c6c7af8 --- /dev/null +++ b/share/extensions/tests/data/svg/empty_mm.svg @@ -0,0 +1,14 @@ + + + + + diff --git a/share/extensions/tests/data/svg/empty_multipage.svg b/share/extensions/tests/data/svg/empty_multipage.svg new file mode 100644 index 0000000..7758938 --- /dev/null +++ b/share/extensions/tests/data/svg/empty_multipage.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/extrude.svg b/share/extensions/tests/data/svg/extrude.svg new file mode 100644 index 0000000..1d1d167 --- /dev/null +++ b/share/extensions/tests/data/svg/extrude.svg @@ -0,0 +1,129 @@ + + + + + + + + Test for extensions#190 + + + Test automatic conversion to Path + + + Test on open paths + + + Test on multiple subpaths and transform + + + + diff --git a/share/extensions/tests/data/svg/font.svg b/share/extensions/tests/data/svg/font.svg new file mode 100644 index 0000000..cc2b68f --- /dev/null +++ b/share/extensions/tests/data/svg/font.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/font_layers.svg b/share/extensions/tests/data/svg/font_layers.svg new file mode 100644 index 0000000..251e025 --- /dev/null +++ b/share/extensions/tests/data/svg/font_layers.svg @@ -0,0 +1,3 @@ + + + diff --git a/share/extensions/tests/data/svg/font_layers_apostrophe.svg b/share/extensions/tests/data/svg/font_layers_apostrophe.svg new file mode 100644 index 0000000..6105214 --- /dev/null +++ b/share/extensions/tests/data/svg/font_layers_apostrophe.svg @@ -0,0 +1,12 @@ + + + + + + diff --git a/share/extensions/tests/data/svg/gradient_with_mixed_offsets.svg b/share/extensions/tests/data/svg/gradient_with_mixed_offsets.svg new file mode 100644 index 0000000..7b322e6 --- /dev/null +++ b/share/extensions/tests/data/svg/gradient_with_mixed_offsets.svg @@ -0,0 +1,26 @@ + + + + Example radgrad01 - fill a rectangle by referencing a + radial gradient paint server + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/svg/group_interpolate.svg b/share/extensions/tests/data/svg/group_interpolate.svg new file mode 100644 index 0000000..c3d9f44 --- /dev/null +++ b/share/extensions/tests/data/svg/group_interpolate.svg @@ -0,0 +1,110 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/guides.svg b/share/extensions/tests/data/svg/guides.svg new file mode 100644 index 0000000..f67b40d --- /dev/null +++ b/share/extensions/tests/data/svg/guides.svg @@ -0,0 +1,233 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/guides_millimeter.svg b/share/extensions/tests/data/svg/guides_millimeter.svg new file mode 100644 index 0000000..1dd1cc1 --- /dev/null +++ b/share/extensions/tests/data/svg/guides_millimeter.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + Hello World! + + + diff --git a/share/extensions/tests/data/svg/hershey_input.svg b/share/extensions/tests/data/svg/hershey_input.svg new file mode 100755 index 0000000..e5ee87a --- /dev/null +++ b/share/extensions/tests/data/svg/hershey_input.svg @@ -0,0 +1,1082 @@ + + + + + + + + + image/svg+xml + + + + + + + test + This text has both a smaller bounding box, a smaller font size, and a large line spacing. The software must handle unusual cases like this.The real problem is that flowing into a text box (flowroot region) is SVG-renderer dependent-- even different web browsers may render flowed text differently. In this particular case, we're dealing with an Inkscape extension which does not have access to information about how the text was flowed before we got to it, so we essentially have to re-flow it from scratch. This data,is also text. However, it hasmany returnseachonitsownlinein order to makeit take up more verticalspace so that wecan see how it handlesweird edge caseslikethisone. +     We are testing an Inkscape extension called Hershey Text 3.0. The purpose of this extension is to take a block of flowed text, and replace it with stroke-based engraving fonts. We've got a number of different single-stroke fonts built in as well, that help to provide some options. However, we need to test that it handles a variety of different formats of text including different input fonts, alignment, flowed and regular text, variations of font size with a given span, returns, non-breaking spaces, transforms, nested groups and so forth. SVG allows text to be formatted in many different ways.This text is in Layer 1. Text, non-flowed,align left. However, it hasmany returnseachonitsownlinein order to makeit take up more verticalspace so that wecan see how it handlesweird edge caseslikethisone. + Text, non-flowed,align center However, it hasmany returnseachonitsownlinein order to makeit take up more verticalspace so that wecan see how it handlesweird edge caseslikethisone. + Text, non-flowed,align right. However, it hasmany returnseachonitsownlinein order to makeit take up more verticalspace so that wecan see how it handlesweird edge caseslikethisone. + Test: Flowed text, aligned left. Can we handle text that is aligned left, aligned right, centered, justified and so forth? Not all of these cases are necessarily useful for all applications (for example justified with stroke based fonts in the styles of handwriting), but that's not really for us to decide.Rather, we need to handle these cases because the text that is handed to us just might be in some unusual format.. This transformed text... is text with a gap... + Test: Flowed text, aligned center. Can we handle text that is aligned left, aligned right, centered, justified and so forth? Not all of these cases are necessarily useful for all applications (for example justified with stroke based fonts in the styles of handwriting), but that's not really for us to decide.Rather, we need to handle these cases because the text that is handed to us just might be in some unusual format.. Test: Flowed text, aligned right. Can we handle text that is aligned left, aligned right, centered, justified and so forth? Not all of these cases are necessarily useful for all applications (for example justified with stroke based fonts in the styles of handwriting), but that's not really for us to decide.Rather, we need to handle these cases because the text that is handed to us just might be in some unusual format.. Test: Flowed text, justified. Can we handle text that is aligned left, aligned right, centered, justified and so forth? Not all of these cases are necessarily useful for all applications (for example justified with stroke based fonts in the styles of handwriting), but that's not really for us to decide.Rather, we need to handle these cases because the text that is handed to us just might be in some unusual format.. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tests of font face mapping: + + + Tests of non-text objects: + + + This is a test of centered text, one long line of text flowed into a box, centered, and in a different font. flowStylesToCheck    Flowed text object with multiple returns before start and also       additional sections with more returnsThat was just one return, since the paragraph above this one.That was two returns, since the paragraph above this one.And that, that was three returns.Just for good measure, this paragraph had a return before the word "just" above. And, we're going to finish with a few returns as well. Bold Serif Text Dear Mike,Thanks for pointing out that we need to handle textthat is shaped like this as well.Have a great day! + Flowed text object with multiple sizes before the start and also       additional sections with more returns and non-breaking spaces, which need to be tested.Hershey Text v 3.0 for Inkscape This is an SVG document provided as an input for testing the Hershey Text extension.The purpose of this new extension is to take a block of flowed text, and replace it with stroke-based engraving fonts. It includes a small selection of such fonts, which need to be in the SVG format. Technically, it can work with any SVG font, even ones that are not stroke-based.This text is in the DOCUMENT ROOT. Scripty text Hand-written text Non-FlowedStylesToCheck + Multi-lineText createdWithout x and ybut with sodipodi:roleattributes instead. + Multi-lineText createdwith tspan elementsand x and ypositions + diff --git a/share/extensions/tests/data/svg/hershey_trivial_input.svg b/share/extensions/tests/data/svg/hershey_trivial_input.svg new file mode 100755 index 0000000..946a616 --- /dev/null +++ b/share/extensions/tests/data/svg/hershey_trivial_input.svg @@ -0,0 +1,124 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + Flow Text + + + + diff --git a/share/extensions/tests/data/svg/hpgl_multipen.svg b/share/extensions/tests/data/svg/hpgl_multipen.svg new file mode 100644 index 0000000..d27add9 --- /dev/null +++ b/share/extensions/tests/data/svg/hpgl_multipen.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/images.svg b/share/extensions/tests/data/svg/images.svg new file mode 100644 index 0000000..3af6c56 --- /dev/null +++ b/share/extensions/tests/data/svg/images.svg @@ -0,0 +1,73 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/images_multiple.svg b/share/extensions/tests/data/svg/images_multiple.svg new file mode 100644 index 0000000..53b14f2 --- /dev/null +++ b/share/extensions/tests/data/svg/images_multiple.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/img/color_overlay_a.png b/share/extensions/tests/data/svg/img/color_overlay_a.png new file mode 100644 index 0000000..6a4382c Binary files /dev/null and b/share/extensions/tests/data/svg/img/color_overlay_a.png differ diff --git a/share/extensions/tests/data/svg/img/color_overlay_b.png b/share/extensions/tests/data/svg/img/color_overlay_b.png new file mode 100644 index 0000000..a231a52 Binary files /dev/null and b/share/extensions/tests/data/svg/img/color_overlay_b.png differ diff --git a/share/extensions/tests/data/svg/img/color_pad_a.png b/share/extensions/tests/data/svg/img/color_pad_a.png new file mode 100644 index 0000000..437f6a3 Binary files /dev/null and b/share/extensions/tests/data/svg/img/color_pad_a.png differ diff --git a/share/extensions/tests/data/svg/img/color_pad_b.png b/share/extensions/tests/data/svg/img/color_pad_b.png new file mode 100644 index 0000000..32f6bfc Binary files /dev/null and b/share/extensions/tests/data/svg/img/color_pad_b.png differ diff --git a/share/extensions/tests/data/svg/img/color_pad_c.png b/share/extensions/tests/data/svg/img/color_pad_c.png new file mode 100644 index 0000000..7f550cc Binary files /dev/null and b/share/extensions/tests/data/svg/img/color_pad_c.png differ diff --git a/share/extensions/tests/data/svg/img/green.png b/share/extensions/tests/data/svg/img/green.png new file mode 100644 index 0000000..bb606ff Binary files /dev/null and b/share/extensions/tests/data/svg/img/green.png differ diff --git a/share/extensions/tests/data/svg/img/linecap.png b/share/extensions/tests/data/svg/img/linecap.png new file mode 100644 index 0000000..5ffc248 Binary files /dev/null and b/share/extensions/tests/data/svg/img/linecap.png differ diff --git a/share/extensions/tests/data/svg/img/subfolder/linecap.png b/share/extensions/tests/data/svg/img/subfolder/linecap.png new file mode 100644 index 0000000..5ffc248 Binary files /dev/null and b/share/extensions/tests/data/svg/img/subfolder/linecap.png differ diff --git a/share/extensions/tests/data/svg/inkweb-debug.js b/share/extensions/tests/data/svg/inkweb-debug.js new file mode 100644 index 0000000..a79c460 --- /dev/null +++ b/share/extensions/tests/data/svg/inkweb-debug.js @@ -0,0 +1,367 @@ +/* +** InkWeb Debugger - help the development with InkWeb. +** +** Copyright (C) 2009 Aurelio A. Heckert, aurium (a) gmail dot com +** +** ********* Bugs and New Fetures ************************************* +** If you found any bug on this script or if you want to propose a +** new feature, please report it in the inkscape bug tracker +** https://bugs.launchpad.net/inkscape/+filebug +** and assign that to Aurium. +** ******************************************************************** +** +** This program is free software: you can redistribute it and/or modify +** it under the terms of the GNU Lesser General Public License as published +** by the Free Software Foundation, either version 3 of the License, or +** (at your option) any later version. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public License +** along with this program. If not, see . +** +** ******************************************************************** +** +** This script extends InkWeb with methods like log() and viewProperties(). +** So, you must to call this script after the inkweb.js load. +*/ + +InkWeb.debugVersion = 0.1; + +// Prepare InkWeb Debug: +(function (bli, xyz) { + // Add logging calls to all InkWeb methods: + for ( var att in InkWeb ) { + if ( typeof(InkWeb[att]) == "function" ) { + var code = InkWeb[att].toString() + beforeCode = 'this.log(this.__callMethodInfo("'+att+'", arguments));\ntry {'; + afterCode = '} catch(e) { this.log( e, "Ups... There is a problem in InkWeb.'+att+'()" ) }'; + code = code + .replace( /^(function [^{]+[{])/, "$1\n"+ beforeCode +"\n" ) + .replace( /[}]$/, ";\n"+ afterCode +"\n}" ); + eval( "InkWeb."+att+" = "+ code ); + //alert( InkWeb[att] ) + } + } +})(123,456); + +InkWeb.__callMethodInfo = function (funcName, arg) { + var func = arg.callee; + var str = 'Called InkWeb.'+funcName+'() with:' + if ( ! func.argList ) { + func.argList = func.toString() + .replace( /^function [^(]*\(([^)]*)\)(.|\s)*$/, "$1" ) + .split( /,\s*/ ); + } + for ( var a,i=0; a=func.argList[i]; i++ ) { + str += "\n"+ a +" = "+ this.serialize( arg[i], {recursionLimit:2} ); + } + return str; +} + + +InkWeb.copySerializeConf = function (conf) { + return { + recursionStep: conf.recursionStep, + recursionLimit: conf.recursionLimit, + showTagElements: conf.showTagElements + } +} + +InkWeb.serialize = function (v, conf) { + try { + if ( ! conf ) { conf = {} } + if ( ! conf.showTagElements ) { conf.showTagElements = false } + if ( ! conf.recursionLimit ) { conf.recursionLimit = 10 } + if ( ! conf.recursionStep ) { conf.recursionStep = 0 } + if ( conf.recursionLimit == 0 ) { + return '"<>"'; + } + conf.recursionLimit--; + conf.recursionStep++; + switch ( typeof(v) ) { + case "undefined": + v = "undefined"; + break; + case "string": + v = '"'+ v + .replace( /\n/g, "\\n" ) + .replace( /\r/g, "\\r" ) + .replace( /\t/g, "\\t" ) + .replace( /"/g, '"' ) + + '"'; + break; + case "boolean": + case "number": + case "function": + v = v.toString(); + break; + case "object": + if ( v == null ) { + v = "null"; + } else { + if ( v.constructor == Array ) { + try { + v = this.__serializeArray(v, conf); + } catch(e) { + this.log( e, "InkWeb.serialize(): Forced recursion limit in" + + " recursionLimit="+ conf.recursionLimit + + " and recursionStep="+ conf.recursionStep + ); + v += '"<>"' + } + } else { + // A Hash Object + if ( v.tagName && ! conf.showTagElements ) { + // Tags are not allowed. + v = '"<'+ v.tagName +' id=\\"'+ v.id +'\\">"'; + } else { + // Ok, serialize this object: + try { + v = this.__serializeObject(v, conf); + } catch(e) { + this.log( e, "InkWeb.serialize(): Forced recursion limit in" + + " recursionLimit="+ conf.recursionLimit + + " and recursionStep="+ conf.recursionStep + ); + v += '"<>"' + } + } + } + } + break; + default: + v = '"<>"'; + } + return v; + } catch(e) { + this.log( e, "Ups... There is a problem in InkWeb.serialize()." ); + } +} + +InkWeb.__serializeArray = function (v, conf) { + try { + var vStr = "[ "; + var size = v.length; + for ( var i=0; i0 ) { vStr += ", " } + vStr += this.serialize(v[i], this.copySerializeConf(conf)); + } + return vStr +" ]"; + } catch(e) { + this.log( e, "Ups... There is a problem in InkWeb.__serializeArray()." ); + } +} + +InkWeb.__serializeObject = function (obj, conf) { + try { + var vStr = "{ "; + var first = true; + for ( var att in obj ) { + if ( !first ) { vStr += ", " } + vStr += this.serialize(att) +':'+ + this.serialize( obj[att], this.copySerializeConf(conf) ); + first = false; + } + return vStr +" }"; + } catch(e) { + this.log( e, "Ups... There is a problem in InkWeb.__serializeObject()." ); + } +} + +// Allow log configuration: +InkWeb.mustLog = { + error: true, + warning: true, + sequence: true + }; + +// This will keep the log information: +InkWeb.__log__ = []; + +InkWeb.log = function (type, msg) { + /* This method register what was happen with InkWeb + ** ( if mustLog allows that ) + ** + ** --- Usage --- + ** this.log( <"sequence"|"warning"|"warn"|errorObject>, <"logMessage"> ); + ** this.log( <"logMessage"> ); // only for sequences + ** + ** --- Examples --- + ** Sequence log: + ** function foo (bar) { + ** InkWeb.log( 'Call function foo with argument bar="'+bar+'"' ); + ** + ** Warning log: + ** if ( foo == bar ) { + ** foo = other; + ** InkWeb.log( "warn", "foo must not be bar." ); + ** + ** Error log: + ** try { ... some hard thing ... } + ** catch (e) { InkWeb.log( e, "Trying to do some hard thing." ) } + */ + if ( this.mustLog ) { + if( type.constructor == ReferenceError ) { + // in a error logging the type argument is the error object. + var error = type; + type = "error"; + this.addViewLogBt(); + } + if( type == "warn" ) { + // that allows a little simplify in the log call. + type = "warning"; + } + if( msg == undefined ) { + // that allows to log a sequence without tos say the type. + msg = type; + type = "sequence"; + } + var logSize = this.__log__.length + if ( logSize > 0 && + this.__log__[logSize-1].type == type && + this.__log__[logSize-1].msg == msg ) { + this.__log__[logSize-1].happens++ + } else { + if ( type == "error" && this.mustLog.error ) { + this.__log__[logSize] = this.__logError( error, msg ) + } + if ( type == "warning" && this.mustLog.warning ) { + this.__log__[logSize] = this.__logWarning( msg ) + } + if ( type == "sequence" && this.mustLog.sequence ) { + this.__log__[logSize] = this.__logSequence( msg ) + } + } + } +} + +InkWeb.__logError = function ( error, msg ) { + return { type:"error", date:new Date(), msg:msg, error:error, happens:1 }; +} + +InkWeb.__logWarning = function ( msg ) { + return { type:"warning", date:new Date(), msg:msg, happens:1 }; +} + +InkWeb.__logSequence = function ( msg ) { + return { type:"sequence", date:new Date(), msg:msg, happens:1 }; +} + +InkWeb.logToString = function (conf) { + /* Show the log in a formatted string. + ** conf attributes: + ** format: a string to format the log items. + ** formatError: to format the error log items. + ** sep: the log items separator string. + ** format variables: + ** $F: the item date in the format YYYY-MM-DD + ** $T: the item time in the format HH:MM:SS + ** $type: the log type + ** $logmsg: the text argument in the log call + ** $times: how much times this item happens in sequence + ** $error: the error text (if this is a error item) + ** $index: the position of the item in the log list + ** $oddeven: return odd or even based in the index. + */ + if (!conf) { conf = {} } + if (!conf.sep) { conf.sep = "\n\n" } + if (!conf.format) { conf.format = "$F $T - $type - $logmsg - Happens $times." } + if (!conf.formatError) { conf.formatError = "$F $T - ERROR - $logmsg - Happens $times.\n$error" } + /* * * Helper * * */ + function _2d(num) { + return ( ( num < 10 )? "0"+num : ""+num ) + } + function _2dMonth(date) { + var m = date.getMonth() + 1; + return _2d( m ) + } + var str = ""; + var logSize = this.__log__.length; + if ( logSize == 0 ) { + str = "There are no errors."; + } + // View all items to mount the log string: + for ( var item,pos=0; item=this.__log__[pos]; pos++ ) { + var d = item.date; + // Add log line, converting variables: + var line = ( (item.type=="error")? conf.formatError : conf.format ); + str += line + .replace( /\$index/g, pos ) + .replace( /\$oddeven/g, (pos%2 == 1)? "odd" : "even" ) + .replace( /\$type/g, item.type ) + .replace( /\$logmsg/g, item.msg ) + .replace( /\$error/g, (item.error)? item.error.message : "" ) + .replace( /\$times/g, (item.happens>1)? item.happens+" times" : "one time" ) + .replace( /\$F/g, d.getFullYear() +"-"+ _2dMonth(d) +"-"+ _2d(d.getDate()) ) + .replace( /\$T/g, _2d(d.getHours()) +":"+ _2d(d.getMinutes()) +":"+ _2d(d.getSeconds()) ) + // Add separator: + if ( pos < (logSize-1) ) { str += conf.sep } + } + return str; +} + +InkWeb.addViewLogBt = function () { + var svg = document.getElementsByTagName("svg")[0]; + if ( this.__viewLogBt ) { + svg.appendChild( this.__viewLogBt ); + } else { + var g = this.el( "g", { onclick: "InkWeb.openLogWindow()", parent: svg } ); + var rect = this.el( "rect", { x: 10, y: 10, width: 60, height: 17, ry: 5, + style: "fill:#C00; stroke:#800; stroke-width:2", + parent: g } ); + var text = this.el( "text", { x: 40, y: 22, text: "View Log", + style: "fill:#FFF; font-size:10px;" + + "font-family:sans-serif;" + + "text-anchor:middle; text-align:center", + parent: g } ); + this.__viewLogBt = g; + } +} + +InkWeb.__openFormatedWindow = function (bodyHTML) { + var win = window.open("","_blank","width=500,height=500,scrollbars=yes"); + var html = + 'InkWeb' + + ''+ bodyHTML +''; + win.document.write(html); + win.document.close(); + return win; +} + +InkWeb.openLogWindow = function () { + var html = '

InkWeb Log

\n' + + '\n' + + '\n' + + this.logToString({ + format: '' + + '', + formatError: '' + + '\n'+ + '', + sep: '\n\n' + }) + + '\n
TimeMessageHappens
$T$logmsg$times
$T$logmsg$times
$error
' + var win = this.__openFormatedWindow( html ); + win.document.title = "InkWeb Log" +} + + +InkWeb.viewProperties = function () { + // Display object properties. + this.__openFormatedWindow( "coming soon..." ); +} diff --git a/share/extensions/tests/data/svg/inkwebjs-move.svg b/share/extensions/tests/data/svg/inkwebjs-move.svg new file mode 100644 index 0000000..b4aa50f --- /dev/null +++ b/share/extensions/tests/data/svg/inkwebjs-move.svg @@ -0,0 +1,128 @@ + + + + + + + + + + Test 1 - from left to right + Start + + End + + + + + + + + Test 2 - from right to left + Start + + End + + + + + + + + Test 3 - pre-translated + Start + + End + + + + + + + + Test 4 - pre-translated and scaled + Start + + End + + + + + + + + Test 5 - pre-translated and rotated + Start + + End + + + + + + + + Test 6 - with a transformation matrix + Start + + End + + + + + + + + + diff --git a/share/extensions/tests/data/svg/interp_shapes.svg b/share/extensions/tests/data/svg/interp_shapes.svg new file mode 100644 index 0000000..eaff106 --- /dev/null +++ b/share/extensions/tests/data/svg/interp_shapes.svg @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/markers.svg b/share/extensions/tests/data/svg/markers.svg new file mode 100644 index 0000000..bf9ca6f --- /dev/null +++ b/share/extensions/tests/data/svg/markers.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + diff --git a/share/extensions/tests/data/svg/mesh.svg b/share/extensions/tests/data/svg/mesh.svg new file mode 100644 index 0000000..cbf42af --- /dev/null +++ b/share/extensions/tests/data/svg/mesh.svg @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/minimal-blank-prepare.svg b/share/extensions/tests/data/svg/minimal-blank-prepare.svg new file mode 100644 index 0000000..1fc27fb --- /dev/null +++ b/share/extensions/tests/data/svg/minimal-blank-prepare.svg @@ -0,0 +1 @@ + diff --git a/share/extensions/tests/data/svg/minimal-blank.svg b/share/extensions/tests/data/svg/minimal-blank.svg new file mode 100644 index 0000000..1fc27fb --- /dev/null +++ b/share/extensions/tests/data/svg/minimal-blank.svg @@ -0,0 +1 @@ + diff --git a/share/extensions/tests/data/svg/motion_tests.svg b/share/extensions/tests/data/svg/motion_tests.svg new file mode 100644 index 0000000..3491d6f --- /dev/null +++ b/share/extensions/tests/data/svg/motion_tests.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/multilayered-test.svg b/share/extensions/tests/data/svg/multilayered-test.svg new file mode 100644 index 0000000..c02d4ee --- /dev/null +++ b/share/extensions/tests/data/svg/multilayered-test.svg @@ -0,0 +1,156 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + Bottom layer + + + + + + Middle sublayer + + + + Middle layer + + + + Top layer + + + diff --git a/share/extensions/tests/data/svg/multiple_closed_subpaths.svg b/share/extensions/tests/data/svg/multiple_closed_subpaths.svg new file mode 100644 index 0000000..1548b50 --- /dev/null +++ b/share/extensions/tests/data/svg/multiple_closed_subpaths.svg @@ -0,0 +1,49 @@ + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/paths_open_closed.svg b/share/extensions/tests/data/svg/paths_open_closed.svg new file mode 100644 index 0000000..95c2d88 --- /dev/null +++ b/share/extensions/tests/data/svg/paths_open_closed.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/pattern_along_path.svg b/share/extensions/tests/data/svg/pattern_along_path.svg new file mode 100644 index 0000000..8a2bf20 --- /dev/null +++ b/share/extensions/tests/data/svg/pattern_along_path.svg @@ -0,0 +1,498 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Settings: Repeated, Snake, no distance. Tests a path with fillrule=evenodd + Settings: Repeated, Stretched, Ribbon, Vertical. Tests a group pattern with multiple nested transforms + Settings: Repeated, Stretched, Ribbon. Tests a group pattern with multiple nested clones + Settings: Single, Stretched, Snake. Tests putting a text (converted to a path) on a path and stretching it to fit its length + + Settings: Repeated, Stretched, Snake, Space between copies=5, Normal offset=5. Tests putting a path with multiple subpaths with a gradient on a closed path + Settings: Single, Stretched, Snake. Tests selecting multiple sceleton paths, one consisting of multiple subpaths + + diff --git a/share/extensions/tests/data/svg/pattern_along_path_clone_transform.svg b/share/extensions/tests/data/svg/pattern_along_path_clone_transform.svg new file mode 100644 index 0000000..2aa033e --- /dev/null +++ b/share/extensions/tests/data/svg/pattern_along_path_clone_transform.svg @@ -0,0 +1,116 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/perspective.svg b/share/extensions/tests/data/svg/perspective.svg new file mode 100644 index 0000000..47a6f99 --- /dev/null +++ b/share/extensions/tests/data/svg/perspective.svg @@ -0,0 +1,33 @@ + + + + + + + diff --git a/share/extensions/tests/data/svg/perspective_groups.svg b/share/extensions/tests/data/svg/perspective_groups.svg new file mode 100644 index 0000000..33acaa2 --- /dev/null +++ b/share/extensions/tests/data/svg/perspective_groups.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/pixelsnap_simple.svg b/share/extensions/tests/data/svg/pixelsnap_simple.svg new file mode 100644 index 0000000..a25eaa7 --- /dev/null +++ b/share/extensions/tests/data/svg/pixelsnap_simple.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/preserved-transforms.svg b/share/extensions/tests/data/svg/preserved-transforms.svg new file mode 100644 index 0000000..db4eaa7 --- /dev/null +++ b/share/extensions/tests/data/svg/preserved-transforms.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/restack_grouped.svg b/share/extensions/tests/data/svg/restack_grouped.svg new file mode 100644 index 0000000..aee5629 --- /dev/null +++ b/share/extensions/tests/data/svg/restack_grouped.svg @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ungrouped objects + Grouped objects + + + + + + + + diff --git a/share/extensions/tests/data/svg/rubber-stretch-test.svg b/share/extensions/tests/data/svg/rubber-stretch-test.svg new file mode 100644 index 0000000..ac8cf25 --- /dev/null +++ b/share/extensions/tests/data/svg/rubber-stretch-test.svg @@ -0,0 +1,66 @@ + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/share/extensions/tests/data/svg/scale_not_unity.svg b/share/extensions/tests/data/svg/scale_not_unity.svg new file mode 100644 index 0000000..2a4341a --- /dev/null +++ b/share/extensions/tests/data/svg/scale_not_unity.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/scatter.svg b/share/extensions/tests/data/svg/scatter.svg new file mode 100644 index 0000000..0a3ff5d --- /dev/null +++ b/share/extensions/tests/data/svg/scatter.svg @@ -0,0 +1,106 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/shapes-clipboard.svg b/share/extensions/tests/data/svg/shapes-clipboard.svg new file mode 100644 index 0000000..86b674d --- /dev/null +++ b/share/extensions/tests/data/svg/shapes-clipboard.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/svg/shapes.svg b/share/extensions/tests/data/svg/shapes.svg new file mode 100644 index 0000000..eb9caed --- /dev/null +++ b/share/extensions/tests/data/svg/shapes.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/svg/shapes_cmyk.svg b/share/extensions/tests/data/svg/shapes_cmyk.svg new file mode 100644 index 0000000..bc35be8 --- /dev/null +++ b/share/extensions/tests/data/svg/shapes_cmyk.svg @@ -0,0 +1,302 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + format: png +dpi: 96 +layout-disposition: bg-el-norepeat +layout-position-anchor: tl + + + + + + + + + + + + + Hello World + flow text which wraps + UPPER + Multi linetextFOO + + Grouped + text + + + + + + + diff --git a/share/extensions/tests/data/svg/simple_patterns.svg b/share/extensions/tests/data/svg/simple_patterns.svg new file mode 100644 index 0000000..66d8fd9 --- /dev/null +++ b/share/extensions/tests/data/svg/simple_patterns.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/simpletransform.test.svg b/share/extensions/tests/data/svg/simpletransform.test.svg new file mode 100644 index 0000000..62876ee --- /dev/null +++ b/share/extensions/tests/data/svg/simpletransform.test.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/share/extensions/tests/data/svg/single_box.svg b/share/extensions/tests/data/svg/single_box.svg new file mode 100644 index 0000000..094233d --- /dev/null +++ b/share/extensions/tests/data/svg/single_box.svg @@ -0,0 +1,62 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/share/extensions/tests/data/svg/slicer.svg b/share/extensions/tests/data/svg/slicer.svg new file mode 100644 index 0000000..a485c35 --- /dev/null +++ b/share/extensions/tests/data/svg/slicer.svg @@ -0,0 +1,75 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/style_inheritance.svg b/share/extensions/tests/data/svg/style_inheritance.svg new file mode 100644 index 0000000..d80e78f --- /dev/null +++ b/share/extensions/tests/data/svg/style_inheritance.svg @@ -0,0 +1,75 @@ + + + + + + + 1. Using style attribute + directly + + + + + 2. Using class "shape_direct" + directly on path and rect + + + + + 3. Using class "shape_under_group" + which inherits from class "group" + + + + + 4. Inheriting from "group", but + referencing square by id + + + + + 5. Apply style rules at grouplevel + + + + + 6. Apply style rules to groupand force inheritance + + \ No newline at end of file diff --git a/share/extensions/tests/data/svg/styling-css-04-f.svg b/share/extensions/tests/data/svg/styling-css-04-f.svg new file mode 100755 index 0000000..e405b04 --- /dev/null +++ b/share/extensions/tests/data/svg/styling-css-04-f.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + This purpose of the file is to test some of the CSS2 selector syntax. + A UA supporting CSS selectors should render an image identical to the referenced image. + + For a full analysis of this test, please see + this explanation. + + + styling-css-04-f.svg + Tests CSS2 selectors + + + + + CSS selector test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + B + C + D + E + F + 1 + 2 + 3 + + + $Revision: 1.13 $ + + diff --git a/share/extensions/tests/data/svg/styling-inherit-01-b.svg b/share/extensions/tests/data/svg/styling-inherit-01-b.svg new file mode 100755 index 0000000..2620107 --- /dev/null +++ b/share/extensions/tests/data/svg/styling-inherit-01-b.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + Verify property inheritance as required by 6.15 "Property + inheritance". Since all implementations are required to do this, only + presentation attributes are used. + + At the center right, there is an ellipse. The fill color is not + specified on that element but on its parent. The ellipse should be filled a solid yellow + + At the top left, an oval shape is formed from a rectangle + with a radial gradient. The color of the middle stop uses the keyword 'inherit' + and thus takes its parent's value of green, giving a yellow, green, white gradient. + At the bottom left, an oval shape is formed from a rectangle + with a radial gradient. The color of the middle stop uses the value 'currentColor' + and thus takes the value its parent's color property, a dark red, + giving a yellow, dark red, white gradient. + + + styling-inherit-01-b + Verify property inheritance + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + diff --git a/share/extensions/tests/data/svg/symbol.svg b/share/extensions/tests/data/svg/symbol.svg new file mode 100644 index 0000000..a8e20f3 --- /dev/null +++ b/share/extensions/tests/data/svg/symbol.svg @@ -0,0 +1,46 @@ + + + + + + + Air Transportation + + + + + + + + diff --git a/share/extensions/tests/data/svg/text_on_arc.svg b/share/extensions/tests/data/svg/text_on_arc.svg new file mode 100644 index 0000000..337831b --- /dev/null +++ b/share/extensions/tests/data/svg/text_on_arc.svg @@ -0,0 +1,19 @@ + + + + + + + + + image/svg+xml + + + + + + + + Curved Text + + \ No newline at end of file diff --git a/share/extensions/tests/data/svg/text_types.svg b/share/extensions/tests/data/svg/text_types.svg new file mode 100644 index 0000000..191623f --- /dev/null +++ b/share/extensions/tests/data/svg/text_types.svg @@ -0,0 +1,256 @@ + + + + + + + + + + This is a regular textWith a line break. + This is regular textwith a line breakand some transforms. + This is an SVG2 flowed text. (inline size) +This is a line break inside that text. + This is a text with kerns adjusted in tspans(as Inkscape does it) + This is an SVG1.2 flowed text (flowroot)And this is a linebreak inside. + This is an SVG1.2 flowed textWith absolute line-height + This is an SVG1.2 flowed textwithout line height. + 0.50.10.10.10.34.20.54.30.14.5 + This is a text with direction:rtl + This is an SVG2 flowed text (shape inside) + This is a test document containing different transformed text elements that were created using different methods.The containing layer has a transform applied as well. + + diff --git a/share/extensions/tests/data/svg/three_pages_and_two_grids.svg b/share/extensions/tests/data/svg/three_pages_and_two_grids.svg new file mode 100644 index 0000000..959a923 --- /dev/null +++ b/share/extensions/tests/data/svg/three_pages_and_two_grids.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + diff --git a/share/extensions/tests/data/svg/transformed-layer.svg b/share/extensions/tests/data/svg/transformed-layer.svg new file mode 100644 index 0000000..6148ea2 --- /dev/null +++ b/share/extensions/tests/data/svg/transformed-layer.svg @@ -0,0 +1,19 @@ + + + + + + + diff --git a/share/extensions/tests/data/svg/with-lpe.svg b/share/extensions/tests/data/svg/with-lpe.svg new file mode 100644 index 0000000..89d590e --- /dev/null +++ b/share/extensions/tests/data/svg/with-lpe.svg @@ -0,0 +1,30 @@ + + + + + + + image/svg+xml + + + + + + + + -- cgit v1.2.3