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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -0
- data/Rakefile +9 -5
- data/lib/pdf/core.rb +20 -19
- data/lib/pdf/core/annotations.rb +16 -17
- data/lib/pdf/core/byte_string.rb +1 -1
- data/lib/pdf/core/destinations.rb +17 -14
- data/lib/pdf/core/document_state.rb +21 -16
- data/lib/pdf/core/filter_list.rb +4 -4
- data/lib/pdf/core/filters.rb +4 -4
- data/lib/pdf/core/graphics_state.rb +15 -19
- data/lib/pdf/core/name_tree.rb +44 -40
- data/lib/pdf/core/object_store.rb +13 -18
- data/lib/pdf/core/outline_item.rb +11 -6
- data/lib/pdf/core/outline_root.rb +1 -1
- data/lib/pdf/core/page.rb +93 -64
- data/lib/pdf/core/page_geometry.rb +52 -56
- data/lib/pdf/core/pdf_object.rb +41 -41
- data/lib/pdf/core/reference.rb +12 -17
- data/lib/pdf/core/renderer.rb +41 -32
- data/lib/pdf/core/stream.rb +6 -8
- data/lib/pdf/core/text.rb +83 -47
- data/lib/pdf/core/utils.rb +12 -0
- data/pdf-core.gemspec +33 -20
- metadata +79 -24
- metadata.gz.sig +0 -0
- data/spec/decimal_rounding_spec.rb +0 -12
- data/spec/document_state_spec.rb +0 -30
- data/spec/filters_spec.rb +0 -34
- data/spec/name_tree_spec.rb +0 -122
- data/spec/object_store_spec.rb +0 -49
- data/spec/pdf_object_spec.rb +0 -172
- data/spec/reference_spec.rb +0 -62
- data/spec/spec_helper.rb +0 -32
- data/spec/stream_spec.rb +0 -59
data/lib/pdf/core/stream.rb
CHANGED
@@ -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
|
-
|
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
|
-
:
|
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'
|
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
|
data/lib/pdf/core/text.rb
CHANGED
@@ -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 = {
|
16
|
-
|
17
|
-
|
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
|
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
|
27
|
-
font(font.family, :
|
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
|
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
|
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(
|
53
|
-
# pdf.text(
|
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
|
-
|
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(
|
69
|
-
# pdf.text(
|
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
|
-
|
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(
|
91
|
-
# pdf.text(
|
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
|
-
|
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[
|
125
|
-
# :normal => { :file => file, :font =>
|
128
|
+
# font_families['Kai'] = {
|
129
|
+
# :normal => { :file => file, :font => 'Kai' }
|
126
130
|
# }
|
127
131
|
# file = "#{Prawn::DATADIR}/fonts/Action Man.dfont"
|
128
|
-
# font_families[
|
129
|
-
# :normal => { :file => file, :font =>
|
132
|
+
# font_families['Action Man'] = {
|
133
|
+
# :normal => { :file => file, :font => 'ActionMan' },
|
130
134
|
# }
|
131
|
-
# fallback_fonts [
|
132
|
-
# font
|
133
|
-
# text
|
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
|
-
|
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(
|
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
|
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
|
-
|
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,
|
184
|
+
raise ArgumentError,
|
185
|
+
"mode must be between one of #{MODES.keys.join(', ')} (#{mode})"
|
178
186
|
end
|
179
|
-
original_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
|
-
|
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 = [
|
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) ?
|
251
|
-
add_content PDF::Core
|
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"
|
data/pdf-core.gemspec
CHANGED
@@ -1,29 +1,42 @@
|
|
1
1
|
Gem::Specification.new do |spec|
|
2
|
-
spec.name =
|
3
|
-
spec.version =
|
2
|
+
spec.name = 'pdf-core'
|
3
|
+
spec.version = '0.7.0'
|
4
4
|
spec.platform = Gem::Platform::RUBY
|
5
|
-
spec.summary =
|
6
|
-
spec.files = Dir.glob(
|
7
|
-
[
|
8
|
-
[
|
9
|
-
[
|
10
|
-
spec.require_path =
|
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 =
|
12
|
+
spec.required_rubygems_version = '>= 1.3.6'
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
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 = [
|
19
|
-
|
20
|
-
|
21
|
-
|
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.
|
28
|
-
spec.
|
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.
|
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
|
-
|
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:
|
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:
|
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:
|
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:
|
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: '
|
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: '
|
136
|
+
version: '1.9'
|
73
137
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
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.
|
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:
|