Module: Prawn::Text::Formatted
- Included in:
- Prawn::Text
- Defined in:
- lib/prawn/text/formatted/box.rb,
lib/prawn/text/formatted/parser.rb,
lib/prawn/text/formatted/fragment.rb
Defined Under Namespace
Classes: Box, Fragment, Parser
Instance Method Summary collapse
-
#formatted_text_box(array, options) ⇒ Object
Draws the requested formatted text into a box.
Instance Method Details
#formatted_text_box(array, options) ⇒ Object
Draws the requested formatted text into a box. When the text overflows the rectangle shrink to fit or truncate the text. Text boxes are independent of the document y position.
Formatted Text Array
Formatted text is comprised of an array of hashes, where each hash defines text and format information. As of the time of writing, the following hash options are supported:
:text
-
the text to format according to the other hash options
:styles
-
an array of styles to apply to this text. Available styles include :bold, :italic, :underline, :strikethrough, :subscript, and :superscript
:size
-
a number denoting the font size to apply to this text
:character_spacing
-
a number denoting how much to increase or decrease the default spacing between characters
:font
-
the name of a font. The name must be an AFM font with the desired faces or must be a font that is already registered using Prawn::Document#font_families
:color
-
anything compatible with Prawn::Graphics::Color#fill_color and Prawn::Graphics::Color#stroke_color
:link
-
a URL to which to create a link. A clickable link will be created to that URL. Note that you must explicitly underline and color using the appropriate tags if you which to draw attention to the link
:anchor
-
a destination that has already been or will be registered using Prawn::Core::Destinations#add_dest. A clickable link will be created to that destination. Note that you must explicitly underline and color using the appropriate tags if you which to draw attention to the link
:callback
-
an object (or array of such objects) with two methods: #render_behind and #render_in_front, which are called immediately prior to and immediately after rendring the text fragment and which are passed the fragment as an argument
Example
formatted_text_box([{ :text => "hello" },
{ :text => "world",
:size => 24,
:styles => [:bold, :italic] }])
Options
Accepts the same options as Text::Box with the below exceptions
:overflow
-
does not accept :ellipses
Returns
Returns a formatted text array representing any text that did not print under the current settings.
Exceptions
Raises “Bad font family” if no font family is defined for the current font
Raises Prawn::Errrors::CannotFit
if not wide enough to print any text
Raises NotImplementedError
if :ellipses
overflow
option included
87 88 89 |
# File 'lib/prawn/text/formatted/box.rb', line 87 def formatted_text_box(array, ) Text::Formatted::Box.new(array, .merge(:document => self)).render end |