pdf-core 0.6.1 → 0.7.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.
- 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:
|