Class: Prawn::Icon
- Inherits:
-
Object
- Object
- Prawn::Icon
- Defined in:
- lib/prawn/icon.rb,
lib/prawn/icon/parser.rb,
lib/prawn/icon/version.rb,
lib/prawn/icon/font_data.rb
Overview
Easy icon font usage within Prawn. Currently supported icon fonts include: FontAwesome, Zurb Foundicons, and GitHub Octicons.
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::FONTDIR/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.
Defined Under Namespace
Modules: Interface Classes: FontData, Parser
Constant Summary collapse
- FONTDIR =
File.join \ File.('../../..', __FILE__), 'fonts'
- VERSION =
'0.5.1'.freeze
Instance Attribute Summary collapse
-
#set ⇒ Object
readonly
Returns the value of attribute set.
-
#unicode ⇒ Object
readonly
Returns the value of attribute unicode.
Instance Method Summary collapse
-
#initialize(key, document, opts = {}) ⇒ Icon
constructor
A new instance of Icon.
- #render ⇒ Object
Constructor Details
#initialize(key, document, opts = {}) ⇒ Icon
Returns a new instance of Icon.
131 132 133 134 135 136 137 138 139 |
# File 'lib/prawn/icon.rb', line 131 def initialize(key, document, opts = {}) @pdf = document @set = opts[:set] || FontData.specifier_from_key(key) @data = FontData.load(document, @set) @key = strip_specifier_from_key(key) @unicode = @data.unicode(@key) @options = opts end |
Instance Attribute Details
#set ⇒ Object (readonly)
Returns the value of attribute set.
129 130 131 |
# File 'lib/prawn/icon.rb', line 129 def set @set end |
#unicode ⇒ Object (readonly)
Returns the value of attribute unicode.
129 130 131 |
# File 'lib/prawn/icon.rb', line 129 def unicode @unicode end |
Instance Method Details
#render ⇒ Object
141 142 143 144 145 |
# File 'lib/prawn/icon.rb', line 141 def render @pdf.font(@data.path) do @pdf.text @unicode, @options end end |