prawn-svg 0.29.1 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +18 -0
  3. data/LICENSE +1 -1
  4. data/README.md +10 -9
  5. data/lib/prawn/svg/attributes/opacity.rb +4 -4
  6. data/lib/prawn/svg/attributes/transform.rb +2 -44
  7. data/lib/prawn/svg/elements/base.rb +11 -5
  8. data/lib/prawn/svg/elements/call_duplicator.rb +1 -1
  9. data/lib/prawn/svg/elements/gradient.rb +83 -25
  10. data/lib/prawn/svg/elements/image.rb +2 -2
  11. data/lib/prawn/svg/elements/path.rb +42 -29
  12. data/lib/prawn/svg/elements/root.rb +4 -1
  13. data/lib/prawn/svg/elements/text_component.rb +21 -5
  14. data/lib/prawn/svg/elements/use.rb +23 -7
  15. data/lib/prawn/svg/elements.rb +2 -0
  16. data/lib/prawn/svg/extensions/additional_gradient_transforms.rb +23 -0
  17. data/lib/prawn/svg/interface.rb +38 -8
  18. data/lib/prawn/svg/loaders/data.rb +1 -1
  19. data/lib/prawn/svg/loaders/file.rb +3 -1
  20. data/lib/prawn/svg/properties.rb +1 -0
  21. data/lib/prawn/svg/transform_parser.rb +72 -0
  22. data/lib/prawn/svg/version.rb +1 -1
  23. data/lib/prawn-svg.rb +4 -0
  24. data/prawn-svg.gemspec +3 -2
  25. data/spec/integration_spec.rb +24 -24
  26. data/spec/prawn/svg/attributes/opacity_spec.rb +85 -0
  27. data/spec/prawn/svg/attributes/transform_spec.rb +30 -35
  28. data/spec/prawn/svg/css/stylesheets_spec.rb +1 -19
  29. data/spec/prawn/svg/elements/base_spec.rb +16 -16
  30. data/spec/prawn/svg/elements/gradient_spec.rb +79 -4
  31. data/spec/prawn/svg/elements/line_spec.rb +12 -12
  32. data/spec/prawn/svg/elements/marker_spec.rb +27 -27
  33. data/spec/prawn/svg/elements/path_spec.rb +29 -17
  34. data/spec/prawn/svg/elements/polygon_spec.rb +9 -9
  35. data/spec/prawn/svg/elements/polyline_spec.rb +7 -7
  36. data/spec/prawn/svg/elements/text_spec.rb +65 -50
  37. data/spec/prawn/svg/loaders/data_spec.rb +8 -0
  38. data/spec/prawn/svg/pathable_spec.rb +4 -4
  39. data/spec/prawn/svg/transform_parser_spec.rb +94 -0
  40. data/spec/sample_svg/double_opacity.svg +6 -0
  41. data/spec/sample_svg/gradient_transform.svg +19 -0
  42. data/spec/sample_svg/links.svg +18 -0
  43. data/spec/sample_svg/radgrad01-bounding.svg +26 -0
  44. data/spec/sample_svg/radgrad01.svg +26 -0
  45. data/spec/sample_svg/svg_fill.svg +5 -0
  46. data/spec/sample_svg/text-decoration.svg +4 -0
  47. data/spec/sample_svg/transform.svg +20 -0
  48. data/spec/sample_svg/use_disordered.svg +17 -0
  49. data/spec/spec_helper.rb +2 -2
  50. metadata +48 -10
  51. 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,4 @@
1
+ <svg viewBox="0 0 250 50" xmlns="http://www.w3.org/2000/svg">
2
+ <text y="20" text-decoration="underline">Underlined text</text>
3
+ <text x="0" y="40" text-decoration="line-through">Struck-through text</text>
4
+ </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
@@ -10,8 +10,8 @@ module Support
10
10
  [].tap do |flattened_calls|
11
11
  add = -> (local_calls) do
12
12
  local_calls.each do |call|
13
- flattened_calls << call[0..1]
14
- add.call call[2]
13
+ flattened_calls << call[0..2]
14
+ add.call call[3]
15
15
  end
16
16
  end
17
17
 
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.29.1
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: 2019-02-06 00:00:00.000000000 Z
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: '10.1'
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: '10.1'
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.1.0
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.0.1
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
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.1.10
4
- - 2.2.7
5
- - 2.3.3
6
- - 2.4.0
7
- - 2.5.3
8
- - 2.6.1