prawn-svg 0.12.0.10 → 0.12.0.11

Sign up to get free protection for your applications and to get access to all the features.
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