Skip to content

Commit

Permalink
First pass at reorganizing the Ruby PDF Tools hierarchy.
Browse files Browse the repository at this point in the history
  • Loading branch information
austin committed Feb 7, 2007
1 parent 2d3e2af commit 259fa5c
Show file tree
Hide file tree
Showing 76 changed files with 41,983 additions and 0 deletions.
110 changes: 110 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
= PDF::Writer Change Log

== PDF::Writer 1.1.3: September 9, 2005
* Fixed #2356 submitted by Matthew Thill. Margins set by the various margins
methods would behave incorrectly.

== PDF::Writer 1.1.2: August 25, 2005
* Thomas Gantner <thomas.gantner@gmx.net> found a problem with the
interpretation of the placement of page numbers and provided a patch.
Thanks!
* Thomas also reported a problem with an inability to place page numbering on
the first page of a document, as well as strange results from not providing
a starting page number. This has been fixed. Also reported as #2204.
* Modified PDF::Writer requirements to require color-tools version 1.3.0 or
later. This necessitates that Color constants be changed to Color::RGB
constants.
* Updated supporting library documentation to include information on
color-tools version 1.3.
* Fixed a bug with Graphics#transform_matrix truncating one of the transform
parameters.
* Applied a fix to PDF::SimpleTable submitted by Mike Leddy in #2129 on the
RubyForge tracker.
* Applied a partial fix for PNG with index-transparency provided by Marc
Vleugels in #2245 on the RubyForge tracker. NOTE: This does not solve the
transparency problem; at this point, PDF::Writer cannot be said to support
PNGs with transparency. This will be fixed in a later version of
PDF::Writer.

== PDF::Writer 1.1.1: July 1, 2005
* Fixed the packaging process; the .tar.gz files will no longer corrupt the
images.
* Added the images and the manual (both raw and generated) to the demo
package.

== PDF::Writer 1.1.0: June 29, 2005
NOTE: The first two changes are INCOMPATIBLE with previous versions of
PDF::Writer. If you find that your text is showing up at odd angles, negate
the value. That is, if you have 90 as your angle, use -90 (or 270) as your
angle and it will work like it used to.

* Axis transformations in PDF::Writer::Graphics have been fixed.
* Text axis transformation in PDF::Writer#add_text has been fixed.
* Changed #text_width and #text_line_width so that the text value is the
first parameter and the size parameter is second, and is optional. The code
warns about it now, but it will break in PDF::Writer 2.0.
* Changed #add_text and #add_text_wrap so that the text parameter is before
the now-optional size parameter. The code warns about it now, but it will
break in PDF::Writer 2.0.
* Added #transform_matrix.
* Fixed compression. NOTE: Compression must be set early in the documentation
process, or only some items will be compressed in the document. The various
#save_as methods have been changed to reflect this fact.
* Enabled the placement of encoding differences dictionaries in the resulting
PDF document. This change should be considered experimental.
* Added TTF licence checking. The embedding of a file not licenced for
inclusion in a document will continue, but a warning will be output to
standard error. This code has been gakked from FPDF (http://www.fpdf.org).
* Properly supporting symbolic font flags now.
* Added support and documentation for a separately downloadable demo package.
* Expanded the installation documentation.
* Added the ability to make images clickable links with any of the three
image insertion methods.

== PDF::Writer 1.0.1: June 13, 2005
* Fixed a few minor gem issues.
* Renamed bin/manual to bin/techbook.
* Fixed the manual.pwd locator for the default install.

== PDF::Writer 1.0.0: June 12, 2005
* Integrated ezwriter.rb functionality with writer.rb.
* Factored out some functionality into modules and classes.
* Added CMYK colour support to JPEG images.
* Uses Color::CMYK (from color-utils) to provide CMYK support to drawing
capabilities.
* Simplified the image API significantly.
* Modified image support to properly handle full image flipping.
* Fixed several multi-column issues.
* Fixed a bug where new pages automatically started by overflowing text may
have resulted in writing the first line of text above the top margin. This
may need further testing and probably causes problems with column handling.
* Fixed some page numbering issues.
* Added several demos, including Ruby Quick Reference Sheets.
* Scrubbed the API.
* Updated the documentation.
* Changed installer to setup.rb 3.3.1-modified.
* Applied an image resize patch; the image will be resized manually before
checking to see if a new page is required. Thanks to Leslie Hensley.
* Fixed a bug where entities would generate the width specified for the
component characters, not the represented characters.
* Fixed a performance bug. Thanks again to Leslie Hensley.

== PDF::Writer 0.1.2: CVS only
* Fixed a problem with the improper reading of character numbers from .afm
files that are not default files. Other font issues remain but will be fixed
at a later date.

== PDF::Writer 0.1.0: September, 2003
* Initial technology preview.

#--
# PDF::Writer for Ruby.
# http://rubyforge.org/projects/ruby-pdf/
# Copyright 2003 - 2005 Austin Ziegler.
#
# Licensed under a MIT-style licence. See LICENCE in the main distribution
# for full licensing information.
#
# $Id$
#++
# vim: sts=2 sw=2 ts=4 et ai tw=77
44 changes: 44 additions & 0 deletions Demo-README
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
= PDF::Writer Demo Programs
This package is a collection of demo programs for PDF::Writer for Ruby version
1.1.3, intended for users of the RubyGems package, because the demo programs
are not easily accessible. This package includes:

manual.pwd:: The text version of the PDF manual.
manual.pdf:: A pregenerated version of the PDF manual.
chunkybacon.rb:: A simple program to insert three images and two lines of
text
code.rb:: An example of a custom text formatting tag. Note that this
tag doesn't *quite* work as it should because of an as-yet
unidentified bug in PDF::Writer's tag handling code.
colornames.rb:: A program to generate colour names known to the color-tools
package.
demo.rb:: Generates gradients and coloured text.
gettysburg.rb:: Creates a PDF with the Gettysburg Address wrapped in a
rounded rectangle.
hello.rb:: A simple "Hello, Ruby" application for PDF::Writer.
individual-i.rb:: An example of drawing a vector graphic with PDF::Writer,
translated from the Individual I website's EPS version of
the logo.
pac.rb:: A vector graphics image based on a famous video game.
pagenumber.rb:: An example for showing PDF::Writer's page numbering.
qr-language.rb:: Generates a quick reference sheet for the Ruby language.
Based on Ryan Davis's quick reference sheet.
qr-library.rb:: Generates a quick reference sheet for the Ruby standard
library. Based on Ryan Davis's quick reference sheet.

If PDF::Writer has been installed with RubyGems, then the demos will need to
be run explicitly referencing RubyGems:

% ruby -rubygems chunkybacon.rb

#--
# PDF::Writer for Ruby.
# http://rubyforge.org/projects/ruby-pdf/
# Copyright 2003 - 2005 Austin Ziegler.
#
# Licensed under a MIT-style licence. See LICENCE in the main distribution
# for full licensing information.
#
# $Id$
#++
# vim: sts=2 sw=2 ts=4 et ai tw=77
30 changes: 30 additions & 0 deletions Install
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
PDF::Writer requires both Transaction::Simple 1.3.0 or later and color-tools
1.3.0 or later.

Transaction::Simple:: http://rubyforge.org/frs/?group_id=295
color-tools:: http://rubyforge.org/frs/?group_id=81

Once these packages are installed, PDF::Writer can be installed with:

% ruby setup.rb

Alternatively, you can use the RubyGems version of PDF::Writer available as
pdf-writer-1.1.3.gem from the usual sources. The gem knows its dependencies
on Transaction::Simple and color-tools and offers to install them.

If you are using the RubyGems version of PDF::Writer, it is recommended that
you download the demo programs from the RubyForge site for PDF::Writer.

PDF::Writer:: http://rubyforge.org/projects/ruby-pdf/

#--
# PDF::Writer for Ruby.
# http://rubyforge.org/projects/ruby-pdf/
# Copyright 2003 - 2005 Austin Ziegler.
#
# Licensed under a MIT-style licence. See LICENCE in the main distribution
# for full licensing information.
#
# $Id$
#++
# vim: sts=2 sw=2 ts=4 et ai tw=77
125 changes: 125 additions & 0 deletions LICENCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
= PDF::Writer for Ruby
Homepage:: http://rubyforge.org/projects/ruby-pdf/
Copyright:: Copyright � 2003�2005 Austin Ziegler.
Summary:: MIT-style

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

* The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

== Works Included Under Other Licences
=== pdf/writer/graphics/imageinfo.rb
PDF::Writer includes a derivative of Keisuke Minami's ImageSize library,
which can be found at rubycgi[http://www.rubycgi.org/tools/index.en.htm].
This work�and only this or other named works�may be treated as under the Ruby
licensing scheme (GPL 2 or later, Ruby's licence) as well as the overall
PDF::Writer licence.

=== Ruby Quick Reference Sheets
PDF::Writer has demo programs that will create Quick Reference cards for
Ruby. The content and output of these programs is copyright 2003�2005 Ryan
Davis and is licensed under the Creative Commons
Attribution-NonCommercial-ShareAlike[http://creativecommons.org/licenses/by-nc-sa/2.0/]
licence.

=== Images from "Why's (Poignant) Guide to Ruby"
One of the demo programs uses images originally from "Why's (Poignant) Guide
to Ruby"[http://poignantguide.net/ruby], with permission. These immages are
released under the Creative Commons
Attributions ShareAlike[http://creativecommons.org/licenses/by-sa/2.0/]
licence.

=== Adobe PostScript AFM Files
pdf/writer/fonts/MustRead.html and the 14 PostScript(R) AFM files it
accompanies may be used, copied, and distributed for any purpose and without
charge, with or without modification, provided that all copyright notices are
retained; that the AFM files are not distributed without this file; that all
modifications to this file or any of the AFM files are prominently noted in
the modified file(s); and that this paragraph is not modified. Adobe Systems
has no responsibility or obligation to support the use of the AFM files.

== Other Credits
=== PDF::Writer
PDF::Writer is based originally on the R & OS PDF class for
PHP[http://www.ros.co.nz/pdf/], which is released as public domain.

=== Standard Deviation Chart
The standard deviation chart (pdf/charts/stddev.rb) class is based on
work by Cris Ewing[mailto:cewing@u.washington.edu] of the University of
Washington School of Medicine, originally created for the R & OS PDF class
for PHP. He has graciously donated the code for PDF::Writer for Ruby.

=== bluesmoke.jpg
The logo image for PDF::Writer, bluesmoke.jpg, is modified from a picture
taken by Matthew "TheSaint" Bowden[mailto:matthewbowden@gmail.com] and is
available on the stock.xchng(R) at
<http://www.sxc.hu/browse.phtml?f=view&id=275430>. Many thanks to Matthew for
the use of this image.

== Patents Covering the Adobe PDF Format
=== ADOBE PATENTS
This software is based on Adobe's PDF Reference, Third Edition, version 1.6.
There may be limitations on the use of this library based on patent
restrictions from Adobe. See bewlow for more information.

=== UNISYS LZW PATENT
This software does not fully conform to the Adobe PDF specification because
no support for LZW is included in this software. At the time of original
development of this software (2003), the Unisys LZW patent was still in
effect outside of the United States. This will be modified in a future
version of this software.

== Patent Clarification Notice: Reading and Writing PDF Files
Adobe has a number of patents covering technology that is disclosed in the
Portable Document Format (PDF) Specification, version 1.6 and later, as
documented in PDF Reference and associated Technical Notes (the
"Specification". Adobe desires to promote the use of PDF for information
interchange among diverse products and applications.

Accordingly, the following patents are licensed on a royalty-free, non-
exclusive basis for the term of each patent and for the sole purpose of
developing software that produces, consumes, and interprets PDF files that
are compliant with the Specification:

U.S. Patent Numbers: 5,634,064; 5,737,599; 5,781,785; 5,819,301; 6,028,583;
6,289,364; 6,421,460

In addition, the following patent is licensed on a royalty-free, non-
exclusive basis for its term and for the sole purpose of developing software
that produces PDF files that are compliant with the Specification
(specifically excluding, however, software that consumes and/or interprets
PDF files):

U.S. Patent Numbers: 5,860,074

The above licenses are limited to only those rights required to implement the
Specification and no others. That is to say, Adobe grants only those rights
in the above patent(s) necessarily practiced to implement the Specification,
and does not grant any rights not required to implement the Specification.
The licenses do not grant the right to practice any patent covering other
technologies, such as implementation techniques that are not explicitly
disclosed in the Specification, nor does it allow the use of any patented
feature for any purpose other than as set forth in the applicable license
grant. Adobe has other patents in various fields, none of which are hereby
licensed.

$Id$
# vim: sts=2 sw=2 ts=4 et ai tw=77
33 changes: 33 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
= PDF::Writer for Ruby
This library provides the ability to create PDF documents using only native
Ruby libraries. There are several demo programs available in the demo/
directory. The canonical documentation for PDF::Writer is "manual.pdf", which
can be generated using bin/techbook (just "techbook" for RubyGem users) and
the manual file "manual.pwd".

Homepage:: http://rubyforge.org/projects/ruby-pdf/
Copyright:: 2003�2005, Austin Ziegler

This software is based on Adobe's PDF Reference, Fifth Edition, version 1.6.
This and earlier editions are available from Adobe's PDF developer
website[http://partners.adobe.com/public/developer/pdf/index_reference.html].

== LICENCE NOTES
Please read the file LICENCE for licensing restrictions on this library, as
well as important patent considerations.

== Requirements
PDF::Writer requires Ruby 1.8.2 or better, color-tools 1.3.0 or better, and
Transaction::Simple 1.3.0 or better.

#--
# PDF::Writer for Ruby.
# http://rubyforge.org/projects/ruby-pdf/
# Copyright 2003 - 2005 Austin Ziegler.
#
# Licensed under a MIT-style licence. See LICENCE in the main distribution
# for full licensing information.
#
# $Id$
#++
# vim: sts=2 sw=2 ts=4 et ai tw=77
Loading

0 comments on commit 259fa5c

Please sign in to comment.