prawn-svg 0.12.0.10 → 0.12.0.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d0b52746c9532e73303a557f3036a453670acc1f
4
- data.tar.gz: 2f60c07e2e83617b5068da3ed62aa88882964baf
3
+ metadata.gz: a14b8e4dc51812f13ac2defaf8ea8e1ec09f5183
4
+ data.tar.gz: c8fd5023335201e38d03c83921b10c7666321543
5
5
  SHA512:
6
- metadata.gz: ec07a8b000e4564f0a13c442028cf20d388ba8d3a15309ee48e1b2858415e79d1f13a8e4e74ef4070e04dcaf6a489dfe54226b3cb58002e74a71d34ae344e3cd
7
- data.tar.gz: 141d6c320f073e83a3360d83abf19ad71e0da9de6f6dec11af4665826f94e174075b553bf9abd08af42a4da8600f502214238ca53e0b2686866ae41d7fe4754d
6
+ metadata.gz: bac4b67bd32a2be9f148cffce11e3df1f3b66873281dc5434cfb7f0090493754e126995073d0401a10d60dbb06354e201c739e03e10fb145efbe165033eafe2b
7
+ data.tar.gz: 13bf35b240fbf40f4c9d1be3377a6dc87535898fb4f78a98a53473f588a8bf02d69ad3bb636ac331516242021f18bc949e1dd32325056b502eac1c15c0d65d00
data/README.md CHANGED
@@ -75,7 +75,7 @@ prawn-svg does NOT support external references, measurements in en or em, sub-vi
75
75
 
76
76
  ### Fonts
77
77
 
78
- By default, prawn-svg has a fonts path of <tt>["/Library/Fonts", "/System/Library/Fonts", "#{ENV["HOME"]}/Library/Fonts", "/usr/share/fonts/truetype/**"]</tt> to catch
78
+ By default, prawn-svg has a fonts path of <tt>["/Library/Fonts", "/System/Library/Fonts", "#{ENV["HOME"]}/Library/Fonts", "/usr/share/fonts/truetype"]</tt> to catch
79
79
  Mac OS X and Debian Linux users. You can add to the font path:
80
80
 
81
81
  ```ruby
@@ -34,7 +34,7 @@ class Prawn::Svg::Font
34
34
  # This method is passed prawn's font_families hash. It'll be pre-populated with the fonts that prawn natively
35
35
  # supports. We'll add fonts we find in the font path to this hash.
36
36
  def self.load_external_fonts(fonts)
37
- Prawn::Svg::Interface.font_path.uniq.collect {|path| Dir["#{path}/*"]}.flatten.each do |filename|
37
+ Prawn::Svg::Interface.font_path.uniq.collect {|path| Dir["#{path}/**/*"]}.flatten.each do |filename|
38
38
  information = font_information(filename) rescue nil
39
39
  if information && font_name = (information[16] || information[1])
40
40
  subfamily = (information[17] || information[2] || "normal").gsub(/\s+/, "_").downcase.to_sym
@@ -5,7 +5,7 @@
5
5
  module Prawn
6
6
  module Svg
7
7
  class Interface
8
- DEFAULT_FONT_PATHS = ["/Library/Fonts", "/System/Library/Fonts", "#{ENV["HOME"]}/Library/Fonts", "/usr/share/fonts/truetype/**"]
8
+ DEFAULT_FONT_PATHS = ["/Library/Fonts", "/System/Library/Fonts", "#{ENV["HOME"]}/Library/Fonts", "/usr/share/fonts/truetype"]
9
9
 
10
10
  @font_path = []
11
11
  DEFAULT_FONT_PATHS.each {|path| @font_path << path if File.exists?(path)}
@@ -41,6 +41,8 @@ module Prawn
41
41
  #
42
42
  def draw
43
43
  prawn.bounding_box(@options[:at], :width => @document.width, :height => @document.height) do
44
+ clip_rectangle 0, 0, @document.width, @document.height
45
+
44
46
  prawn.save_graphics_state do
45
47
  proc_creator(prawn, Parser.new(@document).parse).call
46
48
  end
@@ -92,10 +94,10 @@ module Prawn
92
94
  @relative_text_position = options[:at][0] + width + space_width
93
95
 
94
96
  when 'transformation_matrix'
95
- x = prawn.bounds.absolute_left
96
- y = prawn.bounds.absolute_top
97
- arguments[4] += x - (x * arguments[0] - y * arguments[1])
98
- arguments[5] += y - (x * arguments[2] + y * arguments[3])
97
+ left = prawn.bounds.absolute_left
98
+ top = prawn.bounds.absolute_top
99
+ arguments[4] += left - (left * arguments[0] + top * arguments[2])
100
+ arguments[5] += top - (left * arguments[1] + top * arguments[3])
99
101
 
100
102
  when 'clip'
101
103
  prawn.add_content "W n" # clip to path
@@ -110,6 +112,15 @@ module Prawn
110
112
  false
111
113
  end
112
114
  end
115
+
116
+ def clip_rectangle(x, y, width, height)
117
+ prawn.move_to x, y
118
+ prawn.line_to x + width, y
119
+ prawn.line_to x + width, y + height
120
+ prawn.line_to x, y + height
121
+ prawn.close_path
122
+ prawn.add_content "W n" # clip to path
123
+ end
113
124
  end
114
125
  end
115
126
  end
@@ -1,8 +1,12 @@
1
1
  require 'open-uri'
2
+ require 'base64'
2
3
 
3
4
  class Prawn::Svg::Parser::Image
4
5
  Error = Class.new(StandardError)
5
6
 
7
+ DATAURL_REGEXP = /(data:image\/(png|jpg);base64(;[a-z0-9]+)*,)/
8
+ URL_REGEXP = /^https?:\/\/|#{DATAURL_REGEXP}/
9
+
6
10
  class FakeIO
7
11
  def initialize(data)
8
12
  @data = data
@@ -23,8 +27,9 @@ class Prawn::Svg::Parser::Image
23
27
  if url.nil?
24
28
  raise Error, "image tag must have an xlink:href"
25
29
  end
26
- if url.match(%r{\Ahttps?://}).nil?
27
- raise Error, "image tag xlink:href attribute must use http or https scheme"
30
+
31
+ if !url.match(URL_REGEXP)
32
+ raise Error, "image tag xlink:href attribute must use http, https or data scheme"
28
33
  end
29
34
 
30
35
  image = begin
@@ -111,7 +116,11 @@ class Prawn::Svg::Parser::Image
111
116
 
112
117
  def retrieve_data_from_url(url)
113
118
  @url_cache[url] || begin
114
- data = open(url).read
119
+ if m = url.match(DATAURL_REGEXP)
120
+ data = Base64.decode64(url[m[0].length .. -1])
121
+ else
122
+ data = open(url).read
123
+ end
115
124
  @url_cache[url] = data if @document.cache_images
116
125
  data
117
126
  end
@@ -54,7 +54,7 @@ module Prawn
54
54
  @last_point = @subpath_initial_point = [x, y]
55
55
  @calls << ["move_to", @last_point]
56
56
 
57
- return run_path_command('L', values) if values.any?
57
+ return run_path_command(relative ? 'l' : 'L', values) if values.any?
58
58
 
59
59
  when 'Z' # closepath
60
60
  if @subpath_initial_point
@@ -1,5 +1,5 @@
1
1
  module Prawn
2
2
  module Svg
3
- VERSION = '0.12.0.10'
3
+ VERSION = '0.12.0.11'
4
4
  end
5
5
  end
@@ -23,6 +23,20 @@ describe Prawn::Svg::Parser::Path do
23
23
  ]
24
24
  end
25
25
 
26
+ it "treats subsequent points to m/M command as relative/absolute depending on command" do
27
+
28
+ [
29
+ ["M", [1,2,3,4]],
30
+ ["L", [3,4]],
31
+ ["m", [5,6,7,8]],
32
+ ["l", [7,8]]
33
+ ].each do |args|
34
+ @path.should_receive(:run_path_command).with(*args).and_call_original
35
+ end
36
+
37
+ @path.parse("M 1,2 3,4 m 5,6 7,8")
38
+ end
39
+
26
40
  it "correctly parses an empty path" do
27
41
  @path.should_not_receive(:run_path_command)
28
42
  @path.parse("").should == []
data/spec/lib/svg_spec.rb CHANGED
@@ -12,8 +12,8 @@ describe Prawn::Svg::Interface do
12
12
  files.each do |file|
13
13
  it "renders the #{File.basename file} sample file without warnings or crashing" do
14
14
  warnings = nil
15
- Prawn::Document.generate("#{root}/spec/sample_output/#{File.basename file}.pdf") do
16
- r = svg IO.read(file), :at => [0, y], :width => 612 - 72, :cache_images => true
15
+ Prawn::Document.generate("#{root}/spec/sample_output/#{File.basename file}.pdf") do |prawn|
16
+ r = prawn.svg IO.read(file), :at => [0, prawn.bounds.top], :width => prawn.bounds.width, :cache_images => true
17
17
  warnings = r[:warnings].reject {|w| w =~ /Verdana/ && w =~ /is not a known font/ }
18
18
  end
19
19
  warnings.should == []
@@ -0,0 +1,54 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ id="svg2985"
14
+ version="1.1"
15
+ inkscape:version="0.48.3.1 r9886"
16
+ width="382"
17
+ height="291"
18
+ sodipodi:docname="SawridgeLogo.svg">
19
+ <metadata
20
+ id="metadata2991">
21
+ <rdf:RDF>
22
+ <cc:Work
23
+ rdf:about="">
24
+ <dc:format>image/svg+xml</dc:format>
25
+ <dc:type
26
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
27
+ <dc:title></dc:title>
28
+ </cc:Work>
29
+ </rdf:RDF>
30
+ </metadata>
31
+ <defs
32
+ id="defs2989">
33
+ <clipPath
34
+ clipPathUnits="userSpaceOnUse"
35
+ id="clipPath3376">
36
+ <rect
37
+ style="fill:#0000ff;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
38
+ id="rect3378"
39
+ width="124.90112"
40
+ height="216.45169"
41
+ x="4.9044943"
42
+ y="33.677528" />
43
+ </clipPath>
44
+ </defs>
45
+
46
+ <image
47
+ width="382"
48
+ height="291"
49
+ xlink:href="data:image/png;base64,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 "
50
+ id="image2993"
51
+ x="1.1064639"
52
+ y="-1.1064637"
53
+ clip-path="url(#clipPath3376)" />
54
+ </svg>
@@ -1,10 +1,13 @@
1
1
  <svg height="975" version="1.1" width="1275" xmlns="http://www.w3.org/2000/svg">
2
- <text x="200" y="200" text-anchor="middle" stroke="none" fill="#000000" font-size="40px" font-weight="bold" transform="matrix(0.9848,0.1736,-0.1736,0.9848,0,0)">
3
- Zero transform
4
- </text>
5
- <rect x="198" y="198" width="4" height="4" stroke="blue" fill="blue" />
6
- <text x="638" y="471" text-anchor="middle" stroke="none" fill="#000000" font-size="80px" font-weight="bold" transform="matrix(0.7071,-0.7071,0.7071,0.7071,-146.1814,589.0868)">
7
- Matrix transform
8
- </text>
9
- <rect x="636" y="469" width="4" height="4" stroke="blue" fill="blue" />
2
+ <g font-family="Arial">
3
+ <rect x="0" y="0" width="1275" height="975" fill="#eee"/>
4
+ <text x="200" y="200" text-anchor="middle" stroke="none" fill="#000000" font-size="40px" font-weight="bold" transform="matrix(0.9848,0.1736,-0.1736,0.9848,0,0)">
5
+ Zero transform
6
+ </text>
7
+ <rect x="198" y="198" width="4" height="4" stroke="blue" fill="blue" />
8
+ <text x="638" y="471" text-anchor="middle" stroke="none" fill="#000000" font-size="80px" font-weight="bold" transform="matrix(0.7071,-0.7071,0.7071,0.7071,-146.1814,589.0868)">
9
+ Matrix transform
10
+ </text>
11
+ <rect x="636" y="469" width="4" height="4" stroke="blue" fill="blue" />
12
+ </g>
10
13
  </svg>
@@ -0,0 +1,33 @@
1
+ <svg width="180" height="230" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="0" y="0" width="180" height="230" fill="#eee" stroke="green"/>
3
+
4
+ <g transform="translate(0, 0)">
5
+ <rect transform="matrix(1.1, 0.1, 0.3, 1.4, 0, 0)" width="20" height="20" fill="green"/>
6
+ </g>
7
+ <g transform="translate(30, 30)">
8
+ <rect transform="matrix(1.1, 0.1, 0.3, 1.4, 0, 0)" width="20" height="20" fill="green"/>
9
+ </g>
10
+ <g transform="translate(60, 60)">
11
+ <rect transform="matrix(1.1, 0.1, 0.3, 1.4, 0, 0)" width="20" height="20" fill="green"/>
12
+ </g>
13
+ <g transform="translate(90, 90)">
14
+ <rect transform="matrix(1.1, 0.1, 0.3, 1.4, 0, 0)" width="20" height="20" fill="green"/>
15
+ </g>
16
+ <g transform="translate(120, 120)">
17
+ <rect transform="matrix(1.1, 0.08, 0.05, 1.4, 0, 0)" width="20" height="20" fill="green"/>
18
+ </g>
19
+
20
+ <g transform="matrix(1,2,3,4,5,6)">
21
+ <!-- New coordinate system (thick blue line)
22
+ x1 = 10 | x2 = 30
23
+ y1 = 20 | y2 = 40
24
+ -->
25
+ <line x1="10" y1="20" x2="30" y2="40" style="stroke-width: 20px; stroke: blue;"/>
26
+ </g>
27
+
28
+ <!-- Previous coordinate system (thin red line)
29
+ x1 = 1 * 10 + 3 * 20 + 5 = 75 | x2 = 1 * 30 + 3 * 40 + 5 = 155
30
+ y1 = 2 * 10 + 4 * 20 + 6 = 106 | y2 = 2 * 30 + 4 * 40 + 6 = 226
31
+ -->
32
+ <line x1="75" y1="106" x2="155" y2="226" style="stroke-width: 1px; stroke: red;"/>
33
+ </svg>
@@ -9,7 +9,7 @@
9
9
 
10
10
  <text x="400" y="90">scale(3,1)</text>
11
11
  <g transform="translate(400,100)">
12
- <rect width="50" height="50" transform="scale(3,1)" fill="cyan" />
12
+ <rect width="50" height="50" transform="scale(3,1)" fill="#0ff" />
13
13
  </g>
14
14
 
15
15
  <text x="200" y="390">scale(2)</text>
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.12.0.10
4
+ version: 0.12.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roger Nesbitt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-13 00:00:00.000000000 Z
11
+ date: 2013-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prawn
@@ -96,9 +96,11 @@ files:
96
96
  - spec/sample_svg/ellipse01.svg
97
97
  - spec/sample_svg/google_charts.svg
98
98
  - spec/sample_svg/image01.svg
99
+ - spec/sample_svg/image02_base64.svg
99
100
  - spec/sample_svg/line01.svg
100
101
  - spec/sample_svg/maths.svg
101
102
  - spec/sample_svg/matrix_transform.svg
103
+ - spec/sample_svg/matrix_transform_3.svg
102
104
  - spec/sample_svg/omnigraffle.svg
103
105
  - spec/sample_svg/opacity01.svg
104
106
  - spec/sample_svg/polygon01.svg
@@ -138,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
140
  version: '0'
139
141
  requirements: []
140
142
  rubyforge_project:
141
- rubygems_version: 2.0.3
143
+ rubygems_version: 2.0.14
142
144
  signing_key:
143
145
  specification_version: 4
144
146
  summary: SVG renderer for Prawn PDF library
@@ -162,9 +164,11 @@ test_files:
162
164
  - spec/sample_svg/ellipse01.svg
163
165
  - spec/sample_svg/google_charts.svg
164
166
  - spec/sample_svg/image01.svg
167
+ - spec/sample_svg/image02_base64.svg
165
168
  - spec/sample_svg/line01.svg
166
169
  - spec/sample_svg/maths.svg
167
170
  - spec/sample_svg/matrix_transform.svg
171
+ - spec/sample_svg/matrix_transform_3.svg
168
172
  - spec/sample_svg/omnigraffle.svg
169
173
  - spec/sample_svg/opacity01.svg
170
174
  - spec/sample_svg/polygon01.svg