PrawnPDF 2.1.0 – 2016-02-29
Added support for PNG images with indexed transparency
Prawn now properly hadles transparency in PNG images with indexed color.
(Maciej Mucha, #783; Alexander Mankuta, #920)
Prawn no longer generates IRB warnings
Fix a few issues with code style that were triggering warnings in
IRB when run in verbose mode (irb -w).
(Jesse Doyle, #914)
Gradients applied inside transformations are now correctly positioned
PDF gradients/patterns take coordinates in the coordinate space of
the document, not the “user space”, so if you performed a
scale/rotate/translate and then painted a gradient inside, it wasn't
correctly positioned.
This change tracks transformations applied to the document, and
multiplies the gradient matrix with this tracked transformation
matrix so that the gradient appears in the correct place in the
document.
Because this changes how the x and y coordinates are interpreted,
you must manually add apply_transformations: true to your
stroke_gradient and fill_gradient calls to use the fixed behaviour
in Prawn 2. It is expected that this will be the default in Prawn 3.
Please refer to the wiki page on this change for more information.
(Roger Nesbitt, #891, #894)
Prawn::Graphics::BlendMode#blend_mode added
Blend modes can be used to change the way two layers are blended
together. The BM key is added to the External Graphics State based
on the v1.4 PDF spec. blend_mode accepts a single blend mode or
array of blend modes. If an array is passed, the PDF viewer blends
layers based on the first valid blend mode.
Problems found locating distfiles:
Package acroread7: missing distfile AdobeReader_enu-7.0.9-1.i386.tar.gz
Package acroread8: missing distfile AdobeReader_enu-8.1.7-1.sparc.tar.gz
Package cups-filters: missing distfile cups-filters-1.1.0.tar.xz
Package dvidvi: missing distfile dvidvi-1.0.tar.gz
Package lgrind: missing distfile lgrind.tar.bz2
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
PrawnPDF 2.0.2 -- 2015-07-15
Links in repeaters/stamps are now clickable
Previously, url links were not clickable when rendered within a stamp. The proper annotation references are now added to the page object that the stamp is called, thereby generating a clickable link in the pdf.
Because repeaters are built upon stamps, this fix should also solve issues with links inside of repeaters.
(Jesse Doyle, #801, #498)
* pkgsrc change: Allow this pacakge build on Ruby 2.2.
PrawnPDF 2.0.1 -- 2015-03-23
Fix regression in draw_text() with rotation
Due to missing tests, a typo snuck into the draw_text() method in PDF::Core,
preventing it from working properly when called with the :rotate option.
This issue has been resolved, and a test has been added to Prawn's test
suite. Speaking more generally, we need to improve the condition of the
tests for PDF::Core, and make a clear separation between Prawn's test suite
and PDF::Core's tests. Currently there are lots of little gaps that can lead
to this sort of problem.
[Robert S. Gerus, pdf-core#15]
1. Changes to supported Ruby versions
2. Changes to PrawnPDF's versioning policies
3. All decimals in PDF output are now rounded to a fixed precision of
4 decimal places
4. Fixed text width calculation to prevent unnecessary soft hyphen
5. Fixed styled text width calculations when using TTF files
6. Fixed broken vertical alignment for center and bottom
7. Calling dash(0) now raises an error instead of generating a corrupt PDF
8. Vastly improved handling of encodings for PDF built in (AFM) fonts
9. Temporarily restored the Document#on_page_create method
Please refer http://prawnpdf.org/api-docs/2.0/file.CHANGELOG.html in datail.
Full CHANGELOG is https://github.com/prawnpdf/prawn/wiki/CHANGELOG and
here is summary.
Prawn 0.15.0 ¡½ 2014.02.16
Summarized notes follow, but you can also check out the complete diff from
0.14.0 to 0.15.0.
This release is a stepping stone to next month's 1.0 release, and it involves
more internal restructuring and policy updates than it does new fixes or
features. However, there are a few minor fixes and improvements that shipped
with this code, and we may do one or two more maintenance releases of 0.15.x
before 1.0 ships in mid-March.
It should be safe to upgrade to 0.15 if you've been using 0.13 or 0.14. If
you're still using 0.12 or earlier, you should either invest the time to
upgrade those projects now, or treat them as legacy code
indefinitely. Extension authors are encouraged to try out 0.15, because it is
our last major release before 1.0, and is a good snapshot of where we
currently are with things.
* We've laid out a plan for post-1.0 API compatibility
* Prawn now officially now support Ruby 2.1.0
* A couple new gems have been extracted
* Grids can now be safely redefined
* Document#render no longer raises encoding errors on JRuby+Windows
* Table column width calculations now tolerate minor floating point rounding
errors
* TTFunk has been upgraded to 1.1.0, which provides Unicode astral plane
support in TTF files.
* Prawn once again has no third-party runtime dependencies!
Prawn 0.12.0:
We continue our trek to Prawn 1.0 with 0.12.0. This release fixes many bugs
and adds some new features. A full list of changes is available via `git log
0.11.1..0.12.0`.
Features / Enhancements
* Rewrite project README [Gregory Brown]
* Speed improvements to text kerning [Jan De Poorter]
* Snapshotting now preserves your bounding box [Brad Ediger]
* Allow Document#float to teleport across pages and return to starting page
[Brad Ediger]
* number_pages now defaults to numbering every page [Matthew Rudy Jacobs]
* Your bounding box is now reset when starting a new page with a different
size or layout [Brad Ediger]
Major Bugfixes
* Fix multi-page templates (#199) [Chase M. Gray / Jonathan Greenberg]
* Make tables work in stretchy bounding boxes (#235) [Jan De Poorter / Brad
Ediger]
* Fix TTF font metrics when a TTF font has a nonzero width for newlines (#245)
[daduke / Katsuya Hidaka / Brad Ediger]
* Fix kerning bug on line width calculations (#251) [vspan / Brad Ediger]
* Fix images in stretchy bounding boxes creating a new page (#241) [Brad Ediger]
* Fix character_spacing to work based on character count, not byte length
(#253) [Katsuya Hidaka / Brad Ediger]
* Fix NoMethodError under $KCODE==¡Èu¡É [Michael Klein]
* Fix extra page break created when spans were used at the top of a page
(#255) [Sean Russell / Brad Ediger]
* Fix problem with table cell backgrounds overlapping other cell¡Çs borders by
drawing all backgrounds before any borders (#226) [Kenta Murata / Brad
Ediger]
* Remove old examples that were duplicated by our new manual (Micha«³l Witrant)
Tables: use an epsilon to compare floating-point values [Kenta Murata]
= Prawn: Fast, Nimble PDF Generation For Ruby
Prawn is a PDF writing library for Ruby designed to be tiny, fast, and nimble,
just like the majestic sea creature.
Development on this library was initially made possible thanks to
the many people who donated to the Ruby Mendicant project:
http://rubymendicant.wikidot.com
The project is currently maintained by Gregory Brown, with lots of help from
Prawn's core developers and the community.