Skip to content

Releases: jessedoyle/prawn-icon

3.1.0

02 Sep 05:02
e76a293
Compare
Choose a tag to compare
  • Update our CI matrix to include recent versions of Prawn and Ruby! Thanks @petergoldstein! (#55)
  • Resolve a few code smells that were flagged by Rubocop.
  • Material Design Icons are now supported! Currently version 7.0.96 is included. Thanks @maneex! (#59)
  • Memoize calls to Prawn::Icon::FontData#path to improve performance.

Material Design Icons

All Material Design Icons use the font prefix of mdi. That means that you're able to reference an icon as follows:

require 'prawn/icon'

Prawn::Document.generate('icons.pdf') do |pdf|
  pdf.icon 'mdi-beer', size: 60
end

3.0.0

11 Nov 06:46
49c26ad
Compare
Choose a tag to compare
  • breaking change - Fix incorrect layout and line-wrapping logic for inline-formatted icons. Please see Inline Format Changes for more details.
  • Add a #formatted_icon_box method to retain the previous inline icon behaviour.
  • Allow #formatted_icon_box to accept absolute positioning parameters (x, y, and at). Thanks @navinspm!
  • Update fontawesome from version 5.11.2 to 5.15.1.
  • See FontAwesome's upgrade guide for more details.
  • Introduce a configuration mechanism so that the font directory can be customized as follows:
Prawn::Icon.configure do |config|
  config.font_directory = '/path/to/fonts'
end
  • Deprecate the global variables of Prawn::Icon::Base::FONTDIR and Prawn::Icon::Compatibility::SHIMS. Use Prawn::Icon.configuration.font_directory and Prawn::Icon::Compatibility.shims instead.
  • Use Gem::Specification#full_gem_path to get the root path of the gem directory to resolve #45.

Inline Format Changes

As noted in #49, Prawn::Icon did not correctly respect page boundaries for inline-formatted icons.

The fix for the issue requires Prawn::Icon to use the inline layout and formatting logic implemented in Prawn.

This change has ramifications to the #icon and #inline_icon method return values, but most applications should not require changes.

Changes are listed below:

  • #icon - returns nil with the inline_format: true parameter.
  • #inline_icon - returns nil (instead of a Prawn::Text::Formatted::Box instance).

You can call #formatted_icon_box to retain the previous inline icon functionality.

2.5.0

05 Oct 02:26
3c5db41
Compare
Choose a tag to compare
  • Update FontAwesome from 5.8.2 to 5.11.2.
  • See FontAwesome's upgrade guide for more details.

2.4.0

27 May 02:27
0fef76a
Compare
Choose a tag to compare

2.3.0

08 Oct 20:29
8ae3d08
Compare
Choose a tag to compare
  • Update FontAwesome to version from 5.0.13 to 5.4.0.
  • See FontAwesome's release page for more details.

2.2.0

21 May 04:18
9048062
Compare
Choose a tag to compare
  • Move out shim configuration into a .yml file located inside the data/fonts/fa4/shims.yml file.
  • Update FontAwesome TTF files and legend files from 5.0.8 to 5.0.13.
  • Add additional compatibility shims that were missing for some icons from FontAwesome 4. This version release is now fully backwards-compatible with all icon specifiers present in FontAwesome 4 (via version 1.4.0 of this gem).
  • Fix a bug in the FontAwesome converter tool by properly requiring fileutils before execution.

2.1.0

02 Apr 04:23
51a84ae
Compare
Choose a tag to compare
  • Introduce backwards compatibility with FontAwesome 4 icon keys by dynamically
    rewriting all instances of fa-* to their appropriate FontAwesome 5 equivalent
    key. This is achieved by implementing a shim generated from the FontAwesome metadata.
  • Introduce a deprecation warning written to STDERR when any fa-* key is
    encountered. The compatibility shim will be removed in the next major version
    of Prawn::Icon (3.0.0).
  • See the discussion here for more details.

2.0.0

08 Mar 03:41
3dcefcc
Compare
Choose a tag to compare
  • [breaking change] Update to FontAwesome 5.0.8. FontAwesome 5 now provides 3 different font families: brands, regular and solid. The specifiers for these font icons are now: fab, far and fas.
  • [breaking change] Remove GitHub Octicons because Octicons are now only delivered via SVG.
  • [breaking change] Make the font specifier a required attribute for Prawn::Icon::FontData#new. Previously it was assumed to be fa.
  • Write a new tool tool/fontawesome/converter.rb that accepts the FontAwesome metadata YAML file (link), and generates the correct legend files for brands, regular and solid styles.
  • Require 'prawn/icon/version' with by default.

1.4.0

12 Sep 02:33
Compare
Choose a tag to compare
  • Update dependency gems to latest version.
  • Fix rubocop config to show cop names as well as increase the ABC complexity slightly.
  • Add internal tooling to assist with the SCSS => YAML mappings of FontAwesome and PaymentFont.
  • Update FontAwesome to v4.7.0 from v4.6.3. See changelog.
  • Update PaymentFont to v1.2.5 from v1.1.2. See icons.
  • Update Octicons from to v4.4.0 from v3.1.0. NOTE: As Octicons have moved from font-based icons to SVG after this version, this will be the final octicon version in prawn/icon. See the wiki.
  • Fix rubocop warnings for whitespace.

1.3.0

15 Oct 20:11
Compare
Choose a tag to compare
  • Update rubocop developement dependency (to 0.44.1).
  • Add simplecov as a development dependency.
  • Break out Prawn::Icon::Interface into its own file. This resolves issue #27.