prawn 1.1.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -0
- data/lib/prawn.rb +2 -2
- data/lib/prawn/text/box.rb +2 -0
- data/lib/prawn/text/formatted/box.rb +46 -21
- data/lib/prawn/text/formatted/line_wrap.rb +8 -2
- data/lib/prawn/text/formatted/wrap.rb +3 -1
- data/manual/contents.rb +1 -1
- data/manual/example_helper.rb +0 -1
- data/manual/table.rb +16 -0
- data/manual/text/text_box_overflow.rb +4 -0
- data/prawn.gemspec +2 -3
- data/spec/formatted_text_box_spec.rb +22 -0
- data/spec/line_wrap_spec.rb +4 -0
- data/spec/text_box_spec.rb +28 -0
- data/spec/text_spec.rb +19 -0
- metadata +6 -50
- data/lib/prawn/table.rb +0 -644
- data/lib/prawn/table/cell.rb +0 -772
- data/lib/prawn/table/cell/image.rb +0 -69
- data/lib/prawn/table/cell/in_table.rb +0 -33
- data/lib/prawn/table/cell/span_dummy.rb +0 -93
- data/lib/prawn/table/cell/subtable.rb +0 -66
- data/lib/prawn/table/cell/text.rb +0 -154
- data/lib/prawn/table/cells.rb +0 -255
- data/lib/prawn/table/column_width_calculator.rb +0 -182
- data/manual/table/basic_block.rb +0 -53
- data/manual/table/before_rendering_page.rb +0 -26
- data/manual/table/cell_border_lines.rb +0 -24
- data/manual/table/cell_borders_and_bg.rb +0 -31
- data/manual/table/cell_dimensions.rb +0 -30
- data/manual/table/cell_text.rb +0 -38
- data/manual/table/column_widths.rb +0 -30
- data/manual/table/content_and_subtables.rb +0 -39
- data/manual/table/creation.rb +0 -27
- data/manual/table/filtering.rb +0 -36
- data/manual/table/flow_and_header.rb +0 -17
- data/manual/table/image_cells.rb +0 -33
- data/manual/table/position.rb +0 -29
- data/manual/table/row_colors.rb +0 -20
- data/manual/table/span.rb +0 -30
- data/manual/table/style.rb +0 -22
- data/manual/table/table.rb +0 -52
- data/manual/table/width.rb +0 -27
- data/spec/cell_spec.rb +0 -629
- data/spec/table/span_dummy_spec.rb +0 -17
- data/spec/table_spec.rb +0 -1527
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4853225e17270cdd3f00813349b44209903ab6b2
|
4
|
+
data.tar.gz: 9ef5c9cf24f812537776b41b3503a87aa9fe52b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cef52ab9b8e81515a1314f63bbb6ee27d8ed2fd8d0832def46e4a49b40296eedc633c5f05b3689ea5fae33905e42747ac2ac5a6e00d434528caa9e7f171a113f
|
7
|
+
data.tar.gz: 6dca2892f00d9c7b11d2124e09b17d11d82f5f50e0f0fbe76befba7cc263a02fc33946736f70c90c3ba456bba1151aa48c2df5fc42c1f066550323dda600fb14
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.2.1
|
data/lib/prawn.rb
CHANGED
@@ -9,8 +9,6 @@ require 'ttfunk'
|
|
9
9
|
require "pdf/core"
|
10
10
|
|
11
11
|
module Prawn
|
12
|
-
VERSION = "1.1.0"
|
13
|
-
|
14
12
|
extend self
|
15
13
|
|
16
14
|
file = __FILE__
|
@@ -23,6 +21,8 @@ module Prawn
|
|
23
21
|
BASEDIR = File.expand_path(File.join(dir, '..'))
|
24
22
|
DATADIR = File.expand_path(File.join(dir, '..', 'data'))
|
25
23
|
|
24
|
+
VERSION = File.read("#{BASEDIR}/VERSION").strip
|
25
|
+
|
26
26
|
FLOAT_PRECISION = 1.0e-9
|
27
27
|
|
28
28
|
# Whe set to true, Prawn will verify hash options to ensure only valid keys
|
data/lib/prawn/text/box.rb
CHANGED
@@ -40,6 +40,8 @@ module Prawn
|
|
40
40
|
# <tt>:character_spacing</tt>:: <tt>number</tt>. The amount of space to add
|
41
41
|
# to or remove from the default character
|
42
42
|
# spacing. [0]
|
43
|
+
# <tt>:disable_wrap_by_char</tt>:: <tt>boolean</tt> Whether
|
44
|
+
# or not to prevent mid-word breaks when text does not fit in box. [false]
|
43
45
|
# <tt>:mode</tt>:: <tt>symbol</tt>. The text rendering mode. See
|
44
46
|
# documentation for Prawn::Document#text_rendering_mode
|
45
47
|
# for a list of valid options. [:fill]
|
@@ -144,6 +144,7 @@ module Prawn
|
|
144
144
|
self.class.extensions.reverse_each { |e| extend e }
|
145
145
|
|
146
146
|
@overflow = options[:overflow] || :truncate
|
147
|
+
@disable_wrap_by_char = options[:disable_wrap_by_char]
|
147
148
|
|
148
149
|
self.original_text = formatted_text
|
149
150
|
@text = nil
|
@@ -211,11 +212,7 @@ module Prawn
|
|
211
212
|
@document.text_rendering_mode(@mode) do
|
212
213
|
process_options
|
213
214
|
|
214
|
-
|
215
|
-
text = original_text
|
216
|
-
else
|
217
|
-
text = normalize_encoding
|
218
|
-
end
|
215
|
+
text = normalized_text(flags)
|
219
216
|
|
220
217
|
@document.font_size(@font_size) do
|
221
218
|
shrink_to_fit(text) if @overflow == :shrink_to_fit
|
@@ -335,6 +332,7 @@ module Prawn
|
|
335
332
|
:align, :valign,
|
336
333
|
:rotate, :rotate_around,
|
337
334
|
:overflow, :min_font_size,
|
335
|
+
:disable_wrap_by_char,
|
338
336
|
:leading, :character_spacing,
|
339
337
|
:mode, :single_line,
|
340
338
|
:skip_encoding,
|
@@ -346,6 +344,18 @@ module Prawn
|
|
346
344
|
|
347
345
|
private
|
348
346
|
|
347
|
+
def normalized_text(flags)
|
348
|
+
if @skip_encoding
|
349
|
+
text = original_text
|
350
|
+
else
|
351
|
+
text = normalize_encoding
|
352
|
+
end
|
353
|
+
|
354
|
+
text.each { |t| t.delete(:color) } if flags[:dry_run]
|
355
|
+
|
356
|
+
text
|
357
|
+
end
|
358
|
+
|
349
359
|
def original_text
|
350
360
|
@original_array.collect { |hash| hash.dup }
|
351
361
|
end
|
@@ -390,33 +400,37 @@ module Prawn
|
|
390
400
|
|
391
401
|
original_font = @document.font.family
|
392
402
|
fragment_font = hash[:font] || original_font
|
393
|
-
@document.font(fragment_font)
|
394
403
|
|
395
404
|
fallback_fonts = @fallback_fonts.dup
|
396
405
|
# always default back to the current font if the glyph is missing from
|
397
406
|
# all fonts
|
398
407
|
fallback_fonts << fragment_font
|
399
408
|
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
409
|
+
@document.save_font do
|
410
|
+
hash[:text].each_char do |char|
|
411
|
+
font_glyph_pairs << [find_font_for_this_glyph(char,
|
412
|
+
fragment_font,
|
413
|
+
fallback_fonts.dup),
|
414
|
+
char]
|
415
|
+
end
|
406
416
|
end
|
407
417
|
|
408
|
-
|
418
|
+
# Don't add a :font to fragments if it wasn't there originally
|
419
|
+
if hash[:font].nil?
|
420
|
+
font_glyph_pairs.each do |pair|
|
421
|
+
pair[0] = nil if pair[0] == original_font
|
422
|
+
end
|
423
|
+
end
|
409
424
|
|
410
425
|
form_fragments_from_like_font_glyph_pairs(font_glyph_pairs, hash)
|
411
426
|
end
|
412
427
|
|
413
428
|
def find_font_for_this_glyph(char, current_font, fallback_fonts)
|
429
|
+
@document.font(current_font)
|
414
430
|
if fallback_fonts.length == 0 || @document.font.glyph_present?(char)
|
415
431
|
current_font
|
416
432
|
else
|
417
|
-
|
418
|
-
@document.font(current_font)
|
419
|
-
find_font_for_this_glyph(char, @document.font.family, fallback_fonts)
|
433
|
+
find_font_for_this_glyph(char, fallback_fonts.shift, fallback_fonts)
|
420
434
|
end
|
421
435
|
end
|
422
436
|
|
@@ -426,11 +440,11 @@ module Prawn
|
|
426
440
|
current_font = nil
|
427
441
|
|
428
442
|
font_glyph_pairs.each do |font, char|
|
429
|
-
if font != current_font
|
443
|
+
if font != current_font || fragments.count == 0
|
430
444
|
current_font = font
|
431
445
|
fragment = hash.dup
|
432
446
|
fragment[:text] = char
|
433
|
-
fragment[:font] = font
|
447
|
+
fragment[:font] = font unless font.nil?
|
434
448
|
fragments << fragment
|
435
449
|
else
|
436
450
|
fragment[:text] += char
|
@@ -484,11 +498,22 @@ module Prawn
|
|
484
498
|
# Decrease the font size until the text fits or the min font
|
485
499
|
# size is reached
|
486
500
|
def shrink_to_fit(text)
|
487
|
-
|
488
|
-
|
501
|
+
loop do
|
502
|
+
if @disable_wrap_by_char && @font_size > @min_font_size
|
503
|
+
begin
|
504
|
+
wrap(text)
|
505
|
+
rescue Errors::CannotFit
|
506
|
+
# Ignore errors while we can still attempt smaller
|
507
|
+
# font sizes.
|
508
|
+
end
|
509
|
+
else
|
510
|
+
wrap(text)
|
511
|
+
end
|
512
|
+
|
513
|
+
break if @everything_printed || @font_size <= @min_font_size
|
514
|
+
|
489
515
|
@font_size = [@font_size - 0.5, @min_font_size].max
|
490
516
|
@document.font_size = @font_size
|
491
|
-
wrap(text)
|
492
517
|
end
|
493
518
|
end
|
494
519
|
|
@@ -29,6 +29,10 @@ module Prawn
|
|
29
29
|
@newline_encountered || is_next_string_newline? || @arranger.finished?
|
30
30
|
end
|
31
31
|
|
32
|
+
def tokenize(fragment)
|
33
|
+
fragment.scan(scan_pattern)
|
34
|
+
end
|
35
|
+
|
32
36
|
# Work in conjunction with the PDF::Formatted::Arranger
|
33
37
|
# defined in the :arranger option to determine what formatted text
|
34
38
|
# will fit within the width defined by the :width option
|
@@ -89,7 +93,7 @@ module Prawn
|
|
89
93
|
@newline_encountered = true
|
90
94
|
false
|
91
95
|
else
|
92
|
-
fragment
|
96
|
+
tokenize(fragment).each do |segment|
|
93
97
|
if segment == zero_width_space
|
94
98
|
segment_width = 0
|
95
99
|
else
|
@@ -160,6 +164,8 @@ module Prawn
|
|
160
164
|
@kerning = options[:kerning]
|
161
165
|
@width = options[:width]
|
162
166
|
|
167
|
+
@disable_wrap_by_char = options[:disable_wrap_by_char]
|
168
|
+
|
163
169
|
@accumulated_width = 0
|
164
170
|
@line_empty = true
|
165
171
|
@line_contains_more_than_one_word = false
|
@@ -237,7 +243,7 @@ module Prawn
|
|
237
243
|
|
238
244
|
def end_of_the_line_reached(segment)
|
239
245
|
update_line_status_based_on_last_output
|
240
|
-
wrap_by_char(segment) unless @line_contains_more_than_one_word
|
246
|
+
wrap_by_char(segment) unless @disable_wrap_by_char || @line_contains_more_than_one_word
|
241
247
|
@line_full = true
|
242
248
|
end
|
243
249
|
|
@@ -20,6 +20,7 @@ module Prawn
|
|
20
20
|
@line_wrap = Prawn::Text::Formatted::LineWrap.new
|
21
21
|
@arranger = Prawn::Text::Formatted::Arranger.new(@document,
|
22
22
|
:kerning => options[:kerning])
|
23
|
+
@disable_wrap_by_char = options[:disable_wrap_by_char]
|
23
24
|
end
|
24
25
|
|
25
26
|
|
@@ -54,7 +55,8 @@ module Prawn
|
|
54
55
|
@line_wrap.wrap_line(:document => @document,
|
55
56
|
:kerning => @kerning,
|
56
57
|
:width => available_width,
|
57
|
-
:arranger => @arranger
|
58
|
+
:arranger => @arranger,
|
59
|
+
:disable_wrap_by_char => @disable_wrap_by_char)
|
58
60
|
|
59
61
|
if enough_height_for_this_line?
|
60
62
|
move_baseline_down
|
data/manual/contents.rb
CHANGED
@@ -20,8 +20,8 @@ Prawn::ManualBuilder::Example.generate("manual.pdf",
|
|
20
20
|
|
21
21
|
# Remaining chapters
|
22
22
|
load_package "layout"
|
23
|
+
load_page "", "table"
|
23
24
|
load_package "images"
|
24
|
-
load_package "table"
|
25
25
|
load_package "document_and_page_options"
|
26
26
|
load_package "outline"
|
27
27
|
load_package "repeatable_content"
|
data/manual/example_helper.rb
CHANGED
data/manual/table.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require_relative "example_helper"
|
4
|
+
|
5
|
+
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
|
6
|
+
|
7
|
+
Prawn::ManualBuilder::Example.generate(filename) do
|
8
|
+
header("Prawn::Table")
|
9
|
+
|
10
|
+
prose <<-END_TEXT
|
11
|
+
As of Prawn 1.2.0, Prawn::Table has been extracted into its own
|
12
|
+
semi-officially supported gem.
|
13
|
+
|
14
|
+
Please see https://github.com/prawnpdf/prawn-table for more details.
|
15
|
+
END_TEXT
|
16
|
+
end
|
@@ -12,6 +12,10 @@
|
|
12
12
|
# <code>:min_font_size</code> option set. The font size will not be reduced to
|
13
13
|
# less than the value provided even if it means truncating some text.
|
14
14
|
#
|
15
|
+
# If the <code>:disable_wrap_by_char</code> is set to <code>true</code>
|
16
|
+
# then any text wrapping done while using the <code>:shrink_to_fit</code>
|
17
|
+
# mode will not break up the middle of words.
|
18
|
+
#
|
15
19
|
require File.expand_path(File.join(File.dirname(__FILE__),
|
16
20
|
%w[.. example_helper]))
|
17
21
|
|
data/prawn.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
["data/shift_jis_text.txt"] +
|
10
10
|
["Rakefile", "prawn.gemspec", "Gemfile",
|
11
11
|
"COPYING", "LICENSE", "GPLv2", "GPLv3",
|
12
|
-
".yardopts"]
|
12
|
+
"VERSION", ".yardopts"]
|
13
13
|
spec.require_path = "lib"
|
14
14
|
spec.required_ruby_version = '>= 1.9.3'
|
15
15
|
spec.required_rubygems_version = ">= 1.3.6"
|
@@ -24,13 +24,12 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_dependency('pdf-core', "~> 0.2.5")
|
25
25
|
|
26
26
|
spec.add_development_dependency('pdf-inspector', '~> 1.1.0')
|
27
|
-
spec.add_development_dependency('coderay', '~> 1.0.7')
|
28
27
|
spec.add_development_dependency('yard')
|
29
28
|
spec.add_development_dependency('rspec', '2.14.1')
|
30
29
|
spec.add_development_dependency('mocha')
|
31
30
|
spec.add_development_dependency('rake')
|
32
31
|
spec.add_development_dependency('simplecov')
|
33
|
-
spec.add_development_dependency('prawn-manual_builder', ">= 0.
|
32
|
+
spec.add_development_dependency('prawn-manual_builder', ">= 0.2.0")
|
34
33
|
spec.add_development_dependency('pdf-reader', '~>1.2')
|
35
34
|
spec.add_development_dependency('rubocop', '0.20.1')
|
36
35
|
|
@@ -555,6 +555,28 @@ describe "Text::Formatted::Box#render" do
|
|
555
555
|
end
|
556
556
|
end
|
557
557
|
|
558
|
+
describe "Text::Formatted::Box#render(:dry_run => true)" do
|
559
|
+
it "should not change the graphics state of the document" do
|
560
|
+
create_pdf
|
561
|
+
|
562
|
+
state_before = PDF::Inspector::Graphics::Color.analyze(@pdf.render)
|
563
|
+
fill_color_count = state_before.fill_color_count
|
564
|
+
stroke_color_count = state_before.stroke_color_count
|
565
|
+
stroke_color_space_count = state_before.stroke_color_space_count
|
566
|
+
|
567
|
+
array = [{ :text => 'Foo',
|
568
|
+
:color => [0, 0, 0, 100] }]
|
569
|
+
options = { :document => @pdf }
|
570
|
+
text_box = Prawn::Text::Formatted::Box.new(array, options)
|
571
|
+
text_box.render(:dry_run => true)
|
572
|
+
|
573
|
+
state_after = PDF::Inspector::Graphics::Color.analyze(@pdf.render)
|
574
|
+
state_after.fill_color_count.should == fill_color_count
|
575
|
+
state_after.stroke_color_count.should == stroke_color_count
|
576
|
+
state_after.stroke_color_space_count.should == stroke_color_space_count
|
577
|
+
end
|
578
|
+
end
|
579
|
+
|
558
580
|
describe "Text::Formatted::Box#render with fragment level :character_spacing option" do
|
559
581
|
it "should draw the character spacing to the document" do
|
560
582
|
create_pdf
|
data/spec/line_wrap_spec.rb
CHANGED
@@ -291,6 +291,10 @@ describe "Core::Text::Formatted::LineWrap" do
|
|
291
291
|
:document => @pdf)
|
292
292
|
line.should be_empty
|
293
293
|
end
|
294
|
+
it "should tokenize a string using the scan_pattern" do
|
295
|
+
tokens = @line_wrap.tokenize("one two three")
|
296
|
+
tokens.length.should == 6
|
297
|
+
end
|
294
298
|
end
|
295
299
|
|
296
300
|
describe "Core::Text::Formatted::LineWrap#paragraph_finished?" do
|
data/spec/text_box_spec.rb
CHANGED
@@ -1011,6 +1011,34 @@ describe "Text::Box wrapping" do
|
|
1011
1011
|
|
1012
1012
|
first_line(results_with_accent).length.should == first_line(results_without_accent).length
|
1013
1013
|
end
|
1014
|
+
|
1015
|
+
it "should allow you to disable wrapping by char" do
|
1016
|
+
text = "You_cannot_wrap_this_text_at_all_because_we_are_disabling_wrapping_by_char_and_there_are_no_word_breaks"
|
1017
|
+
|
1018
|
+
@pdf.font "Courier"
|
1019
|
+
text_box = Prawn::Text::Box.new(text,
|
1020
|
+
:width => 180,
|
1021
|
+
:overflow => :shrink_to_fit,
|
1022
|
+
:disable_wrap_by_char => true,
|
1023
|
+
:document => @pdf)
|
1024
|
+
expect { text_box.render }.to raise_error(Prawn::Errors::CannotFit)
|
1025
|
+
end
|
1026
|
+
|
1027
|
+
it "should retain full words with :shrink_to_fit if char wrapping is disabled" do
|
1028
|
+
text = "Wrapped_words"
|
1029
|
+
expect = "Wrapped_words"
|
1030
|
+
|
1031
|
+
@pdf.font "Courier"
|
1032
|
+
text_box = Prawn::Text::Box.new(text,
|
1033
|
+
:width => 50,
|
1034
|
+
:height => 50,
|
1035
|
+
:size => 50,
|
1036
|
+
:overflow => :shrink_to_fit,
|
1037
|
+
:disable_wrap_by_char => true,
|
1038
|
+
:document => @pdf)
|
1039
|
+
text_box.render
|
1040
|
+
text_box.text.should == expect
|
1041
|
+
end
|
1014
1042
|
end
|
1015
1043
|
|
1016
1044
|
describe "Text::Box#render with :mode option" do
|
data/spec/text_spec.rb
CHANGED
@@ -434,4 +434,23 @@ describe "#text" do
|
|
434
434
|
})
|
435
435
|
pdf.fallback_fonts = ["dejavu"]
|
436
436
|
end
|
437
|
+
|
438
|
+
describe "fallback_fonts" do
|
439
|
+
it "should preserve font style" do
|
440
|
+
create_pdf
|
441
|
+
|
442
|
+
@pdf.fallback_fonts ["Helvetica"]
|
443
|
+
@pdf.font "Times-Roman", :style => :italic do
|
444
|
+
@pdf.text "hello"
|
445
|
+
end
|
446
|
+
|
447
|
+
text = PDF::Inspector::Text.analyze(@pdf.render)
|
448
|
+
fonts_used = text.font_settings.map { |e| e[:name] }
|
449
|
+
|
450
|
+
fonts_used.length.should == 1
|
451
|
+
fonts_used[0].should == :"Times-Italic"
|
452
|
+
text.strings[0].should == "hello"
|
453
|
+
end
|
454
|
+
end
|
455
|
+
|
437
456
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prawn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregory Brown
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-
|
15
|
+
date: 2014-07-27 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: ttfunk
|
@@ -56,20 +56,6 @@ dependencies:
|
|
56
56
|
- - "~>"
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
version: 1.1.0
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: coderay
|
61
|
-
requirement: !ruby/object:Gem::Requirement
|
62
|
-
requirements:
|
63
|
-
- - "~>"
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: 1.0.7
|
66
|
-
type: :development
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: !ruby/object:Gem::Requirement
|
69
|
-
requirements:
|
70
|
-
- - "~>"
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: 1.0.7
|
73
59
|
- !ruby/object:Gem::Dependency
|
74
60
|
name: yard
|
75
61
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,14 +132,14 @@ dependencies:
|
|
146
132
|
requirements:
|
147
133
|
- - ">="
|
148
134
|
- !ruby/object:Gem::Version
|
149
|
-
version: 0.
|
135
|
+
version: 0.2.0
|
150
136
|
type: :development
|
151
137
|
prerelease: false
|
152
138
|
version_requirements: !ruby/object:Gem::Requirement
|
153
139
|
requirements:
|
154
140
|
- - ">="
|
155
141
|
- !ruby/object:Gem::Version
|
156
|
-
version: 0.
|
142
|
+
version: 0.2.0
|
157
143
|
- !ruby/object:Gem::Dependency
|
158
144
|
name: pdf-reader
|
159
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -201,6 +187,7 @@ files:
|
|
201
187
|
- Gemfile
|
202
188
|
- LICENSE
|
203
189
|
- Rakefile
|
190
|
+
- VERSION
|
204
191
|
- data/encodings/win_ansi.txt
|
205
192
|
- data/fonts/Courier-Bold.afm
|
206
193
|
- data/fonts/Courier-BoldOblique.afm
|
@@ -293,15 +280,6 @@ files:
|
|
293
280
|
- lib/prawn/security/arcfour.rb
|
294
281
|
- lib/prawn/soft_mask.rb
|
295
282
|
- lib/prawn/stamp.rb
|
296
|
-
- lib/prawn/table.rb
|
297
|
-
- lib/prawn/table/cell.rb
|
298
|
-
- lib/prawn/table/cell/image.rb
|
299
|
-
- lib/prawn/table/cell/in_table.rb
|
300
|
-
- lib/prawn/table/cell/span_dummy.rb
|
301
|
-
- lib/prawn/table/cell/subtable.rb
|
302
|
-
- lib/prawn/table/cell/text.rb
|
303
|
-
- lib/prawn/table/cells.rb
|
304
|
-
- lib/prawn/table/column_width_calculator.rb
|
305
283
|
- lib/prawn/text.rb
|
306
284
|
- lib/prawn/text/box.rb
|
307
285
|
- lib/prawn/text/formatted.rb
|
@@ -381,24 +359,7 @@ files:
|
|
381
359
|
- manual/security/encryption.rb
|
382
360
|
- manual/security/permissions.rb
|
383
361
|
- manual/security/security.rb
|
384
|
-
- manual/table
|
385
|
-
- manual/table/before_rendering_page.rb
|
386
|
-
- manual/table/cell_border_lines.rb
|
387
|
-
- manual/table/cell_borders_and_bg.rb
|
388
|
-
- manual/table/cell_dimensions.rb
|
389
|
-
- manual/table/cell_text.rb
|
390
|
-
- manual/table/column_widths.rb
|
391
|
-
- manual/table/content_and_subtables.rb
|
392
|
-
- manual/table/creation.rb
|
393
|
-
- manual/table/filtering.rb
|
394
|
-
- manual/table/flow_and_header.rb
|
395
|
-
- manual/table/image_cells.rb
|
396
|
-
- manual/table/position.rb
|
397
|
-
- manual/table/row_colors.rb
|
398
|
-
- manual/table/span.rb
|
399
|
-
- manual/table/style.rb
|
400
|
-
- manual/table/table.rb
|
401
|
-
- manual/table/width.rb
|
362
|
+
- manual/table.rb
|
402
363
|
- manual/text/alignment.rb
|
403
364
|
- manual/text/color.rb
|
404
365
|
- manual/text/column_box.rb
|
@@ -430,7 +391,6 @@ files:
|
|
430
391
|
- spec/acceptance/png.rb
|
431
392
|
- spec/annotations_spec.rb
|
432
393
|
- spec/bounding_box_spec.rb
|
433
|
-
- spec/cell_spec.rb
|
434
394
|
- spec/column_box_spec.rb
|
435
395
|
- spec/data/curves.pdf
|
436
396
|
- spec/destinations_spec.rb
|
@@ -460,8 +420,6 @@ files:
|
|
460
420
|
- spec/spec_helper.rb
|
461
421
|
- spec/stamp_spec.rb
|
462
422
|
- spec/stroke_styles_spec.rb
|
463
|
-
- spec/table/span_dummy_spec.rb
|
464
|
-
- spec/table_spec.rb
|
465
423
|
- spec/text_at_spec.rb
|
466
424
|
- spec/text_box_spec.rb
|
467
425
|
- spec/text_rendering_mode_spec.rb
|
@@ -511,7 +469,6 @@ summary: A fast and nimble PDF generator for Ruby
|
|
511
469
|
test_files:
|
512
470
|
- spec/annotations_spec.rb
|
513
471
|
- spec/bounding_box_spec.rb
|
514
|
-
- spec/cell_spec.rb
|
515
472
|
- spec/column_box_spec.rb
|
516
473
|
- spec/destinations_spec.rb
|
517
474
|
- spec/document_spec.rb
|
@@ -537,7 +494,6 @@ test_files:
|
|
537
494
|
- spec/span_spec.rb
|
538
495
|
- spec/stamp_spec.rb
|
539
496
|
- spec/stroke_styles_spec.rb
|
540
|
-
- spec/table_spec.rb
|
541
497
|
- spec/text_at_spec.rb
|
542
498
|
- spec/text_box_spec.rb
|
543
499
|
- spec/text_rendering_mode_spec.rb
|