prawn-svg 0.24.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -9
  3. data/lib/prawn/svg/attributes.rb +1 -1
  4. data/lib/prawn/svg/attributes/space.rb +10 -0
  5. data/lib/prawn/svg/attributes/stroke.rb +2 -2
  6. data/lib/prawn/svg/attributes/transform.rb +2 -2
  7. data/lib/prawn/svg/calculators/document_sizing.rb +4 -5
  8. data/lib/prawn/svg/calculators/pixels.rb +27 -3
  9. data/lib/prawn/svg/document.rb +0 -18
  10. data/lib/prawn/svg/elements.rb +2 -2
  11. data/lib/prawn/svg/elements/base.rb +14 -2
  12. data/lib/prawn/svg/elements/circle.rb +1 -1
  13. data/lib/prawn/svg/elements/depth_first_base.rb +52 -0
  14. data/lib/prawn/svg/elements/ellipse.rb +2 -2
  15. data/lib/prawn/svg/elements/image.rb +2 -2
  16. data/lib/prawn/svg/elements/line.rb +4 -4
  17. data/lib/prawn/svg/elements/marker.rb +2 -2
  18. data/lib/prawn/svg/elements/rect.rb +3 -3
  19. data/lib/prawn/svg/elements/root.rb +5 -1
  20. data/lib/prawn/svg/elements/text.rb +47 -85
  21. data/lib/prawn/svg/elements/text_component.rb +186 -0
  22. data/lib/prawn/svg/elements/use.rb +1 -1
  23. data/lib/prawn/svg/elements/viewport.rb +28 -0
  24. data/lib/prawn/svg/interface.rb +20 -12
  25. data/lib/prawn/svg/pathable.rb +18 -2
  26. data/lib/prawn/svg/state.rb +3 -2
  27. data/lib/prawn/svg/version.rb +1 -1
  28. data/spec/prawn/svg/attributes/transform_spec.rb +2 -2
  29. data/spec/prawn/svg/calculators/pixels_spec.rb +72 -0
  30. data/spec/prawn/svg/document_spec.rb +0 -28
  31. data/spec/prawn/svg/elements/base_spec.rb +1 -1
  32. data/spec/prawn/svg/elements/gradient_spec.rb +1 -1
  33. data/spec/prawn/svg/elements/line_spec.rb +1 -1
  34. data/spec/prawn/svg/elements/marker_spec.rb +4 -0
  35. data/spec/prawn/svg/elements/text_spec.rb +104 -15
  36. data/spec/sample_svg/markers_degenerate_cp.svg +19 -0
  37. data/spec/sample_svg/offset_viewport.svg +8 -0
  38. data/spec/sample_svg/subviewports.svg +173 -0
  39. data/spec/sample_svg/subviewports2.svg +16 -0
  40. data/spec/sample_svg/tref01.svg +21 -0
  41. data/spec/sample_svg/tspan05.svg +40 -0
  42. data/spec/sample_svg/tspan91.svg +34 -0
  43. data/spec/spec_helper.rb +6 -0
  44. metadata +22 -2
@@ -0,0 +1,34 @@
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="10cm" height="6cm" viewBox="0 0 1000 600" xmlns="http://www.w3.org/2000/svg" version="1.1">
4
+ <g font-family="Verdana" font-size="45" >
5
+ <text x="10 30 50 70 90 110 130 150 800 800 800 460 480 500 520 540 560 580 600 620 640" y="150" fill="blue">
6
+ You are
7
+ <tspan font-weight="bold" fill="red" x="170 270 370">
8
+ hardly
9
+ </tspan>
10
+ a banana.
11
+ </text>
12
+
13
+ <text x="10 30 50 70 90 110 130 150 170 190 210 230 250 270 290 310 330 350 370 390" y="250">
14
+ Then
15
+ <tspan x="300 320 340 360 380 400 420 440 460 480" y="230" fill="red">
16
+ Start
17
+ </tspan>
18
+ as you mean to go on
19
+ </text>
20
+
21
+ <text x="10 30 50 70 90 110" y="450">
22
+ Then
23
+ <tspan x="300 320 340 360 380 400 420 440 460 480" y="430" fill="red">
24
+ Start
25
+ </tspan>
26
+ as you mean to go on
27
+ <tspan y="500">ok</tspan>
28
+ </text>
29
+ </g>
30
+
31
+ <!-- Show outline of canvas using 'rect' element -->
32
+ <rect x="1" y="1" width="998" height="598"
33
+ fill="none" stroke="blue" stroke-width="2" />
34
+ </svg>
@@ -18,6 +18,12 @@ module Support
18
18
  add.call element.base_calls
19
19
  end
20
20
  end
21
+
22
+ def fake_state
23
+ state = Prawn::SVG::State.new
24
+ state.viewport_sizing = document.sizing if defined?(document)
25
+ state
26
+ end
21
27
  end
22
28
 
23
29
  RSpec.configure do |config|
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.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roger Nesbitt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-24 00:00:00.000000000 Z
11
+ date: 2016-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn
@@ -91,6 +91,7 @@ files:
91
91
  - lib/prawn/svg/attributes.rb
92
92
  - lib/prawn/svg/attributes/clip_path.rb
93
93
  - lib/prawn/svg/attributes/opacity.rb
94
+ - lib/prawn/svg/attributes/space.rb
94
95
  - lib/prawn/svg/attributes/stroke.rb
95
96
  - lib/prawn/svg/attributes/transform.rb
96
97
  - lib/prawn/svg/calculators/arc_to_bezier_curve.rb
@@ -104,6 +105,7 @@ files:
104
105
  - lib/prawn/svg/elements/base.rb
105
106
  - lib/prawn/svg/elements/circle.rb
106
107
  - lib/prawn/svg/elements/container.rb
108
+ - lib/prawn/svg/elements/depth_first_base.rb
107
109
  - lib/prawn/svg/elements/ellipse.rb
108
110
  - lib/prawn/svg/elements/gradient.rb
109
111
  - lib/prawn/svg/elements/ignored.rb
@@ -117,7 +119,9 @@ files:
117
119
  - lib/prawn/svg/elements/root.rb
118
120
  - lib/prawn/svg/elements/style.rb
119
121
  - lib/prawn/svg/elements/text.rb
122
+ - lib/prawn/svg/elements/text_component.rb
120
123
  - lib/prawn/svg/elements/use.rb
124
+ - lib/prawn/svg/elements/viewport.rb
121
125
  - lib/prawn/svg/extension.rb
122
126
  - lib/prawn/svg/font.rb
123
127
  - lib/prawn/svg/font_registry.rb
@@ -136,6 +140,7 @@ files:
136
140
  - spec/prawn/svg/attributes/transform_spec.rb
137
141
  - spec/prawn/svg/calculators/aspect_ratio_spec.rb
138
142
  - spec/prawn/svg/calculators/document_sizing_spec.rb
143
+ - spec/prawn/svg/calculators/pixels_spec.rb
139
144
  - spec/prawn/svg/color_spec.rb
140
145
  - spec/prawn/svg/css_spec.rb
141
146
  - spec/prawn/svg/document_spec.rb
@@ -182,11 +187,13 @@ files:
182
187
  - spec/sample_svg/image03.svg
183
188
  - spec/sample_svg/line01.svg
184
189
  - spec/sample_svg/marker.svg
190
+ - spec/sample_svg/markers_degenerate_cp.svg
185
191
  - spec/sample_svg/maths.svg
186
192
  - spec/sample_svg/matrix_transform.svg
187
193
  - spec/sample_svg/matrix_transform_3.svg
188
194
  - spec/sample_svg/negminy.svg
189
195
  - spec/sample_svg/no_width_or_height.svg
196
+ - spec/sample_svg/offset_viewport.svg
190
197
  - spec/sample_svg/omnigraffle.svg
191
198
  - spec/sample_svg/opacity01.svg
192
199
  - spec/sample_svg/path.svg
@@ -201,13 +208,18 @@ files:
201
208
  - spec/sample_svg/scale.svg
202
209
  - spec/sample_svg/scruffy_graph.svg
203
210
  - spec/sample_svg/subfamilies.svg
211
+ - spec/sample_svg/subviewports.svg
212
+ - spec/sample_svg/subviewports2.svg
204
213
  - spec/sample_svg/text_entities.svg
214
+ - spec/sample_svg/tref01.svg
205
215
  - spec/sample_svg/triangle01.svg
206
216
  - spec/sample_svg/tspan01.svg
207
217
  - spec/sample_svg/tspan02.svg
208
218
  - spec/sample_svg/tspan03-cc.svg
209
219
  - spec/sample_svg/tspan03.svg
210
220
  - spec/sample_svg/tspan04.svg
221
+ - spec/sample_svg/tspan05.svg
222
+ - spec/sample_svg/tspan91.svg
211
223
  - spec/sample_svg/use.svg
212
224
  - spec/sample_svg/viewbox.svg
213
225
  - spec/sample_svg/viewport.svg
@@ -242,6 +254,7 @@ test_files:
242
254
  - spec/prawn/svg/attributes/transform_spec.rb
243
255
  - spec/prawn/svg/calculators/aspect_ratio_spec.rb
244
256
  - spec/prawn/svg/calculators/document_sizing_spec.rb
257
+ - spec/prawn/svg/calculators/pixels_spec.rb
245
258
  - spec/prawn/svg/color_spec.rb
246
259
  - spec/prawn/svg/css_spec.rb
247
260
  - spec/prawn/svg/document_spec.rb
@@ -288,11 +301,13 @@ test_files:
288
301
  - spec/sample_svg/image03.svg
289
302
  - spec/sample_svg/line01.svg
290
303
  - spec/sample_svg/marker.svg
304
+ - spec/sample_svg/markers_degenerate_cp.svg
291
305
  - spec/sample_svg/maths.svg
292
306
  - spec/sample_svg/matrix_transform.svg
293
307
  - spec/sample_svg/matrix_transform_3.svg
294
308
  - spec/sample_svg/negminy.svg
295
309
  - spec/sample_svg/no_width_or_height.svg
310
+ - spec/sample_svg/offset_viewport.svg
296
311
  - spec/sample_svg/omnigraffle.svg
297
312
  - spec/sample_svg/opacity01.svg
298
313
  - spec/sample_svg/path.svg
@@ -307,13 +322,18 @@ test_files:
307
322
  - spec/sample_svg/scale.svg
308
323
  - spec/sample_svg/scruffy_graph.svg
309
324
  - spec/sample_svg/subfamilies.svg
325
+ - spec/sample_svg/subviewports.svg
326
+ - spec/sample_svg/subviewports2.svg
310
327
  - spec/sample_svg/text_entities.svg
328
+ - spec/sample_svg/tref01.svg
311
329
  - spec/sample_svg/triangle01.svg
312
330
  - spec/sample_svg/tspan01.svg
313
331
  - spec/sample_svg/tspan02.svg
314
332
  - spec/sample_svg/tspan03-cc.svg
315
333
  - spec/sample_svg/tspan03.svg
316
334
  - spec/sample_svg/tspan04.svg
335
+ - spec/sample_svg/tspan05.svg
336
+ - spec/sample_svg/tspan91.svg
317
337
  - spec/sample_svg/use.svg
318
338
  - spec/sample_svg/viewbox.svg
319
339
  - spec/sample_svg/viewport.svg