prawn 2.2.2 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/GPLv2 +20 -21
- data/Gemfile +2 -0
- data/Rakefile +10 -3
- data/lib/prawn.rb +9 -3
- data/lib/prawn/document.rb +40 -18
- data/lib/prawn/document/bounding_box.rb +9 -4
- data/lib/prawn/document/column_box.rb +2 -0
- data/lib/prawn/document/internals.rb +6 -4
- data/lib/prawn/document/span.rb +2 -0
- data/lib/prawn/encoding.rb +4 -1
- data/lib/prawn/errors.rb +2 -0
- data/lib/prawn/font.rb +34 -17
- data/lib/prawn/font_metric_cache.rb +8 -3
- data/lib/prawn/{font → fonts}/afm.rb +14 -7
- data/lib/prawn/{font → fonts}/dfont.rb +3 -1
- data/lib/prawn/fonts/otf.rb +11 -0
- data/lib/prawn/{font → fonts}/ttc.rb +3 -1
- data/lib/prawn/{font → fonts}/ttf.rb +23 -12
- data/lib/prawn/graphics.rb +24 -26
- data/lib/prawn/graphics/blend_mode.rb +2 -0
- data/lib/prawn/graphics/cap_style.rb +2 -0
- data/lib/prawn/graphics/color.rb +8 -3
- data/lib/prawn/graphics/dash.rb +3 -1
- data/lib/prawn/graphics/join_style.rb +2 -0
- data/lib/prawn/graphics/patterns.rb +7 -2
- data/lib/prawn/graphics/transformation.rb +5 -1
- data/lib/prawn/graphics/transparency.rb +2 -0
- data/lib/prawn/grid.rb +39 -38
- data/lib/prawn/image_handler.rb +2 -0
- data/lib/prawn/images.rb +21 -19
- data/lib/prawn/images/image.rb +2 -0
- data/lib/prawn/images/jpg.rb +2 -0
- data/lib/prawn/images/png.rb +9 -9
- data/lib/prawn/measurement_extensions.rb +2 -0
- data/lib/prawn/measurements.rb +5 -0
- data/lib/prawn/outline.rb +2 -0
- data/lib/prawn/repeater.rb +2 -0
- data/lib/prawn/security.rb +26 -24
- data/lib/prawn/security/arcfour.rb +2 -0
- data/lib/prawn/soft_mask.rb +3 -1
- data/lib/prawn/stamp.rb +4 -1
- data/lib/prawn/text.rb +14 -12
- data/lib/prawn/text/box.rb +3 -1
- data/lib/prawn/text/formatted.rb +2 -0
- data/lib/prawn/text/formatted/arranger.rb +12 -12
- data/lib/prawn/text/formatted/box.rb +23 -13
- data/lib/prawn/text/formatted/fragment.rb +2 -0
- data/lib/prawn/text/formatted/line_wrap.rb +10 -8
- data/lib/prawn/text/formatted/parser.rb +8 -10
- data/lib/prawn/text/formatted/wrap.rb +4 -2
- data/lib/prawn/transformation_stack.rb +5 -2
- data/lib/prawn/utilities.rb +2 -2
- data/lib/prawn/version.rb +3 -1
- data/lib/prawn/view.rb +15 -7
- data/manual/basic_concepts/adding_pages.rb +2 -0
- data/manual/basic_concepts/basic_concepts.rb +4 -2
- data/manual/basic_concepts/creation.rb +2 -0
- data/manual/basic_concepts/cursor.rb +2 -0
- data/manual/basic_concepts/measurement.rb +3 -1
- data/manual/basic_concepts/origin.rb +2 -0
- data/manual/basic_concepts/other_cursor_helpers.rb +2 -0
- data/manual/basic_concepts/view.rb +2 -0
- data/manual/bounding_box/bounding_box.rb +4 -2
- data/manual/bounding_box/bounds.rb +6 -4
- data/manual/bounding_box/canvas.rb +2 -0
- data/manual/bounding_box/creation.rb +2 -0
- data/manual/bounding_box/indentation.rb +2 -0
- data/manual/bounding_box/nesting.rb +2 -0
- data/manual/bounding_box/russian_boxes.rb +6 -4
- data/manual/bounding_box/stretchy.rb +2 -0
- data/manual/contents.rb +2 -0
- data/manual/cover.rb +10 -7
- data/manual/document_and_page_options/background.rb +2 -0
- data/manual/document_and_page_options/document_and_page_options.rb +4 -2
- data/manual/document_and_page_options/metadata.rb +2 -0
- data/manual/document_and_page_options/page_margins.rb +2 -0
- data/manual/document_and_page_options/page_size.rb +2 -0
- data/manual/document_and_page_options/print_scaling.rb +2 -0
- data/manual/example_helper.rb +5 -2
- data/manual/graphics/blend_mode.rb +6 -4
- data/manual/graphics/circle_and_ellipse.rb +2 -0
- data/manual/graphics/color.rb +2 -0
- data/manual/graphics/common_lines.rb +2 -0
- data/manual/graphics/fill_and_stroke.rb +2 -0
- data/manual/graphics/fill_rules.rb +2 -0
- data/manual/graphics/gradients.rb +2 -0
- data/manual/graphics/graphics.rb +4 -2
- data/manual/graphics/helper.rb +2 -0
- data/manual/graphics/line_width.rb +3 -0
- data/manual/graphics/lines_and_curves.rb +2 -0
- data/manual/graphics/polygon.rb +2 -0
- data/manual/graphics/rectangle.rb +2 -0
- data/manual/graphics/rotate.rb +2 -0
- data/manual/graphics/scale.rb +2 -0
- data/manual/graphics/soft_masks.rb +2 -0
- data/manual/graphics/stroke_cap.rb +3 -1
- data/manual/graphics/stroke_dash.rb +2 -0
- data/manual/graphics/stroke_join.rb +3 -1
- data/manual/graphics/translate.rb +2 -0
- data/manual/graphics/transparency.rb +2 -0
- data/manual/how_to_read_this_manual.rb +2 -0
- data/manual/images/absolute_position.rb +2 -0
- data/manual/images/fit.rb +2 -0
- data/manual/images/horizontal.rb +3 -1
- data/manual/images/images.rb +4 -2
- data/manual/images/plain_image.rb +2 -0
- data/manual/images/scale.rb +2 -0
- data/manual/images/vertical.rb +3 -1
- data/manual/images/width_and_height.rb +2 -0
- data/manual/layout/boxes.rb +2 -0
- data/manual/layout/content.rb +2 -0
- data/manual/layout/layout.rb +4 -2
- data/manual/layout/simple_grid.rb +2 -0
- data/manual/outline/add_subsection_to.rb +2 -0
- data/manual/outline/insert_section_after.rb +2 -0
- data/manual/outline/outline.rb +4 -2
- data/manual/outline/sections_and_pages.rb +2 -0
- data/manual/repeatable_content/alternate_page_numbering.rb +2 -0
- data/manual/repeatable_content/page_numbering.rb +2 -0
- data/manual/repeatable_content/repeatable_content.rb +4 -2
- data/manual/repeatable_content/repeater.rb +2 -0
- data/manual/repeatable_content/stamp.rb +2 -0
- data/manual/security/encryption.rb +2 -0
- data/manual/security/permissions.rb +2 -0
- data/manual/security/security.rb +4 -2
- data/manual/table.rb +2 -0
- data/manual/text/alignment.rb +2 -0
- data/manual/text/color.rb +2 -0
- data/manual/text/column_box.rb +4 -2
- data/manual/text/fallback_fonts.rb +4 -2
- data/manual/text/font.rb +2 -0
- data/manual/text/font_size.rb +2 -0
- data/manual/text/font_style.rb +4 -2
- data/manual/text/formatted_callbacks.rb +2 -0
- data/manual/text/formatted_text.rb +3 -1
- data/manual/text/free_flowing_text.rb +2 -0
- data/manual/text/inline.rb +2 -0
- data/manual/text/kerning_and_character_spacing.rb +2 -0
- data/manual/text/leading.rb +2 -0
- data/manual/text/line_wrapping.rb +4 -1
- data/manual/text/paragraph_indentation.rb +2 -0
- data/manual/text/positioned_text.rb +2 -0
- data/manual/text/registering_families.rb +4 -2
- data/manual/text/rendering_and_color.rb +2 -0
- data/manual/text/right_to_left_text.rb +2 -0
- data/manual/text/rotation.rb +3 -1
- data/manual/text/single_usage.rb +2 -0
- data/manual/text/text.rb +4 -3
- data/manual/text/text_box_excess.rb +2 -0
- data/manual/text/text_box_extensions.rb +2 -0
- data/manual/text/text_box_overflow.rb +3 -1
- data/manual/text/utf8.rb +3 -1
- data/manual/text/win_ansi_charset.rb +6 -3
- data/prawn.gemspec +14 -11
- data/spec/extensions/encoding_helpers.rb +4 -2
- data/spec/prawn/document/bounding_box_spec.rb +8 -8
- data/spec/prawn/document/column_box_spec.rb +2 -0
- data/spec/prawn/document/security_spec.rb +12 -9
- data/spec/prawn/document_annotations_spec.rb +2 -0
- data/spec/prawn/document_destinations_spec.rb +2 -0
- data/spec/prawn/document_grid_spec.rb +3 -0
- data/spec/prawn/document_reference_spec.rb +2 -0
- data/spec/prawn/document_span_spec.rb +2 -0
- data/spec/prawn/document_spec.rb +59 -14
- data/spec/prawn/font_metric_cache_spec.rb +2 -0
- data/spec/prawn/font_spec.rb +45 -16
- data/spec/prawn/graphics/blend_mode_spec.rb +4 -2
- data/spec/prawn/graphics/transparency_spec.rb +2 -0
- data/spec/prawn/graphics_spec.rb +40 -20
- data/spec/prawn/graphics_stroke_styles_spec.rb +2 -0
- data/spec/prawn/image_handler_spec.rb +2 -0
- data/spec/prawn/images/jpg_spec.rb +2 -0
- data/spec/prawn/images/png_spec.rb +2 -0
- data/spec/prawn/images_spec.rb +56 -2
- data/spec/prawn/measurements_extensions_spec.rb +2 -0
- data/spec/prawn/outline_spec.rb +6 -2
- data/spec/prawn/repeater_spec.rb +6 -4
- data/spec/prawn/soft_mask_spec.rb +2 -0
- data/spec/prawn/stamp_spec.rb +11 -7
- data/spec/prawn/text/box_spec.rb +26 -27
- data/spec/prawn/text/formatted/arranger_spec.rb +30 -28
- data/spec/prawn/text/formatted/box_spec.rb +78 -57
- data/spec/prawn/text/formatted/fragment_spec.rb +10 -8
- data/spec/prawn/text/formatted/line_wrap_spec.rb +8 -5
- data/spec/prawn/text/formatted/parser_spec.rb +32 -2
- data/spec/prawn/text_draw_text_spec.rb +5 -3
- data/spec/prawn/text_rendering_mode_spec.rb +7 -1
- data/spec/prawn/text_spacing_spec.rb +6 -4
- data/spec/prawn/text_spec.rb +9 -7
- data/spec/prawn/text_with_inline_formatting_spec.rb +3 -1
- data/spec/prawn/transformation_stack_spec.rb +2 -0
- data/spec/prawn/view_spec.rb +18 -0
- data/spec/{manual_spec.rb → prawn_manual_spec.rb} +6 -4
- data/spec/spec_helper.rb +9 -10
- metadata +86 -73
- metadata.gz.sig +4 -2
data/lib/prawn/utilities.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# utilities.rb : General-purpose utility classes which don't fit anywhere else
|
2
4
|
#
|
3
5
|
# Copyright August 2012, Alex Dowad. All Rights Reserved.
|
4
6
|
#
|
5
7
|
# This is free software. Please see the LICENSE and COPYING files for details.
|
6
8
|
|
7
|
-
require 'thread'
|
8
|
-
|
9
9
|
module Prawn
|
10
10
|
# Throughout the Prawn codebase, repeated calculations which can benefit from
|
11
11
|
# caching are made.
|
data/lib/prawn/version.rb
CHANGED
data/lib/prawn/view.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# prawn/view.rb : Implements a mixin for Prawn's DSL
|
2
4
|
#
|
3
5
|
# This is free software. Please see the LICENSE and COPYING files for details.
|
@@ -9,6 +11,12 @@ module Prawn
|
|
9
11
|
# class Greeter
|
10
12
|
# include Prawn::View
|
11
13
|
#
|
14
|
+
# # Optional override: allows you to set document options or even use
|
15
|
+
# # a custom document class
|
16
|
+
# def document
|
17
|
+
# @document ||= Prawn::Document.new(page_size: 'A4')
|
18
|
+
# end
|
19
|
+
#
|
12
20
|
# def initialize(name)
|
13
21
|
# @name = name
|
14
22
|
# end
|
@@ -61,14 +69,14 @@ module Prawn
|
|
61
69
|
|
62
70
|
# Delegates all unhandled calls to object returned by +document+ method.
|
63
71
|
# (which is an instance of Prawn::Document by default)
|
64
|
-
def method_missing(
|
65
|
-
return super unless document.respond_to?(
|
72
|
+
def method_missing(method_name, *arguments, &block)
|
73
|
+
return super unless document.respond_to?(method_name)
|
66
74
|
|
67
|
-
document.send(
|
75
|
+
document.send(method_name, *arguments, &block)
|
68
76
|
end
|
69
77
|
|
70
|
-
def respond_to_missing?
|
71
|
-
document.respond_to?(
|
78
|
+
def respond_to_missing?(method_name, _include_all = false)
|
79
|
+
document.respond_to?(method_name)
|
72
80
|
end
|
73
81
|
|
74
82
|
# Syntactic sugar that uses +instance_eval+ under the hood to provide
|
@@ -79,8 +87,8 @@ module Prawn
|
|
79
87
|
# say_goodbye
|
80
88
|
# end
|
81
89
|
#
|
82
|
-
def update(&
|
83
|
-
instance_eval(&
|
90
|
+
def update(&block)
|
91
|
+
instance_eval(&block)
|
84
92
|
end
|
85
93
|
|
86
94
|
# Syntatic sugar that calls +document.render_file+ under the hood.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Examples for Prawn basic concepts.
|
2
4
|
#
|
3
5
|
|
@@ -15,7 +17,7 @@ Prawn::ManualBuilder::Example.generate(filename, page_size: 'FOLIO') do
|
|
15
17
|
p.example 'view', eval_source: false, full_source: true
|
16
18
|
|
17
19
|
p.intro do
|
18
|
-
prose <<-
|
20
|
+
prose <<-TEXT
|
19
21
|
This chapter covers the minimum amount of functionality you'll need to
|
20
22
|
start using Prawn.
|
21
23
|
|
@@ -24,7 +26,7 @@ Prawn::ManualBuilder::Example.generate(filename, page_size: 'FOLIO') do
|
|
24
26
|
Basics section of the Graphics, Bounding Box and Text sections.
|
25
27
|
|
26
28
|
The examples show:
|
27
|
-
|
29
|
+
TEXT
|
28
30
|
|
29
31
|
list(
|
30
32
|
'How to create new pdf documents in every possible way',
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# We normally write our documents from top to bottom and it is no different with
|
2
4
|
# Prawn. Even if the origin is on the bottom left corner we still fill the page
|
3
5
|
# from the top to the bottom. In other words the cursor for inserting content
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# The base unit in Prawn is the PDF Point. One PDF Point is equal to 1/72 of
|
2
4
|
# an inch.
|
3
5
|
#
|
@@ -15,7 +17,7 @@ filename = File.basename(__FILE__).gsub('.rb', '.pdf')
|
|
15
17
|
Prawn::ManualBuilder::Example.generate(filename) do
|
16
18
|
require 'prawn/measurement_extensions'
|
17
19
|
|
18
|
-
[
|
20
|
+
%i[mm cm dm m in yd ft].each do |measurement|
|
19
21
|
text "1 #{measurement} in PDF Points: #{1.send(measurement)} pt"
|
20
22
|
move_down 5.mm
|
21
23
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Another group of helpers for changing the cursor position are the pad methods.
|
2
4
|
# They accept a numeric value and a block. <code>pad</code> will use the numeric
|
3
5
|
# value to move the cursor down both before and after the block content.
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Examples for bounding boxes.
|
2
4
|
|
3
5
|
require_relative '../example_helper'
|
@@ -19,13 +21,13 @@ Prawn::ManualBuilder::Example.generate(filename, page_size: 'FOLIO') do
|
|
19
21
|
end
|
20
22
|
|
21
23
|
p.intro do
|
22
|
-
prose <<-
|
24
|
+
prose <<-TEXT
|
23
25
|
Bounding boxes are the basic containers for structuring the content
|
24
26
|
flow. Even being low level building blocks sometimes their simplicity is
|
25
27
|
very welcome.
|
26
28
|
|
27
29
|
The examples show:
|
28
|
-
|
30
|
+
TEXT
|
29
31
|
|
30
32
|
list(
|
31
33
|
'How to create bounding boxes with specific dimensions',
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# The <code>bounds</code> method returns the current bounding box. This is
|
2
4
|
# useful because the <code>Prawn::BoundingBox</code> exposes some nice boundary
|
3
5
|
# helpers.
|
@@ -27,10 +29,10 @@ Prawn::ManualBuilder::Example.generate(filename) do
|
|
27
29
|
|
28
30
|
move_down 10
|
29
31
|
|
30
|
-
text "absolute top: #{
|
31
|
-
text "absolute bottom: #{
|
32
|
-
text "absolute left: #{
|
33
|
-
text "absolute right: #{
|
32
|
+
text "absolute top: #{bounds.absolute_top.to_f.round(2)}"
|
33
|
+
text "absolute bottom: #{bounds.absolute_bottom.to_f.round(2)}"
|
34
|
+
text "absolute left: #{bounds.absolute_left.to_f.round(2)}"
|
35
|
+
text "absolute right: #{bounds.absolute_right.to_f.round(2)}"
|
34
36
|
end
|
35
37
|
|
36
38
|
text 'Margin box bounds:'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# This example is mostly just for fun, and shows how nested bounding boxes
|
2
4
|
# can simplify calculations. See the "Bounding Box" section of the manual
|
3
5
|
# for more basic uses.
|
@@ -6,11 +8,11 @@ require_relative '../example_helper'
|
|
6
8
|
|
7
9
|
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
|
8
10
|
Prawn::ManualBuilder::Example.generate(filename) do
|
9
|
-
def combine(
|
11
|
+
def combine(horizontal_span, vertical_span)
|
10
12
|
output = []
|
11
|
-
|
12
|
-
|
13
|
-
output += [[
|
13
|
+
horizontal_span.each do |x|
|
14
|
+
vertical_span.each do |y|
|
15
|
+
output += [[x, y]]
|
14
16
|
end
|
15
17
|
end
|
16
18
|
output
|
data/manual/contents.rb
CHANGED
data/manual/cover.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Prawn manual how to read this manual page.
|
2
4
|
|
3
5
|
require_relative 'example_helper'
|
@@ -20,14 +22,15 @@ Prawn::ManualBuilder::Example.generate(filename) do
|
|
20
22
|
at: [170, cursor - 160]
|
21
23
|
)
|
22
24
|
|
23
|
-
if Dir.exist?("#{Prawn::BASEDIR}/.git")
|
24
|
-
commit = `git show --pretty=%h`
|
25
|
-
git_commit = "git commit: #{commit.lines.first}"
|
26
|
-
else
|
27
|
-
git_commit = ''
|
28
|
-
end
|
29
|
-
|
30
25
|
unless ENV['CI']
|
26
|
+
git_commit =
|
27
|
+
if Dir.exist?("#{Prawn::BASEDIR}/.git")
|
28
|
+
commit = `git show --pretty=%h`
|
29
|
+
"git commit: #{commit.lines.first}"
|
30
|
+
else
|
31
|
+
''
|
32
|
+
end
|
33
|
+
|
31
34
|
formatted_text_box(
|
32
35
|
[{
|
33
36
|
text: "Last Update: #{Time.now.strftime('%Y-%m-%d')}\n" \
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Examples for stamps and repeaters.
|
2
4
|
|
3
5
|
require_relative '../example_helper'
|
@@ -12,14 +14,14 @@ Prawn::ManualBuilder::Example.generate(filename, page_size: 'FOLIO') do
|
|
12
14
|
p.example 'print_scaling', eval_source: false, full_source: true
|
13
15
|
|
14
16
|
p.intro do
|
15
|
-
prose <<-
|
17
|
+
prose <<-TEXT
|
16
18
|
So far we've already seen how to create new documents and start new
|
17
19
|
pages. This chapter expands on the previous examples by showing other
|
18
20
|
options avialable. Some of the options are only available when creating
|
19
21
|
new documents.
|
20
22
|
|
21
23
|
The examples show:
|
22
|
-
|
24
|
+
TEXT
|
23
25
|
|
24
26
|
list(
|
25
27
|
'How to configure page size',
|
data/manual/example_helper.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.unshift File.join(__dir__, '../lib')
|
4
|
+
require 'prawn'
|
2
5
|
require 'prawn/manual_builder'
|
3
6
|
|
4
7
|
Prawn::ManualBuilder.manual_dir = File.dirname(__FILE__)
|
5
|
-
Prawn::
|
8
|
+
Prawn::Fonts::AFM.hide_m17n_warning = true
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Blend modes can be used to change the way two layers (images, graphics,
|
2
4
|
# text, etc.) are blended together. The <code>blend_mode</code> method
|
3
5
|
# accepts a single blend mode or an array of blend modes. PDF viewers should
|
@@ -19,10 +21,10 @@ Prawn::ManualBuilder::Example.generate(filename) do
|
|
19
21
|
# https://commons.wikimedia.org/wiki/File:Blend_modes_1.-top-layer.jpg#/media/File:Blend_modes_1.-top-layer.jpg
|
20
22
|
top_layer = "#{Prawn::DATADIR}/images/blend_modes_top_layer.jpg"
|
21
23
|
|
22
|
-
blend_modes = [
|
23
|
-
|
24
|
-
|
25
|
-
|
24
|
+
blend_modes = %i[
|
25
|
+
Normal Multiply Screen Overlay Darken Lighten ColorDodge
|
26
|
+
ColorBurn HardLight SoftLight Difference Exclusion Hue
|
27
|
+
Saturation Color Luminosity
|
26
28
|
]
|
27
29
|
blend_modes.each_with_index do |blend_mode, index|
|
28
30
|
x = index % 4 * 135
|
data/manual/graphics/color.rb
CHANGED
data/manual/graphics/graphics.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Examples for the Graphics package.
|
2
4
|
|
3
5
|
require_relative '../example_helper'
|
@@ -38,7 +40,7 @@ Prawn::ManualBuilder::Example.generate(filename, page_size: 'FOLIO') do
|
|
38
40
|
end
|
39
41
|
|
40
42
|
p.intro do
|
41
|
-
prose <<-
|
43
|
+
prose <<-TEXT
|
42
44
|
Here we show all the drawing methods provided by Prawn. Use them to draw
|
43
45
|
the most beautiful imaginable things.
|
44
46
|
|
@@ -48,7 +50,7 @@ Prawn::ManualBuilder::Example.generate(filename, page_size: 'FOLIO') do
|
|
48
50
|
least read the basic examples.
|
49
51
|
|
50
52
|
The examples show:
|
51
|
-
|
53
|
+
TEXT
|
52
54
|
|
53
55
|
list(
|
54
56
|
'All the possible ways that you can fill or stroke shapes on a page',
|