pdf-core 0.5.1 → 0.9.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.
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  # prawn/core/stream.rb : Implements Stream objects
4
4
  #
@@ -18,7 +18,7 @@ module PDF
18
18
  end
19
19
 
20
20
  def <<(io)
21
- (@stream ||= '') << io
21
+ (@stream ||= +'') << io
22
22
  @filtered_stream = nil
23
23
  self
24
24
  end
@@ -44,7 +44,8 @@ module PDF
44
44
  @filtered_stream = @stream.dup
45
45
 
46
46
  @filters.each do |(filter_name, params)|
47
- if filter = PDF::Core::Filters.const_get(filter_name)
47
+ filter = PDF::Core::Filters.const_get(filter_name)
48
+ if filter
48
49
  @filtered_stream = filter.encode @filtered_stream, params
49
50
  end
50
51
  end
@@ -52,8 +53,6 @@ module PDF
52
53
 
53
54
  @filtered_stream
54
55
  # XXX Fillter stream
55
- else
56
- nil
57
56
  end
58
57
  end
59
58
 
@@ -75,12 +74,12 @@ module PDF
75
74
  filter_params = @filters.decode_params
76
75
 
77
76
  d = {
78
- :Length => filtered_stream.length
77
+ Length: filtered_stream.length
79
78
  }
80
79
  if filter_names.any?
81
80
  d[:Filter] = filter_names
82
81
  end
83
- if filter_params.any? {|f| !f.nil? }
82
+ if filter_params.any? { |f| !f.nil? }
84
83
  d[:DecodeParms] = filter_params
85
84
  end
86
85
 
@@ -91,7 +90,14 @@ module PDF
91
90
  end
92
91
 
93
92
  def inspect
94
- "#<#{self.class.name}:0x#{'%014x' % object_id} @stream=#{@stream.inspect}, @filters=#{@filters.inspect}>"
93
+ format(
94
+ '#<%<class>s:0x%<object_id>014x '\
95
+ '@stream=%<stream>s, @filters=%<filters>s>',
96
+ class: self.class.name,
97
+ object_id: object_id,
98
+ stream: @stream.inspect,
99
+ filters: @filters.inspect
100
+ )
95
101
  end
96
102
  end
97
103
  end
@@ -1,4 +1,4 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  # prawn/core/text.rb : Implements low level text helpers for Prawn
4
4
  #
@@ -11,20 +11,34 @@ module PDF
11
11
  module Text #:nodoc:
12
12
  # These should be used as a base. Extensions may build on this list
13
13
  #
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 }
14
+ VALID_OPTIONS = %i[kerning size style].freeze
15
+ MODES = {
16
+ fill: 0,
17
+ stroke: 1,
18
+ fill_stroke: 2,
19
+ invisible: 3,
20
+ fill_clip: 4,
21
+ stroke_clip: 5,
22
+ fill_stroke_clip: 6,
23
+ clip: 7
24
+ }.freeze
25
+
26
+ class BadFontFamily < StandardError
27
+ def initialize(message = 'Bad font family')
28
+ super
29
+ end
30
+ end
18
31
 
19
32
  attr_reader :skip_encoding
20
33
 
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
34
+ # Low level call to set the current font style and extract text options
35
+ # from an options hash. Should be called from within a save_font block
23
36
  #
24
37
  def process_text_options(options)
25
38
  if options[:style]
26
- raise "Bad font family" unless font.family
27
- font(font.family, :style => options[:style])
39
+ raise BadFontFamily unless font.family
40
+
41
+ font(font.family, style: options[:style])
28
42
  end
29
43
 
30
44
  # must compare against false to keep kerning on as default
@@ -40,23 +54,24 @@ module PDF
40
54
  # Defaults to true
41
55
  #
42
56
  def default_kerning?
43
- return true if !defined?(@default_kerning)
57
+ return true unless defined?(@default_kerning)
58
+
44
59
  @default_kerning
45
60
  end
46
61
 
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
62
+ # Call with a boolean to set the document-wide kerning setting. This can
63
+ # be overridden using the :kerning text option when drawing text or a text
49
64
  # box.
50
65
  #
51
66
  # pdf.default_kerning = false
52
- # pdf.text("hello world") # text is not kerned
53
- # pdf.text("hello world", :kerning => true) # text is kerned
67
+ # pdf.text('hello world') # text is not kerned
68
+ # pdf.text('hello world', :kerning => true) # text is kerned
54
69
  #
55
70
  def default_kerning(boolean)
56
71
  @default_kerning = boolean
57
72
  end
58
73
 
59
- alias_method :default_kerning=, :default_kerning
74
+ alias default_kerning= default_kerning
60
75
 
61
76
  # Call with no argument to retrieve the current default leading.
62
77
  #
@@ -65,12 +80,12 @@ module PDF
65
80
  # box.
66
81
  #
67
82
  # 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
83
+ # pdf.text('hello world') # a leading of 7 is used
84
+ # pdf.text('hello world', :leading => 0) # a leading of 0 is used
70
85
  #
71
86
  # Defaults to 0
72
87
  #
73
- def default_leading(number=nil)
88
+ def default_leading(number = nil)
74
89
  if number.nil?
75
90
  defined?(@default_leading) && @default_leading || 0
76
91
  else
@@ -78,7 +93,7 @@ module PDF
78
93
  end
79
94
  end
80
95
 
81
- alias_method :default_leading=, :default_leading
96
+ alias default_leading= default_leading
82
97
 
83
98
  # Call with no argument to retrieve the current text direction.
84
99
  #
@@ -87,8 +102,8 @@ module PDF
87
102
  # box.
88
103
  #
89
104
  # pdf.text_direction = :rtl
90
- # pdf.text("hello world") # prints "dlrow olleh"
91
- # pdf.text("hello world", :direction => :ltr) # prints "hello world"
105
+ # pdf.text('hello world') # prints 'dlrow olleh'
106
+ # pdf.text('hello world', :direction => :ltr) # prints 'hello world'
92
107
  #
93
108
  # Valid directions are:
94
109
  #
@@ -100,7 +115,7 @@ module PDF
100
115
  # * When printing left-to-right, the default text alignment is :left
101
116
  # * When printing right-to-left, the default text alignment is :right
102
117
  #
103
- def text_direction(direction=nil)
118
+ def text_direction(direction = nil)
104
119
  if direction.nil?
105
120
  defined?(@text_direction) && @text_direction || :ltr
106
121
  else
@@ -108,7 +123,7 @@ module PDF
108
123
  end
109
124
  end
110
125
 
111
- alias_method :text_direction=, :text_direction
126
+ alias text_direction= text_direction
112
127
 
113
128
  # Call with no argument to retrieve the current fallback fonts.
114
129
  #
@@ -121,16 +136,16 @@ module PDF
121
136
  # Call with an empty array to turn off fallback fonts
122
137
  #
123
138
  # file = "#{Prawn::DATADIR}/fonts/gkai00mp.ttf"
124
- # font_families["Kai"] = {
125
- # :normal => { :file => file, :font => "Kai" }
139
+ # font_families['Kai'] = {
140
+ # :normal => { :file => file, :font => 'Kai' }
126
141
  # }
127
142
  # file = "#{Prawn::DATADIR}/fonts/Action Man.dfont"
128
- # font_families["Action Man"] = {
129
- # :normal => { :file => file, :font => "ActionMan" },
143
+ # font_families['Action Man'] = {
144
+ # :normal => { :file => file, :font => 'ActionMan' },
130
145
  # }
131
- # fallback_fonts ["Times-Roman", "Kai"]
132
- # font "Action Man"
133
- # text "hello ƒ 你好"
146
+ # fallback_fonts ['Times-Roman', 'Kai']
147
+ # font 'Action Man'
148
+ # text 'hello ƒ 你好'
134
149
  # > hello prints in Action Man
135
150
  # > ƒ prints in Times-Roman
136
151
  # > 你好 prints in Kai
@@ -142,7 +157,7 @@ module PDF
142
157
  # * Increased overhead when fallback fonts are declared as each glyph is
143
158
  # checked to see whether it exists in the current font
144
159
  #
145
- def fallback_fonts(fallback_fonts=nil)
160
+ def fallback_fonts(fallback_fonts = nil)
146
161
  if fallback_fonts.nil?
147
162
  defined?(@fallback_fonts) && @fallback_fonts || []
148
163
  else
@@ -150,7 +165,7 @@ module PDF
150
165
  end
151
166
  end
152
167
 
153
- alias_method :fallback_fonts=, :fallback_fonts
168
+ alias fallback_fonts= fallback_fonts
154
169
 
155
170
  # Call with no argument to retrieve the current text rendering mode.
156
171
  #
@@ -158,7 +173,7 @@ module PDF
158
173
  # text rendering mode.
159
174
  #
160
175
  # pdf.text_rendering_mode(:stroke) do
161
- # pdf.text("Outlined Text")
176
+ # pdf.text('Outlined Text')
162
177
  # end
163
178
  #
164
179
  # Valid modes are:
@@ -169,14 +184,19 @@ module PDF
169
184
  # * :invisible - invisible text
170
185
  # * :fill_clip - fill text then add to path for clipping
171
186
  # * :stroke_clip - stroke text then add to path for clipping
172
- # * :fill_stroke_clip - fill then stroke text, then add to path for clipping
187
+ # * :fill_stroke_clip - fill then stroke text, then add to path for
188
+ # clipping
173
189
  # * :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?
190
+ def text_rendering_mode(mode = nil)
191
+ if mode.nil?
192
+ return defined?(@text_rendering_mode) && @text_rendering_mode || :fill
193
+ end
194
+
176
195
  unless MODES.key?(mode)
177
- raise ArgumentError, "mode must be between one of #{MODES.keys.join(', ')} (#{mode})"
196
+ raise ArgumentError,
197
+ "mode must be between one of #{MODES.keys.join(', ')} (#{mode})"
178
198
  end
179
- original_mode = self.text_rendering_mode
199
+ original_mode = text_rendering_mode
180
200
 
181
201
  if original_mode == mode
182
202
  yield
@@ -197,8 +217,11 @@ module PDF
197
217
  # For horizontal text, a positive value will increase the space.
198
218
  # For veritical text, a positive value will decrease the space.
199
219
  #
200
- def character_spacing(amount=nil)
201
- return defined?(@character_spacing) && @character_spacing || 0 if amount.nil?
220
+ def character_spacing(amount = nil)
221
+ if amount.nil?
222
+ return defined?(@character_spacing) && @character_spacing || 0
223
+ end
224
+
202
225
  original_character_spacing = character_spacing
203
226
  if original_character_spacing == amount
204
227
  yield
@@ -215,8 +238,9 @@ module PDF
215
238
  # For horizontal text, a positive value will increase the space.
216
239
  # For veritical text, a positive value will decrease the space.
217
240
  #
218
- def word_spacing(amount=nil)
241
+ def word_spacing(amount = nil)
219
242
  return defined?(@word_spacing) && @word_spacing || 0 if amount.nil?
243
+
220
244
  original_word_spacing = word_spacing
221
245
  if original_word_spacing == amount
222
246
  yield
@@ -230,25 +254,54 @@ module PDF
230
254
  end
231
255
  end
232
256
 
257
+ # Set the horizontal scaling. amount is a number specifying the
258
+ # percentage of the normal width.
259
+ def horizontal_text_scaling(amount = nil)
260
+ if amount.nil?
261
+ return defined?(@horizontal_text_scaling) && @horizontal_text_scaling || 100
262
+ end
263
+
264
+ original_horizontal_text_scaling = horizontal_text_scaling
265
+ if original_horizontal_text_scaling == amount
266
+ yield
267
+ else
268
+ @horizontal_text_scaling = amount
269
+ add_content "\n#{PDF::Core.real(amount)} Tz"
270
+ yield
271
+ add_content "\n#{PDF::Core.real(original_horizontal_text_scaling)} Tz"
272
+ @horizontal_text_scaling = original_horizontal_text_scaling
273
+ end
274
+ end
275
+
233
276
  def add_text_content(text, x, y, options)
234
- chunks = font.encode_text(text,options)
277
+ chunks = font.encode_text(text, options)
235
278
 
236
279
  add_content "\nBT"
237
280
 
238
281
  if options[:rotate]
239
282
  rad = options[:rotate].to_f * Math::PI / 180
240
- array = [ Math.cos(rad), Math.sin(rad), -Math.sin(rad), Math.cos(rad), x, y ]
283
+ array = [
284
+ Math.cos(rad),
285
+ Math.sin(rad),
286
+ -Math.sin(rad),
287
+ Math.cos(rad),
288
+ x, y
289
+ ]
241
290
  add_content "#{PDF::Core.real_params(array)} Tm"
242
291
  else
243
- add_content "#{PDF::Core.real_params([x,y])} Td"
292
+ add_content "#{PDF::Core.real_params([x, y])} Td"
244
293
  end
245
294
 
246
295
  chunks.each do |(subset, string)|
247
296
  font.add_to_current_page(subset)
248
- add_content "/#{font.identifier_for(subset)} #{font_size} Tf"
297
+ add_content [
298
+ PDF::Core.pdf_object(font.identifier_for(subset), true),
299
+ PDF::Core.pdf_object(font_size, true),
300
+ 'Tf'
301
+ ].join(' ')
249
302
 
250
- operation = options[:kerning] && string.is_a?(Array) ? "TJ" : "Tj"
251
- add_content PDF::Core::PdfObject(string, true) << " " << operation
303
+ operation = options[:kerning] && string.is_a?(Array) ? 'TJ' : 'Tj'
304
+ add_content "#{PDF::Core.pdf_object(string, true)} #{operation}"
252
305
  end
253
306
 
254
307
  add_content "ET\n"
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PDF
4
+ module Core
5
+ module Utils
6
+ module_function
7
+
8
+ def deep_clone(object)
9
+ Marshal.load(Marshal.dump(object))
10
+ end
11
+ end
12
+ end
13
+ end
@@ -1,29 +1,44 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Gem::Specification.new do |spec|
2
- spec.name = "pdf-core"
3
- spec.version = File.read(File.expand_path('VERSION', File.dirname(__FILE__))).strip
4
+ spec.name = 'pdf-core'
5
+ spec.version = '0.9.0'
4
6
  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"
11
- spec.required_ruby_version = '>= 1.9.3'
12
- spec.required_rubygems_version = ">= 1.3.6"
7
+ spec.summary = 'PDF::Core is used by Prawn to render PDF documents'
8
+ spec.files =
9
+ Dir.glob('lib/**/**/*') +
10
+ %w[COPYING GPLv2 GPLv3 LICENSE] +
11
+ %w[Gemfile Rakefile] +
12
+ ['pdf-core.gemspec']
13
+ spec.require_path = 'lib'
14
+ spec.required_ruby_version = '>= 2.5'
15
+ spec.required_rubygems_version = '>= 1.3.6'
16
+
17
+ spec.cert_chain = ['certs/pointlessone.pem']
18
+ if $PROGRAM_NAME.end_with? 'gem'
19
+ spec.signing_key = File.expand_path('~/.gem/gem-private_key.pem')
20
+ end
13
21
 
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' <<
22
+ # spec.extra_rdoc_files = %w{README.md LICENSE COPYING GPLv2 GPLv3}
23
+ # spec.rdoc_options << '--title' << 'Prawn Documentation' <<
17
24
  # '--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 = ['RUBY', 'GPL-2', 'GPL-3']
22
- spec.add_development_dependency('pdf-reader', '~>1.2')
23
- spec.add_development_dependency('simplecov')
25
+ spec.authors = [
26
+ 'Gregory Brown', 'Brad Ediger', 'Daniel Nelson', 'Jonathan Greenberg',
27
+ 'James Healy'
28
+ ]
29
+ spec.email = [
30
+ 'gregory.t.brown@gmail.com', 'brad@bradediger.com', 'dnelson@bluejade.com',
31
+ 'greenberg@entryway.net', 'jimmy@deefa.com'
32
+ ]
33
+ spec.licenses = %w[PRAWN GPL-2.0 GPL-3.0]
24
34
  spec.add_development_dependency('pdf-inspector', '~> 1.1.0')
25
- spec.add_development_dependency('rspec')
35
+ spec.add_development_dependency('pdf-reader', '~>1.2')
26
36
  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"
37
+ spec.add_development_dependency('rspec')
38
+ spec.add_development_dependency('rubocop', '~> 0.93')
39
+ spec.add_development_dependency('rubocop-performance', '~> 1.8')
40
+ spec.add_development_dependency('rubocop-rspec', '~> 1.44')
41
+ spec.add_development_dependency('simplecov')
42
+ spec.homepage = 'http://prawnpdf.org'
43
+ spec.description = 'PDF::Core is used by Prawn to render PDF documents'
29
44
  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.5.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Brown
@@ -11,9 +11,44 @@ authors:
11
11
  - James Healy
12
12
  autorequire:
13
13
  bindir: bin
14
- cert_chain: []
15
- date: 2015-03-12 00:00:00.000000000 Z
14
+ cert_chain:
15
+ - |
16
+ -----BEGIN CERTIFICATE-----
17
+ MIIDODCCAiCgAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQDDBhhbGV4
18
+ L0RDPXBvaW50bGVzcy9EQz1vbmUwHhcNMjAwODAxMTQxMjE1WhcNMjEwODAxMTQx
19
+ MjE1WjAjMSEwHwYDVQQDDBhhbGV4L0RDPXBvaW50bGVzcy9EQz1vbmUwggEiMA0G
20
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPOVLPGEK+eaP6zJfifrpWvPTg4qo3
21
+ XNJJPom80SwqX2hVCVsRDK4RYgKUQqKRQzHhlx14wZHwWLETBVbNDGX3uqyCnTWU
22
+ JUKh3ydiZShXpNHoV/NW7hhEYvNsDcBAjYTmbvXOhuYCo0Tz/0N2Oiun/0wIICtP
23
+ vytY9TY0/lklWjAbsqJjNOu3o8IYkJBAN/rU96E/6WhFwjnxLcTnV9RfFRXdjG5j
24
+ CughoB2xSwKX8gwbQ8fsnaZRmdyDGYNpz6sGF0zycfiLkTttbLA2nYATCALy98CH
25
+ nsyZNsTjb4WINCuY2yEDjwesw9f/ROkNC68EgQ5M+aMjp+D0WcYGfzojAgMBAAGj
26
+ dzB1MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRPgIwSVbeonua/
27
+ Ny/8576oxdUbrjAdBgNVHREEFjAUgRJhbGV4QHBvaW50bGVzcy5vbmUwHQYDVR0S
28
+ BBYwFIESYWxleEBwb2ludGxlc3Mub25lMA0GCSqGSIb3DQEBCwUAA4IBAQAzhGxF
29
+ M0bXJ9GWD9vdVHOyzBQBJcJAvnsz2yV3+r4eJBsQynFIscsea8lHFL/d1eHYP0mN
30
+ k0fhK+WDcPlrj0Sn/Ezhk2qogTIekwDOK6pZkGRQzD45leJqQMnYd+/TXK3ri485
31
+ Gi4oJ6NitnnUT59SQnjD5JcENfc0EcRzclmVRFE8W4O+ORgo4Dypq1rwYUzxeyUk
32
+ mP5jNBWtH+hGUph28GQb0Hph6YnQb8zEFB88Xq80PK1SzkIPHpbTBk9mwPf6ypeX
33
+ Un1TJEahAlgENVml6CyDXSwk0H8N1V3gm1mb9Fe1T2Z/kAzvjo0qTDEtMVLU7Bxh
34
+ uqMUrdETjTnRYCVq
35
+ -----END CERTIFICATE-----
36
+ date: 2020-10-24 00:00:00.000000000 Z
16
37
  dependencies:
38
+ - !ruby/object:Gem::Dependency
39
+ name: pdf-inspector
40
+ requirement: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - "~>"
43
+ - !ruby/object:Gem::Version
44
+ version: 1.1.0
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: 1.1.0
17
52
  - !ruby/object:Gem::Dependency
18
53
  name: pdf-reader
19
54
  requirement: !ruby/object:Gem::Requirement
@@ -29,7 +64,7 @@ dependencies:
29
64
  - !ruby/object:Gem::Version
30
65
  version: '1.2'
31
66
  - !ruby/object:Gem::Dependency
32
- name: simplecov
67
+ name: rake
33
68
  requirement: !ruby/object:Gem::Requirement
34
69
  requirements:
35
70
  - - ">="
@@ -43,35 +78,63 @@ dependencies:
43
78
  - !ruby/object:Gem::Version
44
79
  version: '0'
45
80
  - !ruby/object:Gem::Dependency
46
- name: pdf-inspector
81
+ name: rspec
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rubocop
47
96
  requirement: !ruby/object:Gem::Requirement
48
97
  requirements:
49
98
  - - "~>"
50
99
  - !ruby/object:Gem::Version
51
- version: 1.1.0
100
+ version: '0.93'
52
101
  type: :development
53
102
  prerelease: false
54
103
  version_requirements: !ruby/object:Gem::Requirement
55
104
  requirements:
56
105
  - - "~>"
57
106
  - !ruby/object:Gem::Version
58
- version: 1.1.0
107
+ version: '0.93'
59
108
  - !ruby/object:Gem::Dependency
60
- name: rspec
109
+ name: rubocop-performance
61
110
  requirement: !ruby/object:Gem::Requirement
62
111
  requirements:
63
- - - ">="
112
+ - - "~>"
64
113
  - !ruby/object:Gem::Version
65
- version: '0'
114
+ version: '1.8'
66
115
  type: :development
67
116
  prerelease: false
68
117
  version_requirements: !ruby/object:Gem::Requirement
69
118
  requirements:
70
- - - ">="
119
+ - - "~>"
71
120
  - !ruby/object:Gem::Version
72
- version: '0'
121
+ version: '1.8'
73
122
  - !ruby/object:Gem::Dependency
74
- name: rake
123
+ name: rubocop-rspec
124
+ requirement: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - "~>"
127
+ - !ruby/object:Gem::Version
128
+ version: '1.44'
129
+ type: :development
130
+ prerelease: false
131
+ version_requirements: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: '1.44'
136
+ - !ruby/object:Gem::Dependency
137
+ name: simplecov
75
138
  requirement: !ruby/object:Gem::Requirement
76
139
  requirements:
77
140
  - - ">="
@@ -121,20 +184,13 @@ files:
121
184
  - lib/pdf/core/renderer.rb
122
185
  - lib/pdf/core/stream.rb
123
186
  - lib/pdf/core/text.rb
187
+ - lib/pdf/core/utils.rb
124
188
  - pdf-core.gemspec
125
- - spec/decimal_rounding_spec.rb
126
- - spec/filters_spec.rb
127
- - spec/name_tree_spec.rb
128
- - spec/object_store_spec.rb
129
- - spec/pdf_object_spec.rb
130
- - spec/reference_spec.rb
131
- - spec/spec_helper.rb
132
- - spec/stream_spec.rb
133
- homepage: http://prawn.majesticseacreature.com
189
+ homepage: http://prawnpdf.org
134
190
  licenses:
135
- - RUBY
136
- - GPL-2
137
- - GPL-3
191
+ - PRAWN
192
+ - GPL-2.0
193
+ - GPL-3.0
138
194
  metadata: {}
139
195
  post_install_message:
140
196
  rdoc_options: []
@@ -144,17 +200,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
200
  requirements:
145
201
  - - ">="
146
202
  - !ruby/object:Gem::Version
147
- version: 1.9.3
203
+ version: '2.5'
148
204
  required_rubygems_version: !ruby/object:Gem::Requirement
149
205
  requirements:
150
206
  - - ">="
151
207
  - !ruby/object:Gem::Version
152
208
  version: 1.3.6
153
209
  requirements: []
154
- rubyforge_project: prawn
155
- rubygems_version: 2.2.2
210
+ rubygems_version: 3.0.3
156
211
  signing_key:
157
212
  specification_version: 4
158
213
  summary: PDF::Core is used by Prawn to render PDF documents
159
214
  test_files: []
160
- has_rdoc: