pdf-core 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  # prawn/core/stream.rb : Implements Stream objects
4
2
  #
5
3
  # Copyright February 2013, Alexander Mankuta. All Rights Reserved.
@@ -44,7 +42,8 @@ module PDF
44
42
  @filtered_stream = @stream.dup
45
43
 
46
44
  @filters.each do |(filter_name, params)|
47
- if filter = PDF::Core::Filters.const_get(filter_name)
45
+ filter = PDF::Core::Filters.const_get(filter_name)
46
+ if filter
48
47
  @filtered_stream = filter.encode @filtered_stream, params
49
48
  end
50
49
  end
@@ -52,8 +51,6 @@ module PDF
52
51
 
53
52
  @filtered_stream
54
53
  # XXX Fillter stream
55
- else
56
- nil
57
54
  end
58
55
  end
59
56
 
@@ -75,12 +72,12 @@ module PDF
75
72
  filter_params = @filters.decode_params
76
73
 
77
74
  d = {
78
- :Length => filtered_stream.length
75
+ Length: filtered_stream.length
79
76
  }
80
77
  if filter_names.any?
81
78
  d[:Filter] = filter_names
82
79
  end
83
- if filter_params.any? {|f| !f.nil? }
80
+ if filter_params.any? { |f| !f.nil? }
84
81
  d[:DecodeParms] = filter_params
85
82
  end
86
83
 
@@ -91,7 +88,8 @@ module PDF
91
88
  end
92
89
 
93
90
  def inspect
94
- "#<#{self.class.name}:0x#{'%014x' % object_id} @stream=#{@stream.inspect}, @filters=#{@filters.inspect}>"
91
+ "#<#{self.class.name}:0x#{format '%014x', object_id} "\
92
+ "@stream=#{@stream.inspect}, @filters=#{@filters.inspect}>"
95
93
  end
96
94
  end
97
95
  end
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  # prawn/core/text.rb : Implements low level text helpers for Prawn
4
2
  #
5
3
  # Copyright January 2010, Daniel Nelson. All Rights Reserved.
@@ -11,20 +9,26 @@ module PDF
11
9
  module Text #:nodoc:
12
10
  # These should be used as a base. Extensions may build on this list
13
11
  #
14
- VALID_OPTIONS = [:kerning, :size, :style]
15
- MODES = { :fill => 0, :stroke => 1, :fill_stroke => 2, :invisible => 3,
16
- :fill_clip => 4, :stroke_clip => 5, :fill_stroke_clip => 6,
17
- :clip => 7 }
12
+ VALID_OPTIONS = [:kerning, :size, :style].freeze
13
+ MODES = {
14
+ fill: 0,
15
+ stroke: 1,
16
+ fill_stroke: 2,
17
+ invisible: 3,
18
+ fill_clip: 4, stroke_clip: 5,
19
+ fill_stroke_clip: 6,
20
+ clip: 7
21
+ }.freeze
18
22
 
19
23
  attr_reader :skip_encoding
20
24
 
21
- # Low level call to set the current font style and extract text options from
22
- # an options hash. Should be called from within a save_font block
25
+ # Low level call to set the current font style and extract text options
26
+ # from an options hash. Should be called from within a save_font block
23
27
  #
24
28
  def process_text_options(options)
25
29
  if options[:style]
26
- raise "Bad font family" unless font.family
27
- font(font.family, :style => options[:style])
30
+ raise 'Bad font family' unless font.family
31
+ font(font.family, style: options[:style])
28
32
  end
29
33
 
30
34
  # must compare against false to keep kerning on as default
@@ -40,23 +44,23 @@ module PDF
40
44
  # Defaults to true
41
45
  #
42
46
  def default_kerning?
43
- return true if !defined?(@default_kerning)
47
+ return true unless defined?(@default_kerning)
44
48
  @default_kerning
45
49
  end
46
50
 
47
- # Call with a boolean to set the document-wide kerning setting. This can be
48
- # overridden using the :kerning text option when drawing text or a text
51
+ # Call with a boolean to set the document-wide kerning setting. This can
52
+ # be overridden using the :kerning text option when drawing text or a text
49
53
  # box.
50
54
  #
51
55
  # pdf.default_kerning = false
52
- # pdf.text("hello world") # text is not kerned
53
- # pdf.text("hello world", :kerning => true) # text is kerned
56
+ # pdf.text('hello world') # text is not kerned
57
+ # pdf.text('hello world', :kerning => true) # text is kerned
54
58
  #
55
59
  def default_kerning(boolean)
56
60
  @default_kerning = boolean
57
61
  end
58
62
 
59
- alias_method :default_kerning=, :default_kerning
63
+ alias default_kerning= default_kerning
60
64
 
61
65
  # Call with no argument to retrieve the current default leading.
62
66
  #
@@ -65,12 +69,12 @@ module PDF
65
69
  # box.
66
70
  #
67
71
  # pdf.default_leading = 7
68
- # pdf.text("hello world") # a leading of 7 is used
69
- # pdf.text("hello world", :leading => 0) # a leading of 0 is used
72
+ # pdf.text('hello world') # a leading of 7 is used
73
+ # pdf.text('hello world', :leading => 0) # a leading of 0 is used
70
74
  #
71
75
  # Defaults to 0
72
76
  #
73
- def default_leading(number=nil)
77
+ def default_leading(number = nil)
74
78
  if number.nil?
75
79
  defined?(@default_leading) && @default_leading || 0
76
80
  else
@@ -78,7 +82,7 @@ module PDF
78
82
  end
79
83
  end
80
84
 
81
- alias_method :default_leading=, :default_leading
85
+ alias default_leading= default_leading
82
86
 
83
87
  # Call with no argument to retrieve the current text direction.
84
88
  #
@@ -87,8 +91,8 @@ module PDF
87
91
  # box.
88
92
  #
89
93
  # pdf.text_direction = :rtl
90
- # pdf.text("hello world") # prints "dlrow olleh"
91
- # pdf.text("hello world", :direction => :ltr) # prints "hello world"
94
+ # pdf.text('hello world') # prints 'dlrow olleh'
95
+ # pdf.text('hello world', :direction => :ltr) # prints 'hello world'
92
96
  #
93
97
  # Valid directions are:
94
98
  #
@@ -100,7 +104,7 @@ module PDF
100
104
  # * When printing left-to-right, the default text alignment is :left
101
105
  # * When printing right-to-left, the default text alignment is :right
102
106
  #
103
- def text_direction(direction=nil)
107
+ def text_direction(direction = nil)
104
108
  if direction.nil?
105
109
  defined?(@text_direction) && @text_direction || :ltr
106
110
  else
@@ -108,7 +112,7 @@ module PDF
108
112
  end
109
113
  end
110
114
 
111
- alias_method :text_direction=, :text_direction
115
+ alias text_direction= text_direction
112
116
 
113
117
  # Call with no argument to retrieve the current fallback fonts.
114
118
  #
@@ -121,16 +125,16 @@ module PDF
121
125
  # Call with an empty array to turn off fallback fonts
122
126
  #
123
127
  # file = "#{Prawn::DATADIR}/fonts/gkai00mp.ttf"
124
- # font_families["Kai"] = {
125
- # :normal => { :file => file, :font => "Kai" }
128
+ # font_families['Kai'] = {
129
+ # :normal => { :file => file, :font => 'Kai' }
126
130
  # }
127
131
  # file = "#{Prawn::DATADIR}/fonts/Action Man.dfont"
128
- # font_families["Action Man"] = {
129
- # :normal => { :file => file, :font => "ActionMan" },
132
+ # font_families['Action Man'] = {
133
+ # :normal => { :file => file, :font => 'ActionMan' },
130
134
  # }
131
- # fallback_fonts ["Times-Roman", "Kai"]
132
- # font "Action Man"
133
- # text "hello ƒ 你好"
135
+ # fallback_fonts ['Times-Roman', 'Kai']
136
+ # font 'Action Man'
137
+ # text 'hello ƒ 你好'
134
138
  # > hello prints in Action Man
135
139
  # > ƒ prints in Times-Roman
136
140
  # > 你好 prints in Kai
@@ -142,7 +146,7 @@ module PDF
142
146
  # * Increased overhead when fallback fonts are declared as each glyph is
143
147
  # checked to see whether it exists in the current font
144
148
  #
145
- def fallback_fonts(fallback_fonts=nil)
149
+ def fallback_fonts(fallback_fonts = nil)
146
150
  if fallback_fonts.nil?
147
151
  defined?(@fallback_fonts) && @fallback_fonts || []
148
152
  else
@@ -150,7 +154,7 @@ module PDF
150
154
  end
151
155
  end
152
156
 
153
- alias_method :fallback_fonts=, :fallback_fonts
157
+ alias fallback_fonts= fallback_fonts
154
158
 
155
159
  # Call with no argument to retrieve the current text rendering mode.
156
160
  #
@@ -158,7 +162,7 @@ module PDF
158
162
  # text rendering mode.
159
163
  #
160
164
  # pdf.text_rendering_mode(:stroke) do
161
- # pdf.text("Outlined Text")
165
+ # pdf.text('Outlined Text')
162
166
  # end
163
167
  #
164
168
  # Valid modes are:
@@ -169,14 +173,18 @@ module PDF
169
173
  # * :invisible - invisible text
170
174
  # * :fill_clip - fill text then add to path for clipping
171
175
  # * :stroke_clip - stroke text then add to path for clipping
172
- # * :fill_stroke_clip - fill then stroke text, then add to path for clipping
176
+ # * :fill_stroke_clip - fill then stroke text, then add to path for
177
+ # clipping
173
178
  # * :clip - add text to path for clipping
174
- def text_rendering_mode(mode=nil)
175
- return (defined?(@text_rendering_mode) && @text_rendering_mode || :fill) if mode.nil?
179
+ def text_rendering_mode(mode = nil)
180
+ if mode.nil?
181
+ return defined?(@text_rendering_mode) && @text_rendering_mode || :fill
182
+ end
176
183
  unless MODES.key?(mode)
177
- raise ArgumentError, "mode must be between one of #{MODES.keys.join(', ')} (#{mode})"
184
+ raise ArgumentError,
185
+ "mode must be between one of #{MODES.keys.join(', ')} (#{mode})"
178
186
  end
179
- original_mode = self.text_rendering_mode
187
+ original_mode = text_rendering_mode
180
188
 
181
189
  if original_mode == mode
182
190
  yield
@@ -197,8 +205,10 @@ module PDF
197
205
  # For horizontal text, a positive value will increase the space.
198
206
  # For veritical text, a positive value will decrease the space.
199
207
  #
200
- def character_spacing(amount=nil)
201
- return defined?(@character_spacing) && @character_spacing || 0 if amount.nil?
208
+ def character_spacing(amount = nil)
209
+ if amount.nil?
210
+ return defined?(@character_spacing) && @character_spacing || 0
211
+ end
202
212
  original_character_spacing = character_spacing
203
213
  if original_character_spacing == amount
204
214
  yield
@@ -215,7 +225,7 @@ module PDF
215
225
  # For horizontal text, a positive value will increase the space.
216
226
  # For veritical text, a positive value will decrease the space.
217
227
  #
218
- def word_spacing(amount=nil)
228
+ def word_spacing(amount = nil)
219
229
  return defined?(@word_spacing) && @word_spacing || 0 if amount.nil?
220
230
  original_word_spacing = word_spacing
221
231
  if original_word_spacing == amount
@@ -230,25 +240,51 @@ module PDF
230
240
  end
231
241
  end
232
242
 
243
+ # Set the horizontal scaling. amount is a number specifying the
244
+ # percentage of the normal width.
245
+ def horizontal_text_scaling(amount = nil)
246
+ if amount.nil?
247
+ return defined?(@horizontal_text_scaling) &&
248
+ @horizontal_text_scaling || 100
249
+ end
250
+
251
+ original_horizontal_text_scaling = horizontal_text_scaling
252
+ if original_horizontal_text_scaling == amount
253
+ yield
254
+ else
255
+ @horizontal_text_scaling = amount
256
+ add_content "\n#{PDF::Core.real(amount)} Tz"
257
+ yield
258
+ add_content "\n#{PDF::Core.real(original_horizontal_text_scaling)} Tz"
259
+ @horizontal_text_scaling = original_horizontal_text_scaling
260
+ end
261
+ end
262
+
233
263
  def add_text_content(text, x, y, options)
234
- chunks = font.encode_text(text,options)
264
+ chunks = font.encode_text(text, options)
235
265
 
236
266
  add_content "\nBT"
237
267
 
238
268
  if options[:rotate]
239
269
  rad = options[:rotate].to_f * Math::PI / 180
240
- array = [ Math.cos(rad), Math.sin(rad), -Math.sin(rad), Math.cos(rad), x, y ]
270
+ array = [
271
+ Math.cos(rad),
272
+ Math.sin(rad),
273
+ -Math.sin(rad),
274
+ Math.cos(rad),
275
+ x, y
276
+ ]
241
277
  add_content "#{PDF::Core.real_params(array)} Tm"
242
278
  else
243
- add_content "#{PDF::Core.real_params([x,y])} Td"
279
+ add_content "#{PDF::Core.real_params([x, y])} Td"
244
280
  end
245
281
 
246
282
  chunks.each do |(subset, string)|
247
283
  font.add_to_current_page(subset)
248
284
  add_content "/#{font.identifier_for(subset)} #{font_size} Tf"
249
285
 
250
- operation = options[:kerning] && string.is_a?(Array) ? "TJ" : "Tj"
251
- add_content PDF::Core::PdfObject(string, true) << " " << operation
286
+ operation = options[:kerning] && string.is_a?(Array) ? 'TJ' : 'Tj'
287
+ add_content PDF::Core.pdf_object(string, true) << ' ' << operation
252
288
  end
253
289
 
254
290
  add_content "ET\n"
@@ -0,0 +1,12 @@
1
+ module PDF
2
+ module Core
3
+ module Utils
4
+ # rubocop: disable Security/MarshalLoad
5
+ def deep_clone(object)
6
+ Marshal.load(Marshal.dump(object))
7
+ end
8
+ # rubocop: enable Security/MarshalLoad
9
+ module_function :deep_clone
10
+ end
11
+ end
12
+ end
@@ -1,29 +1,42 @@
1
1
  Gem::Specification.new do |spec|
2
- spec.name = "pdf-core"
3
- spec.version = File.read(File.expand_path('VERSION', File.dirname(__FILE__))).strip
2
+ spec.name = 'pdf-core'
3
+ spec.version = '0.7.0'
4
4
  spec.platform = Gem::Platform::RUBY
5
- spec.summary = "PDF::Core is used by Prawn to render PDF documents"
6
- spec.files = Dir.glob("{lib,spec}/**/**/*") +
7
- ["COPYING", "GPLv2", "GPLv3", "LICENSE"] +
8
- ["Gemfile", "Rakefile"] +
9
- ["pdf-core.gemspec"]
10
- spec.require_path = "lib"
5
+ spec.summary = 'PDF::Core is used by Prawn to render PDF documents'
6
+ spec.files = Dir.glob('lib/**/**/*') +
7
+ %w[COPYING GPLv2 GPLv3 LICENSE] +
8
+ %w[Gemfile Rakefile] +
9
+ ['pdf-core.gemspec']
10
+ spec.require_path = 'lib'
11
11
  spec.required_ruby_version = '>= 1.9.3'
12
- spec.required_rubygems_version = ">= 1.3.6"
12
+ spec.required_rubygems_version = '>= 1.3.6'
13
13
 
14
- #spec.test_files = Dir[ "spec/*_spec.rb" ]
15
- #spec.extra_rdoc_files = %w{README.md LICENSE COPYING GPLv2 GPLv3}
16
- #spec.rdoc_options << '--title' << 'Prawn Documentation' <<
14
+ spec.cert_chain = ['certs/pointlessone.pem']
15
+ if $PROGRAM_NAME.end_with? 'gem'
16
+ spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem')
17
+ end
18
+
19
+ # spec.extra_rdoc_files = %w{README.md LICENSE COPYING GPLv2 GPLv3}
20
+ # spec.rdoc_options << '--title' << 'Prawn Documentation' <<
17
21
  # '--main' << 'README.md' << '-q'
18
- spec.authors = ["Gregory Brown","Brad Ediger","Daniel Nelson","Jonathan Greenberg","James Healy"]
19
- spec.email = ["gregory.t.brown@gmail.com","brad@bradediger.com","dnelson@bluejade.com","greenberg@entryway.net","jimmy@deefa.com"]
20
- spec.rubyforge_project = "prawn"
21
- spec.licenses = %w(PRAWN GPL-2.0 GPL-3.0)
22
+ spec.authors = [
23
+ 'Gregory Brown', 'Brad Ediger', 'Daniel Nelson', 'Jonathan Greenberg',
24
+ 'James Healy'
25
+ ]
26
+ spec.email = [
27
+ 'gregory.t.brown@gmail.com', 'brad@bradediger.com', 'dnelson@bluejade.com',
28
+ 'greenberg@entryway.net', 'jimmy@deefa.com'
29
+ ]
30
+ spec.rubyforge_project = 'prawn'
31
+ spec.licenses = %w[PRAWN GPL-2.0 GPL-3.0]
32
+ spec.add_development_dependency('bundler')
22
33
  spec.add_development_dependency('pdf-reader', '~>1.2')
23
- spec.add_development_dependency('simplecov')
24
34
  spec.add_development_dependency('pdf-inspector', '~> 1.1.0')
25
- spec.add_development_dependency('rspec')
26
35
  spec.add_development_dependency('rake')
27
- spec.homepage = "http://prawn.majesticseacreature.com"
28
- spec.description = "PDF::Core is used by Prawn to render PDF documents"
36
+ spec.add_development_dependency('rspec')
37
+ spec.add_development_dependency('rubocop', '~> 0.46')
38
+ spec.add_development_dependency('rubocop-rspec', '~> 1.9')
39
+ spec.add_development_dependency('simplecov')
40
+ spec.homepage = 'http://prawn.majesticseacreature.com'
41
+ spec.description = 'PDF::Core is used by Prawn to render PDF documents'
29
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdf-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Brown
@@ -11,9 +11,45 @@ authors:
11
11
  - James Healy
12
12
  autorequire:
13
13
  bindir: bin
14
- cert_chain: []
15
- date: 2016-02-21 00:00:00.000000000 Z
14
+ cert_chain:
15
+ - |
16
+ -----BEGIN CERTIFICATE-----
17
+ MIIDcDCCAligAwIBAgIBATANBgkqhkiG9w0BAQUFADA/MQ0wCwYDVQQDDARhbGV4
18
+ MRkwFwYKCZImiZPyLGQBGRYJcG9pbnRsZXNzMRMwEQYKCZImiZPyLGQBGRYDb25l
19
+ MB4XDTE3MDEwNDExNDAzM1oXDTE4MDEwNDExNDAzM1owPzENMAsGA1UEAwwEYWxl
20
+ eDEZMBcGCgmSJomT8ixkARkWCXBvaW50bGVzczETMBEGCgmSJomT8ixkARkWA29u
21
+ ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM85Us8YQr55o/rMl+J+
22
+ ula89ODiqjdc0kk+ibzRLCpfaFUJWxEMrhFiApRCopFDMeGXHXjBkfBYsRMFVs0M
23
+ Zfe6rIKdNZQlQqHfJ2JlKFek0ehX81buGERi82wNwECNhOZu9c6G5gKjRPP/Q3Y6
24
+ K6f/TAggK0+/K1j1NjT+WSVaMBuyomM067ejwhiQkEA3+tT3oT/paEXCOfEtxOdX
25
+ 1F8VFd2MbmMK6CGgHbFLApfyDBtDx+ydplGZ3IMZg2nPqwYXTPJx+IuRO21ssDad
26
+ gBMIAvL3wIeezJk2xONvhYg0K5jbIQOPB6zD1/9E6Q0LrwSBDkz5oyOn4PRZxgZ/
27
+ OiMCAwEAAaN3MHUwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFE+A
28
+ jBJVt6ie5r83L/znvqjF1RuuMB0GA1UdEQQWMBSBEmFsZXhAcG9pbnRsZXNzLm9u
29
+ ZTAdBgNVHRIEFjAUgRJhbGV4QHBvaW50bGVzcy5vbmUwDQYJKoZIhvcNAQEFBQAD
30
+ ggEBAEmhsdVfgxHfXtOG6AP3qe7/PBjJPdUzNOkE/elj6TgpdvvJkOZ6QNyyqvpl
31
+ CsoDWL0EXPM5pIETaj5z9iBRK9fAi8YNS3zckhBJwhR78cb4+MiCPIBC+iiGx5bw
32
+ BFER2ASPeeY4uC0AHWHnURDLdxyZr+xp6pb/TitTAaCm18Kvkk1u60lOa4Jtdb+9
33
+ 2U1KICEBoX6UAzdT3N0nZ3VKq/vHVrvV2oePYCMIlNkghWp+VUE91OTBDMjnjjj8
34
+ wxx1aB3kGoI0T6JXywKpPnzUt/qji/qpzCNiVJ0RZxzDHyZuL8NEoA9ORZnAIGiW
35
+ 5u3JK+T0toNEYkMuV6W8NU+gVyo=
36
+ -----END CERTIFICATE-----
37
+ date: 2017-03-11 00:00:00.000000000 Z
16
38
  dependencies:
39
+ - !ruby/object:Gem::Dependency
40
+ name: bundler
41
+ requirement: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
17
53
  - !ruby/object:Gem::Dependency
18
54
  name: pdf-reader
19
55
  requirement: !ruby/object:Gem::Requirement
@@ -29,7 +65,21 @@ dependencies:
29
65
  - !ruby/object:Gem::Version
30
66
  version: '1.2'
31
67
  - !ruby/object:Gem::Dependency
32
- name: simplecov
68
+ name: pdf-inspector
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 1.1.0
74
+ type: :development
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 1.1.0
81
+ - !ruby/object:Gem::Dependency
82
+ name: rake
33
83
  requirement: !ruby/object:Gem::Requirement
34
84
  requirements:
35
85
  - - ">="
@@ -43,35 +93,49 @@ dependencies:
43
93
  - !ruby/object:Gem::Version
44
94
  version: '0'
45
95
  - !ruby/object:Gem::Dependency
46
- name: pdf-inspector
96
+ name: rspec
97
+ requirement: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ">="
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: rubocop
47
111
  requirement: !ruby/object:Gem::Requirement
48
112
  requirements:
49
113
  - - "~>"
50
114
  - !ruby/object:Gem::Version
51
- version: 1.1.0
115
+ version: '0.46'
52
116
  type: :development
53
117
  prerelease: false
54
118
  version_requirements: !ruby/object:Gem::Requirement
55
119
  requirements:
56
120
  - - "~>"
57
121
  - !ruby/object:Gem::Version
58
- version: 1.1.0
122
+ version: '0.46'
59
123
  - !ruby/object:Gem::Dependency
60
- name: rspec
124
+ name: rubocop-rspec
61
125
  requirement: !ruby/object:Gem::Requirement
62
126
  requirements:
63
- - - ">="
127
+ - - "~>"
64
128
  - !ruby/object:Gem::Version
65
- version: '0'
129
+ version: '1.9'
66
130
  type: :development
67
131
  prerelease: false
68
132
  version_requirements: !ruby/object:Gem::Requirement
69
133
  requirements:
70
- - - ">="
134
+ - - "~>"
71
135
  - !ruby/object:Gem::Version
72
- version: '0'
136
+ version: '1.9'
73
137
  - !ruby/object:Gem::Dependency
74
- name: rake
138
+ name: simplecov
75
139
  requirement: !ruby/object:Gem::Requirement
76
140
  requirements:
77
141
  - - ">="
@@ -121,16 +185,8 @@ files:
121
185
  - lib/pdf/core/renderer.rb
122
186
  - lib/pdf/core/stream.rb
123
187
  - lib/pdf/core/text.rb
188
+ - lib/pdf/core/utils.rb
124
189
  - pdf-core.gemspec
125
- - spec/decimal_rounding_spec.rb
126
- - spec/document_state_spec.rb
127
- - spec/filters_spec.rb
128
- - spec/name_tree_spec.rb
129
- - spec/object_store_spec.rb
130
- - spec/pdf_object_spec.rb
131
- - spec/reference_spec.rb
132
- - spec/spec_helper.rb
133
- - spec/stream_spec.rb
134
190
  homepage: http://prawn.majesticseacreature.com
135
191
  licenses:
136
192
  - PRAWN
@@ -153,9 +209,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
209
  version: 1.3.6
154
210
  requirements: []
155
211
  rubyforge_project: prawn
156
- rubygems_version: 2.4.5.1
212
+ rubygems_version: 2.6.10
157
213
  signing_key:
158
214
  specification_version: 4
159
215
  summary: PDF::Core is used by Prawn to render PDF documents
160
216
  test_files: []
161
- has_rdoc: