class Prawn::Icon

Easy icon font usage within Prawn. Currently supported icon fonts include: FontAwesome, Zurb Foundicons and PaymentFont.

Icon Keys

Icon keys must be supplied to most Prawn::Icon methods. Keys map directly to a unicode character within the font that produces a given icon. As a rule, included icon keys should match the keys from the font provider. The icon key mapping is specified in the font’s legend_file, which is a YAML file located in {Prawn::Icon.configuration.font_directory}/font/font.yml.

Prawn::Icon

Houses the methods and interfaces necessary for rendering icons to the Prawn::Document.

Prawn::Icon::FontData

Used to store various information about an icon font, including the key-to-unicode mapping information. Also houses methods to cache and lazily load the requested font data on a document basis.

Prawn::Icon::Parser

Used to initially parse icons that are used with the inline_format: true option. The input string is parsed once for <icon></icon> tags, then the output is provided to Prawn’s internal formatted text parser.

Constants

FONTDIR

@deprecated Use {Prawn::Icon.configuration.font_directory} instead

VERSION

Attributes

configuration[W]
set[R]
unicode[R]

Public Class Methods

configuration() click to toggle source
# File lib/prawn/icon/base.rb, line 17
def configuration
  @configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/prawn/icon/base.rb, line 21
def configure
  yield(configuration)
end
new(key, document, opts = {}) click to toggle source
# File lib/prawn/icon/interface.rb, line 209
def initialize(key, document, opts = {})
  @pdf     = document
  @set     = opts.fetch(:set) { FontData.specifier_from_key(key) }
  @data    = FontData.load(document, @set)
  @key     = strip_specifier_from_key(key)
  @unicode = @data.unicode(@key)
  @options = opts
end

Public Instance Methods

format_hash() click to toggle source
# File lib/prawn/icon/interface.rb, line 218
def format_hash
  base = { font: @set.to_s, content: @unicode }
  opts = @options.dup
  # Prawn::Table renames :color to :text_color
  opts[:text_color] = opts.delete(:color)
  base.merge(opts)
end
render() click to toggle source
# File lib/prawn/icon/interface.rb, line 226
def render
  @pdf.font(@data.path) do
    @pdf.text @unicode, @options
  end
end