prawn-svg 0.29.1 → 0.32.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +18 -0
- data/LICENSE +1 -1
- data/README.md +10 -9
- data/lib/prawn/svg/attributes/opacity.rb +4 -4
- data/lib/prawn/svg/attributes/transform.rb +2 -44
- data/lib/prawn/svg/elements/base.rb +11 -5
- data/lib/prawn/svg/elements/call_duplicator.rb +1 -1
- data/lib/prawn/svg/elements/gradient.rb +83 -25
- data/lib/prawn/svg/elements/image.rb +2 -2
- data/lib/prawn/svg/elements/path.rb +42 -29
- data/lib/prawn/svg/elements/root.rb +4 -1
- data/lib/prawn/svg/elements/text_component.rb +21 -5
- data/lib/prawn/svg/elements/use.rb +23 -7
- data/lib/prawn/svg/elements.rb +2 -0
- data/lib/prawn/svg/extensions/additional_gradient_transforms.rb +23 -0
- data/lib/prawn/svg/interface.rb +38 -8
- data/lib/prawn/svg/loaders/data.rb +1 -1
- data/lib/prawn/svg/loaders/file.rb +3 -1
- data/lib/prawn/svg/properties.rb +1 -0
- data/lib/prawn/svg/transform_parser.rb +72 -0
- data/lib/prawn/svg/version.rb +1 -1
- data/lib/prawn-svg.rb +4 -0
- data/prawn-svg.gemspec +3 -2
- data/spec/integration_spec.rb +24 -24
- data/spec/prawn/svg/attributes/opacity_spec.rb +85 -0
- data/spec/prawn/svg/attributes/transform_spec.rb +30 -35
- data/spec/prawn/svg/css/stylesheets_spec.rb +1 -19
- data/spec/prawn/svg/elements/base_spec.rb +16 -16
- data/spec/prawn/svg/elements/gradient_spec.rb +79 -4
- data/spec/prawn/svg/elements/line_spec.rb +12 -12
- data/spec/prawn/svg/elements/marker_spec.rb +27 -27
- data/spec/prawn/svg/elements/path_spec.rb +29 -17
- data/spec/prawn/svg/elements/polygon_spec.rb +9 -9
- data/spec/prawn/svg/elements/polyline_spec.rb +7 -7
- data/spec/prawn/svg/elements/text_spec.rb +65 -50
- data/spec/prawn/svg/loaders/data_spec.rb +8 -0
- data/spec/prawn/svg/pathable_spec.rb +4 -4
- data/spec/prawn/svg/transform_parser_spec.rb +94 -0
- data/spec/sample_svg/double_opacity.svg +6 -0
- data/spec/sample_svg/gradient_transform.svg +19 -0
- data/spec/sample_svg/links.svg +18 -0
- data/spec/sample_svg/radgrad01-bounding.svg +26 -0
- data/spec/sample_svg/radgrad01.svg +26 -0
- data/spec/sample_svg/svg_fill.svg +5 -0
- data/spec/sample_svg/text-decoration.svg +4 -0
- data/spec/sample_svg/transform.svg +20 -0
- data/spec/sample_svg/use_disordered.svg +17 -0
- data/spec/spec_helper.rb +2 -2
- metadata +48 -10
- data/.travis.yml +0 -8
@@ -0,0 +1,94 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe Prawn::SVG::TransformParser do
|
4
|
+
class Test
|
5
|
+
include Prawn::SVG::Calculators::Pixels
|
6
|
+
include Prawn::SVG::TransformParser
|
7
|
+
|
8
|
+
State = Struct.new(:viewport_sizing)
|
9
|
+
Properties = Struct.new(:numerical_font_size)
|
10
|
+
Document = Struct.new(:sizing)
|
11
|
+
|
12
|
+
def document
|
13
|
+
Document.new(_sizing)
|
14
|
+
end
|
15
|
+
|
16
|
+
def state
|
17
|
+
State.new(_sizing)
|
18
|
+
end
|
19
|
+
|
20
|
+
def computed_properties
|
21
|
+
Properties.new(14)
|
22
|
+
end
|
23
|
+
|
24
|
+
def _sizing
|
25
|
+
Prawn::SVG::Calculators::DocumentSizing.new([1000, 800])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
subject { Test.new.parse_transform_attribute(transform) }
|
30
|
+
|
31
|
+
context "with no transform" do
|
32
|
+
let(:transform) { '' }
|
33
|
+
it { is_expected.to eq [1, 0, 0, 1, 0, 0] }
|
34
|
+
end
|
35
|
+
|
36
|
+
context "with translate" do
|
37
|
+
let(:transform) { 'translate(10 20)' }
|
38
|
+
it { is_expected.to eq [1, 0, 0, 1, 10, -20] }
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with single argument translate" do
|
42
|
+
let(:transform) { 'translate(10)' }
|
43
|
+
it { is_expected.to eq [1, 0, 0, 1, 10, 0] }
|
44
|
+
end
|
45
|
+
|
46
|
+
context "with translateX" do
|
47
|
+
let(:transform) { 'translateX(10)' }
|
48
|
+
it { is_expected.to eq [1, 0, 0, 1, 10, 0] }
|
49
|
+
end
|
50
|
+
|
51
|
+
context "with translateY" do
|
52
|
+
let(:transform) { 'translateY(10)' }
|
53
|
+
it { is_expected.to eq [1, 0, 0, 1, 0, -10] }
|
54
|
+
end
|
55
|
+
|
56
|
+
let(:sin30) { Math.sin(30 * Math::PI / 180.0) }
|
57
|
+
let(:cos30) { Math.cos(30 * Math::PI / 180.0) }
|
58
|
+
let(:tan30) { Math.tan(30 * Math::PI / 180.0) }
|
59
|
+
|
60
|
+
context "with single argument rotate" do
|
61
|
+
let(:transform) { 'rotate(30)' }
|
62
|
+
it { is_expected.to eq [cos30, -sin30, sin30, cos30, 0, 0] }
|
63
|
+
end
|
64
|
+
|
65
|
+
context "with triple argument rotate" do
|
66
|
+
let(:transform) { 'rotate(30 100 200)' }
|
67
|
+
it { is_expected.to eq [cos30, -sin30, sin30, cos30, 113.39745962155611, 23.205080756887753] }
|
68
|
+
end
|
69
|
+
|
70
|
+
context "with scale" do
|
71
|
+
let(:transform) { 'scale(1.5)' }
|
72
|
+
it { is_expected.to eq [1.5, 0, 0, 1.5, 0, 0] }
|
73
|
+
end
|
74
|
+
|
75
|
+
context "with skewX" do
|
76
|
+
let(:transform) { 'skewX(30)' }
|
77
|
+
it { is_expected.to eq [1, 0, -tan30, 1, 0, 0] }
|
78
|
+
end
|
79
|
+
|
80
|
+
context "with skewY" do
|
81
|
+
let(:transform) { 'skewY(30)' }
|
82
|
+
it { is_expected.to eq [1, -tan30, 0, 1, 0, 0] }
|
83
|
+
end
|
84
|
+
|
85
|
+
context "with matrix" do
|
86
|
+
let(:transform) { 'matrix(1 2 3 4 5 6)' }
|
87
|
+
it { is_expected.to eq [1, -2, -3, 4, 5, -6] }
|
88
|
+
end
|
89
|
+
|
90
|
+
context "with multiple" do
|
91
|
+
let(:transform) { 'scale(2) translate(7) scale(3)' }
|
92
|
+
it { is_expected.to eq [6, 0, 0, 6, 14, 0] }
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="206.404" height="167.984" viewBox="0 0 54.611 44.446">
|
2
|
+
<g transform="translate(-27.725 -80.097)" stroke="#000" stroke-width=".5">
|
3
|
+
<ellipse cx="48.451" cy="103.356" rx="20.476" ry="19.462" fill="#52e0ff"/>
|
4
|
+
<ellipse cx="66.77" cy="102.32" rx="15.316" ry="21.973" fill="#ff6c52" style="opacity:.75; fill-opacity:1"/>
|
5
|
+
</g>
|
6
|
+
</svg>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<svg viewBox="0 0 420 200" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<linearGradient id="gradient1" gradientUnits="userSpaceOnUse"
|
3
|
+
x1="0" y1="0" x2="200" y2="200">
|
4
|
+
<stop offset="0%" stop-color="darkblue" />
|
5
|
+
<stop offset="50%" stop-color="skyblue" />
|
6
|
+
<stop offset="100%" stop-color="darkblue" />
|
7
|
+
</linearGradient>
|
8
|
+
<linearGradient id="gradient2" gradientUnits="userSpaceOnUse"
|
9
|
+
x1="0" y1="0" x2="200" y2="200"
|
10
|
+
xgradientTransform="skewX(45) translate(-100, 0)"
|
11
|
+
gradientTransform="matrix(0.5, 0, 0, 1, 0, 100)">
|
12
|
+
<stop offset="0%" stop-color="darkblue" />
|
13
|
+
<stop offset="50%" stop-color="skyblue" />
|
14
|
+
<stop offset="100%" stop-color="darkblue" />
|
15
|
+
</linearGradient>
|
16
|
+
|
17
|
+
<rect x="0" y="0" width="200" height="200" fill="url(#gradient1)" />
|
18
|
+
<rect x="0" y="0" width="200" height="200" fill="url(#gradient2)" transform="translate(220, 0)" />
|
19
|
+
</svg>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="1200" height="400" viewBox="0 0 600 200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
4
|
+
<text fill="#000000" font-family="sans-serif" font-size="13" textLength="78" x="14" y="20">You can use</text>
|
5
|
+
<a target="_top" xlink:actuate="onRequest" xlink:href="http://plantuml.com/start" xlink:show="new" xlink:title="http://plantuml.com/start" xlink:type="simple">
|
6
|
+
<text fill="#0000FF" font-family="sans-serif" font-size="13" text-decoration="underline" textLength="87" x="96" y="20">links in notes</text>
|
7
|
+
<line style="stroke: #0000FF; stroke-width: 1.0;" x1="96" x2="183" y1="20" y2="20"/>
|
8
|
+
</a>
|
9
|
+
|
10
|
+
<g transform="translate(0 20)">
|
11
|
+
<text fill="#000000" font-family="sans-serif" font-size="13" textLength="78" lengthAdjust="spacingAndGlyphs" x="14" y="20">You can use</text>
|
12
|
+
<a target="_top" xlink:actuate="onRequest" xlink:href="http://plantuml.com/start" xlink:show="new" xlink:title="http://plantuml.com/start" xlink:type="simple">
|
13
|
+
<text fill="#0000FF" font-family="sans-serif" font-size="13" text-decoration="underline" textLength="87" lengthAdjust="spacingAndGlyphs" x="96" y="20">links in notes</text>
|
14
|
+
<line style="stroke: #0000FF; stroke-width: 1.0;" x1="96" x2="183" y1="20" y2="20"/>
|
15
|
+
</a>
|
16
|
+
</g>
|
17
|
+
</svg>
|
18
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<svg width="8cm" height="4cm" viewBox="0 0 800 400" version="1.1"
|
5
|
+
xmlns="http://www.w3.org/2000/svg">
|
6
|
+
<desc>Example radgrad01 - fill a rectangle by referencing a
|
7
|
+
radial gradient paint server</desc>
|
8
|
+
<g>
|
9
|
+
<defs>
|
10
|
+
<radialGradient id="MyGradient"
|
11
|
+
cx="0.5" cy="0.5" r="0.2" fx="0.5" fy="0.5">
|
12
|
+
<stop offset="0%" stop-color="red" />
|
13
|
+
<stop offset="50%" stop-color="blue" />
|
14
|
+
<stop offset="100%" stop-color="red" />
|
15
|
+
</radialGradient>
|
16
|
+
</defs>
|
17
|
+
|
18
|
+
<!-- Outline the drawing area in blue -->
|
19
|
+
<rect fill="none" stroke="blue"
|
20
|
+
x="1" y="1" width="798" height="398"/>
|
21
|
+
|
22
|
+
<!-- The rectangle is filled using a radial gradient paint server -->
|
23
|
+
<rect fill="url(#MyGradient)" stroke="black" stroke-width="5"
|
24
|
+
x="100" y="100" width="600" height="200"/>
|
25
|
+
</g>
|
26
|
+
</svg>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
3
|
+
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
4
|
+
<svg width="8cm" height="4cm" viewBox="0 0 800 400" version="1.1"
|
5
|
+
xmlns="http://www.w3.org/2000/svg">
|
6
|
+
<desc>Example radgrad01 - fill a rectangle by referencing a
|
7
|
+
radial gradient paint server</desc>
|
8
|
+
<g>
|
9
|
+
<defs>
|
10
|
+
<radialGradient id="MyGradient" gradientUnits="userSpaceOnUse"
|
11
|
+
cx="400" cy="200" r="50%" fx="200" fy="200">
|
12
|
+
<stop offset="0%" stop-color="red" />
|
13
|
+
<stop offset="50%" stop-color="blue" />
|
14
|
+
<stop offset="100%" stop-color="red" />
|
15
|
+
</radialGradient>
|
16
|
+
</defs>
|
17
|
+
|
18
|
+
<!-- Outline the drawing area in blue -->
|
19
|
+
<rect fill="none" stroke="blue"
|
20
|
+
x="1" y="1" width="798" height="398"/>
|
21
|
+
|
22
|
+
<!-- The rectangle is filled using a radial gradient paint server -->
|
23
|
+
<rect fill="url(#MyGradient)" stroke="black" stroke-width="5"
|
24
|
+
x="100" y="100" width="600" height="200"/>
|
25
|
+
</g>
|
26
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="12cm" height="5.25cm" viewBox="0 0 1200 400" xmlns="http://www.w3.org/2000/svg" version="1.1" fill="red">
|
4
|
+
<text style="font-size: 40pt;">This is red text.</text>
|
5
|
+
</svg>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<svg height="975" version="1.1" width="1275" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<rect x="0" y="0" width="200" height="100" fill="blue"/>
|
3
|
+
<rect x="0" y="0" width="200" height="100" fill="lightblue" transform="rotate(30 200 100) translate(200)"/>
|
4
|
+
<rect x="0" y="0" width="200" height="100" fill="lightblue" transform="rotate(-5) translate(400)"/>
|
5
|
+
|
6
|
+
<g transform="translate(0 200)">
|
7
|
+
<rect x="0" y="0" width="200" height="100" fill="green"/>
|
8
|
+
<rect x="0" y="0" width="200" height="100" fill="lightgreen" transform="skewX(35) translate(200)"/>
|
9
|
+
</g>
|
10
|
+
|
11
|
+
<g transform="translate(0 320)">
|
12
|
+
<rect x="0" y="0" width="200" height="100" fill="red"/>
|
13
|
+
<rect x="0" y="0" width="200" height="100" fill="pink" transform="skewY(5) translate(200)"/>
|
14
|
+
</g>
|
15
|
+
|
16
|
+
<g transform="translate(0 470)">
|
17
|
+
<rect x="0" y="0" width="200" height="100" fill="black"/>
|
18
|
+
<rect x="0" y="0" width="200" height="100" fill="grey" transform="translate(200) scale(1.5)"/>
|
19
|
+
</g>
|
20
|
+
</svg>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="12cm" height="4cm" viewBox="0 0 1200 400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink='http://www.w3.org/1999/xlink' version="1.1">
|
4
|
+
<use xlink:href="#two-rects"/>
|
5
|
+
<use xlink:href="#two-rects" x="90" y="90"/>
|
6
|
+
<use xlink:href="#two-rects" x="180" y="180"/>
|
7
|
+
|
8
|
+
<use xlink:href="#circle" x="0" y="0" style="opacity: 0.5;" transform="scale(1.3)"/>
|
9
|
+
<use xlink:href="#circle" x="0" y="0" style="opacity: 0.2;" transform="scale(1.7)"/>
|
10
|
+
|
11
|
+
<circle id="circle" cx="600" cy="200" r="100" fill="red" stroke="blue" stroke-width="10" />
|
12
|
+
|
13
|
+
<symbol id="two-rects">
|
14
|
+
<rect x="1" y="1" width="1198" height="398" fill="none" stroke="blue" stroke-width="2"/>
|
15
|
+
<rect x="400" y="100" width="400" height="200" fill="yellow" stroke="navy" stroke-width="10" />
|
16
|
+
</symbol>
|
17
|
+
</svg>
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prawn-svg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.32.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roger Nesbitt
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: prawn
|
@@ -44,6 +44,20 @@ dependencies:
|
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '1.6'
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rexml
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '3.2'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '3.2'
|
47
61
|
- !ruby/object:Gem::Dependency
|
48
62
|
name: rspec
|
49
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -64,14 +78,14 @@ dependencies:
|
|
64
78
|
requirements:
|
65
79
|
- - "~>"
|
66
80
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
81
|
+
version: '13.0'
|
68
82
|
type: :development
|
69
83
|
prerelease: false
|
70
84
|
version_requirements: !ruby/object:Gem::Requirement
|
71
85
|
requirements:
|
72
86
|
- - "~>"
|
73
87
|
- !ruby/object:Gem::Version
|
74
|
-
version: '
|
88
|
+
version: '13.0'
|
75
89
|
description: This gem allows you to render SVG directly into a PDF using the 'prawn'
|
76
90
|
gem. Since PDF is vector-based, you'll get nice scaled graphics if you use SVG
|
77
91
|
instead of an image.
|
@@ -80,9 +94,9 @@ executables: []
|
|
80
94
|
extensions: []
|
81
95
|
extra_rdoc_files: []
|
82
96
|
files:
|
97
|
+
- ".github/workflows/test.yml"
|
83
98
|
- ".gitignore"
|
84
99
|
- ".rspec"
|
85
|
-
- ".travis.yml"
|
86
100
|
- Gemfile
|
87
101
|
- LICENSE
|
88
102
|
- README.md
|
@@ -126,6 +140,7 @@ files:
|
|
126
140
|
- lib/prawn/svg/elements/use.rb
|
127
141
|
- lib/prawn/svg/elements/viewport.rb
|
128
142
|
- lib/prawn/svg/extension.rb
|
143
|
+
- lib/prawn/svg/extensions/additional_gradient_transforms.rb
|
129
144
|
- lib/prawn/svg/font.rb
|
130
145
|
- lib/prawn/svg/font_registry.rb
|
131
146
|
- lib/prawn/svg/interface.rb
|
@@ -135,11 +150,13 @@ files:
|
|
135
150
|
- lib/prawn/svg/pathable.rb
|
136
151
|
- lib/prawn/svg/properties.rb
|
137
152
|
- lib/prawn/svg/state.rb
|
153
|
+
- lib/prawn/svg/transform_parser.rb
|
138
154
|
- lib/prawn/svg/ttf.rb
|
139
155
|
- lib/prawn/svg/url_loader.rb
|
140
156
|
- lib/prawn/svg/version.rb
|
141
157
|
- prawn-svg.gemspec
|
142
158
|
- spec/integration_spec.rb
|
159
|
+
- spec/prawn/svg/attributes/opacity_spec.rb
|
143
160
|
- spec/prawn/svg/attributes/transform_spec.rb
|
144
161
|
- spec/prawn/svg/calculators/aspect_ratio_spec.rb
|
145
162
|
- spec/prawn/svg/calculators/document_sizing_spec.rb
|
@@ -165,6 +182,7 @@ files:
|
|
165
182
|
- spec/prawn/svg/loaders/web_spec.rb
|
166
183
|
- spec/prawn/svg/pathable_spec.rb
|
167
184
|
- spec/prawn/svg/properties_spec.rb
|
185
|
+
- spec/prawn/svg/transform_parser_spec.rb
|
168
186
|
- spec/prawn/svg/ttf_spec.rb
|
169
187
|
- spec/prawn/svg/url_loader_spec.rb
|
170
188
|
- spec/sample_images/mushroom-long.jpg
|
@@ -180,9 +198,11 @@ files:
|
|
180
198
|
- spec/sample_svg/cubic01a.svg
|
181
199
|
- spec/sample_svg/cubic02.svg
|
182
200
|
- spec/sample_svg/display_none.svg
|
201
|
+
- spec/sample_svg/double_opacity.svg
|
183
202
|
- spec/sample_svg/ellipse01.svg
|
184
203
|
- spec/sample_svg/gistfile1.svg
|
185
204
|
- spec/sample_svg/google_charts.svg
|
205
|
+
- spec/sample_svg/gradient_transform.svg
|
186
206
|
- spec/sample_svg/gradients.svg
|
187
207
|
- spec/sample_svg/hidden_paths.svg
|
188
208
|
- spec/sample_svg/highcharts.svg
|
@@ -190,6 +210,7 @@ files:
|
|
190
210
|
- spec/sample_svg/image02_base64.svg
|
191
211
|
- spec/sample_svg/image03.svg
|
192
212
|
- spec/sample_svg/line01.svg
|
213
|
+
- spec/sample_svg/links.svg
|
193
214
|
- spec/sample_svg/marker.svg
|
194
215
|
- spec/sample_svg/markers_degenerate_cp.svg
|
195
216
|
- spec/sample_svg/maths.svg
|
@@ -206,6 +227,8 @@ files:
|
|
206
227
|
- spec/sample_svg/polyline01.svg
|
207
228
|
- spec/sample_svg/preserve-space.svg
|
208
229
|
- spec/sample_svg/quad01.svg
|
230
|
+
- spec/sample_svg/radgrad01-bounding.svg
|
231
|
+
- spec/sample_svg/radgrad01.svg
|
209
232
|
- spec/sample_svg/rect01.svg
|
210
233
|
- spec/sample_svg/rect02.svg
|
211
234
|
- spec/sample_svg/rotate_scale.svg
|
@@ -214,8 +237,11 @@ files:
|
|
214
237
|
- spec/sample_svg/subfamilies.svg
|
215
238
|
- spec/sample_svg/subviewports.svg
|
216
239
|
- spec/sample_svg/subviewports2.svg
|
240
|
+
- spec/sample_svg/svg_fill.svg
|
241
|
+
- spec/sample_svg/text-decoration.svg
|
217
242
|
- spec/sample_svg/text_entities.svg
|
218
243
|
- spec/sample_svg/text_stroke.svg
|
244
|
+
- spec/sample_svg/transform.svg
|
219
245
|
- spec/sample_svg/tref01.svg
|
220
246
|
- spec/sample_svg/triangle01.svg
|
221
247
|
- spec/sample_svg/tspan01.svg
|
@@ -226,6 +252,7 @@ files:
|
|
226
252
|
- spec/sample_svg/tspan05.svg
|
227
253
|
- spec/sample_svg/tspan91.svg
|
228
254
|
- spec/sample_svg/use.svg
|
255
|
+
- spec/sample_svg/use_disordered.svg
|
229
256
|
- spec/sample_svg/viewbox.svg
|
230
257
|
- spec/sample_svg/viewport.svg
|
231
258
|
- spec/sample_svg/warning-radioactive.svg
|
@@ -235,7 +262,7 @@ homepage: http://github.com/mogest/prawn-svg
|
|
235
262
|
licenses:
|
236
263
|
- MIT
|
237
264
|
metadata: {}
|
238
|
-
post_install_message:
|
265
|
+
post_install_message:
|
239
266
|
rdoc_options: []
|
240
267
|
require_paths:
|
241
268
|
- lib
|
@@ -243,19 +270,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
243
270
|
requirements:
|
244
271
|
- - ">="
|
245
272
|
- !ruby/object:Gem::Version
|
246
|
-
version: 2.
|
273
|
+
version: 2.3.0
|
247
274
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
248
275
|
requirements:
|
249
276
|
- - ">="
|
250
277
|
- !ruby/object:Gem::Version
|
251
278
|
version: '0'
|
252
279
|
requirements: []
|
253
|
-
rubygems_version: 3.
|
254
|
-
signing_key:
|
280
|
+
rubygems_version: 3.2.3
|
281
|
+
signing_key:
|
255
282
|
specification_version: 4
|
256
283
|
summary: SVG renderer for Prawn PDF library
|
257
284
|
test_files:
|
258
285
|
- spec/integration_spec.rb
|
286
|
+
- spec/prawn/svg/attributes/opacity_spec.rb
|
259
287
|
- spec/prawn/svg/attributes/transform_spec.rb
|
260
288
|
- spec/prawn/svg/calculators/aspect_ratio_spec.rb
|
261
289
|
- spec/prawn/svg/calculators/document_sizing_spec.rb
|
@@ -281,6 +309,7 @@ test_files:
|
|
281
309
|
- spec/prawn/svg/loaders/web_spec.rb
|
282
310
|
- spec/prawn/svg/pathable_spec.rb
|
283
311
|
- spec/prawn/svg/properties_spec.rb
|
312
|
+
- spec/prawn/svg/transform_parser_spec.rb
|
284
313
|
- spec/prawn/svg/ttf_spec.rb
|
285
314
|
- spec/prawn/svg/url_loader_spec.rb
|
286
315
|
- spec/sample_images/mushroom-long.jpg
|
@@ -296,9 +325,11 @@ test_files:
|
|
296
325
|
- spec/sample_svg/cubic01a.svg
|
297
326
|
- spec/sample_svg/cubic02.svg
|
298
327
|
- spec/sample_svg/display_none.svg
|
328
|
+
- spec/sample_svg/double_opacity.svg
|
299
329
|
- spec/sample_svg/ellipse01.svg
|
300
330
|
- spec/sample_svg/gistfile1.svg
|
301
331
|
- spec/sample_svg/google_charts.svg
|
332
|
+
- spec/sample_svg/gradient_transform.svg
|
302
333
|
- spec/sample_svg/gradients.svg
|
303
334
|
- spec/sample_svg/hidden_paths.svg
|
304
335
|
- spec/sample_svg/highcharts.svg
|
@@ -306,6 +337,7 @@ test_files:
|
|
306
337
|
- spec/sample_svg/image02_base64.svg
|
307
338
|
- spec/sample_svg/image03.svg
|
308
339
|
- spec/sample_svg/line01.svg
|
340
|
+
- spec/sample_svg/links.svg
|
309
341
|
- spec/sample_svg/marker.svg
|
310
342
|
- spec/sample_svg/markers_degenerate_cp.svg
|
311
343
|
- spec/sample_svg/maths.svg
|
@@ -322,6 +354,8 @@ test_files:
|
|
322
354
|
- spec/sample_svg/polyline01.svg
|
323
355
|
- spec/sample_svg/preserve-space.svg
|
324
356
|
- spec/sample_svg/quad01.svg
|
357
|
+
- spec/sample_svg/radgrad01-bounding.svg
|
358
|
+
- spec/sample_svg/radgrad01.svg
|
325
359
|
- spec/sample_svg/rect01.svg
|
326
360
|
- spec/sample_svg/rect02.svg
|
327
361
|
- spec/sample_svg/rotate_scale.svg
|
@@ -330,8 +364,11 @@ test_files:
|
|
330
364
|
- spec/sample_svg/subfamilies.svg
|
331
365
|
- spec/sample_svg/subviewports.svg
|
332
366
|
- spec/sample_svg/subviewports2.svg
|
367
|
+
- spec/sample_svg/svg_fill.svg
|
368
|
+
- spec/sample_svg/text-decoration.svg
|
333
369
|
- spec/sample_svg/text_entities.svg
|
334
370
|
- spec/sample_svg/text_stroke.svg
|
371
|
+
- spec/sample_svg/transform.svg
|
335
372
|
- spec/sample_svg/tref01.svg
|
336
373
|
- spec/sample_svg/triangle01.svg
|
337
374
|
- spec/sample_svg/tspan01.svg
|
@@ -342,6 +379,7 @@ test_files:
|
|
342
379
|
- spec/sample_svg/tspan05.svg
|
343
380
|
- spec/sample_svg/tspan91.svg
|
344
381
|
- spec/sample_svg/use.svg
|
382
|
+
- spec/sample_svg/use_disordered.svg
|
345
383
|
- spec/sample_svg/viewbox.svg
|
346
384
|
- spec/sample_svg/viewport.svg
|
347
385
|
- spec/sample_svg/warning-radioactive.svg
|