home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / xpdf-06.zip / xfree86 / doc / Xpdf-0.6 / README < prev   
Text File  |  1996-11-13  |  11KB  |  314 lines

  1. xpdf
  2. ====
  3. and pdftops
  4.  
  5. version 0.6 (beta)
  6. 96-nov-12
  7.  
  8. The xpdf and pdftops software and documentation are
  9. copyright 1996 Derek B. Noonburg.
  10.  
  11. Email: derekn@ece.cmu.edu
  12. WWW: http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
  13.  
  14. The PDF data structures, operators, and specification
  15. are copyright 1995 Adobe Systems Inc.
  16.  
  17.  
  18. What is xpdf?
  19. -------------
  20.  
  21. Xpdf is a viewer for Portable Document Format (PDF) files.  (These are
  22. also sometimes also called 'Acrobat' files, from the name of Adobe's
  23. PDF software.)  Xpdf runs under UNIX or VMS and the X Window System.
  24.  
  25. Xpdf is designed to be small and efficient.  It does not use the Motif
  26. or Xt libraries.  It uses standard X fonts.  Xpdf is quite usable on a
  27. 486-66 PC running Linux.
  28.  
  29.  
  30. Compatibility
  31. -------------
  32.  
  33. Xpdf is known to work on the following systems:
  34.  
  35. * x86, Linux 2.0 ELF, gcc 2.7.2
  36. * PowerPC, AIX 4.1, gcc 2.7.0
  37. * SPARC, Solaris 2.5, gcc 2.7.2
  38. * Alpha, OSF/1 3.2, gcc 2.7.2
  39. * HP-PA, HP-UX 9.05, gcc 2.7.2
  40.  
  41. It should work on pretty much any UNIX or VMS system which runs X11.
  42. You'll need ANSI C++ and C compilers to compile it.  If you compile it
  43. for a system not listed on the xpdf web page, please let me know.  If
  44. you're willing to make your binary available by ftp or on the web,
  45. I'll add a pointer to the web page.  If you can't get it to compile on
  46. your system, I'll try to help.
  47.  
  48.  
  49. Getting xpdf
  50. ------------
  51.  
  52. The latest version is available from:
  53.  
  54.   http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
  55.  
  56. or:
  57.  
  58.   ftp://ftp.andrew.cmu.edu/pub/xpdf/
  59.  
  60. Source code and several precompiled executables are available.
  61.  
  62. Announcements of new versions are posted to several newsgroups
  63. (comp.text.pdf, comp.os.linux.announce, and others) and emailed to a
  64. list of people.  If you'd like to receive email notification of new
  65. versions, just let me know.
  66.  
  67.  
  68. Running xpdf
  69. ------------
  70.  
  71. To run xpdf, simply type:
  72.  
  73.   xpdf file.pdf
  74.  
  75. To generate a PostScript file, hit the "print" button in xpdf, or run
  76. pdftops:
  77.  
  78.   pdftops file.pdf
  79.  
  80. Command line options and many other details are described in the man
  81. pages (xpdf.1 and pdftops.1) and the VMS help files (xpdf.hlp and
  82. pdftops.hlp).
  83.  
  84.  
  85. Fonts
  86. -----
  87.  
  88. Xpdf uses X server fonts.  It requires the following fonts:
  89.  
  90. * Courier: medium-r, bold-r, medium-o, and bold-o
  91. * Helvetica: medium-r, bold-r, medium-o, and bold-o
  92. * Times: medium-r, bold-r, medium-i, and bold-i
  93. * Symbol: medium-r
  94. * Zapf Dingbats: medium-r
  95.  
  96. Most X installations should already have all of these fonts, except
  97. Zapf Dingbats.  You can install a Type 1 Zapf Dingbats font -- see the
  98. mkfontdir(1) man page for details.  Use this font descriptor in your
  99. fonts.scale file:
  100.  
  101.     -itc-zapfdingbats-medium-r-normal--0-0-0-0-p-0-adobe-fontspecific
  102.  
  103. You can get a Type 1 font file from the ghostscript 4.x distribution
  104. (look for d050000l.pfb).
  105.  
  106. X servers, starting at R5, support font scaling.  Xpdf will
  107. automatically take advantage of this.  There are two types of scaling.
  108. The first type uses standard bitmap fonts: if a font doesn't exist in
  109. the requested size, the server will scale the bitmapped characters.
  110. This is reasonably fast, and the results are readable but not very
  111. pretty.  X servers can also handle true scalable, e.g., Type-1, fonts.
  112. (See the mkfontdir(1) man page for details on setting these up.)
  113. Scalable fonts are slower, especially since PDF documents tend to use
  114. lots of fonts, but they look much nicer.
  115.  
  116. Some X servers also support font rotation.  Xpdf will use this feature
  117. if available.
  118.  
  119.  
  120. The Unisys LZW Patent
  121. ---------------------
  122.  
  123. Nearly all PDF files include data which has been compressed with the
  124. LZW compression algorithm.  Unfortunately, LZW is covered by a
  125. software patent which is owned by Unisys Corporation.  Unisys refuses
  126. to license this patent for PDF-related use in software such as xpdf
  127. which is released for free and which may be freely redistributed.
  128. (This is same algorithm which is used by GIF.  However, Unisys is not
  129. doing licensing for free PDF viwers in the same way as for free GIF
  130. viewers.)
  131.  
  132. As a workaround, xpdf converts PDF-format LZW data to compress-format
  133. LZW data.  (The standard UNIX compress utility also uses LZW, but with
  134. a slightly different file format.)  This conversion does *not*
  135. decompress the data; it simply converts it to a different file format.
  136. Xpdf then calls uncompress to actually decompress the data.
  137.  
  138. I have been told by several notable people that the LZW patent covers
  139. compression only, and does not cover decompression.  This seems pretty
  140. fuzzy to me, so I'm going to stick with my workaround, at least for
  141. now.
  142.  
  143. Software patents in general are a bad idea.  Consider supporting the
  144. League for Programming Freedom <http://www.lpf.org/>.
  145.  
  146. For Unisys's slant on things (mostly regarding GIF), see
  147. <http://www.unisys.com/LeadStory/lzwterms.html> and
  148. <http://www.unisys.com/LeadStory/lzwfaq.html>.  These pages mention
  149. an email address for feedback.
  150.  
  151.  
  152. Compiling xpdf
  153. --------------
  154.  
  155. Xpdf is written in C++ (with a little bit of C).  It should work with
  156. any ANSI-compliant C++ and C compilers.  The systems and compilers
  157. it's been tested with are listed on the xpdf web page.
  158.  
  159. To compile xpdf for UNIX:
  160.  
  161. * Edit Makefile.config in the top-level directory.  Set the compilers
  162.   you want to use (e.g., gcc and g++) and add any necessary switches
  163.   and options (e.g., include and library directories).  You can also
  164.   set the installation directory here (the PREFIX variable).
  165.  
  166. * If neither 'uncompress -c file.Z' nor 'gzip -d -c file.Z' decompress
  167.   a standard UNIX .Z file to stdout on your system, you'll need to
  168.   change uncompressCmd in xpdf/config.h.  This should not be necessary
  169.   on most systems.
  170.  
  171. * Type 'make' in the top-level directory to compile both xpdf and
  172.   pdftops.  If you only want to make one of the executables, type
  173.   'make xpdf' or 'make pdftops'.
  174.  
  175. * If nothing goes wrong, the executables will be left in xpdf/xpdf and
  176.   xpdf/pdftops.  There are no runtime configuration or support files;
  177.   the binary can be moved to any directory.
  178.  
  179. * If desired, type 'make install' to install the binaries and man
  180.   pages.
  181.  
  182. To compile xpdf for VMS:
  183.  
  184. * There are two sets of scripts: vmscomp.com (for gcc on VAX) and
  185.   vmsdecccomp.com (for DEC C on Alpha).  There are four of each: in
  186.   the top-level directory, [.goo], [.ltk], and [.xpdf].  You may need
  187.   to edit these scripts as appropriate for your system.
  188.  
  189. * The 'stddef.h' include file which comes with older versions of gcc
  190.   may be missing a definition for wchar_t.  In this case, add the
  191.   following lines:
  192.   -----
  193.   File GNU_CC:[INCLUDE]STDDEF.H;2
  194.    44   /* Wide characters, not yet supported by VAXCRTL [match VAXC's <stddef.
  195.    45   #if !defined(_WCHAR_T) && !defined(_WCHAR_T_)
  196.    46   typedef unsigned int wchar_t;
  197.    47   #endif
  198.    48   #define _WCHAR_T
  199.    49   #define _WCHAR_T_
  200.    50
  201.   -----
  202.  
  203. * Type '@vmscomp' or '@vmsdecccomp' in the top-level directory.
  204.  
  205. * The executables will be left in '[.xpdf]xpdf' and '[.xpdf]pdftops'.
  206.  
  207.  
  208. Distribution
  209. ------------
  210.  
  211. Xpdf may be distributed under the following conditions:
  212.  
  213. 1. This file ('README') is included, unmodified, in the distribution.
  214.  
  215. 2. The distribution includes:
  216.    a. all of the xpdf source code and documentation, unmodified; OR
  217.    b. one or more xpdf executables, compiled from the unmodified
  218.       source code, plus the associated documentation (UNIX man pages
  219.       or VMS help files); OR
  220.    c. both of the above.
  221.  
  222. If you distribute xpdf, I would appreciate receiving a pointer (ftp
  223. site, BBS phone number, etc.) or a copy (disk, CD-ROM, etc.).
  224.  
  225. Modified versions of xpdf or applications using some or all of the
  226. xpdf code (i.e., 'derivative works' under copyright law) may not be
  227. distributed without explicit permission.
  228.  
  229.  
  230. Bugs
  231. ----
  232.  
  233. This is an beta release of xpdf, and there are still a bunch of PDF
  234. features which I have yet to implement.
  235.  
  236. At this point, the biggest problem is that embedded fonts are not
  237. handled correctly.
  238.  
  239. If you find a bug in xpdf, i.e., if it prints an error message,
  240. crashes, or incorrectly displays a document, and you don't see that
  241. bug listed here, please send me email, with a pointer (URL, ftp site,
  242. etc.) to the PDF file.
  243.  
  244.  
  245. Acknowledgments
  246. ---------------
  247.  
  248. Thanks to:
  249.  
  250. * Patrick Voigt for help with the remote server code.
  251. * Patrick Moreau for the VMS port.
  252. * David Boldt and Rick Rodgers for sample man pages.
  253.  
  254.  
  255. References
  256. ----------
  257.  
  258. Adobe Systems Inc., _Portable Document Format Reference Manual_.
  259. Addison-Wesley, 1993, ISBN 0-201-62628-4.
  260. [The manual for PDF version 1.0.  The updated version (for PDF 1.1) is
  261. available on the net from http://www.adobe.com/Support/TechNotes.html
  262. or ftp://ftp.adobe.com/pub/adobe/Acrobat/SDK/TECHDOC/PDFSPEC.PDF.]
  263.  
  264. Adobe Systems Inc., _Updates to the Portable Document Format Reference
  265. Manual_, Adobe Developer Support Technical Note #5156.  1995.
  266. [Updates for PDF version 1.1.  Available on the WWW as
  267. http://www.adobe.com/PDFs/TN/5156.PDF_UPD.PDF.]
  268.  
  269. Adobe Systems Inc., _Updates to the Portable Document Format Reference
  270. Manual_.
  271. [Update for Sections 5.7 and 6.12 (encryption), emailed to developers
  272. July 24, 1996.]
  273.  
  274. Adobe Systems Inc., _PostScript Language Reference Manual_, 2nd ed.
  275. Addison-Wesley, 1990, ISBN 0-201-18127-4.
  276. [The official PostScript manual.]
  277.  
  278. Adobe Systems Inc., _Supporting the DCT Filters in PostScript Level
  279. 2_, Adobe Developer Support Technical Note #5116.  1992.
  280. [Description of the DCTDecode filter parameters.]
  281.  
  282. Anonymous, RC4 source code.
  283. [This is the algorithm used to encrypt PDF files.  Available on
  284. various ftp sites, e.g., ftp://ftp.ox.ac.uk/pub/crypto/misc/rc4.tar.gz
  285. or ftp://idea.sec.dsi.unimi.it/pub/crypt/code/rc4.tar.gz.]
  286.  
  287. CCITT, _Blue Book_, Volume VII Fascicle 3: "Terminal Equipment and
  288. Protocols for Telematic Services", Recommendations T.4 and T.6.
  289. [The official Group 3 and 4 fax standards.  These are available on the
  290. net (but misformatted) as
  291. ftp://ftp.uu.net/doc/standards/ccitt/1988/7_3_01.ps and 7_3_02.ps.]
  292.  
  293. Foley, van Dam, Feiner, and Hughes, _Computer Graphics: Principles and
  294. Practice_, 2nd ed.  Addison-Wesley, 1990, ISBN 0-201-12110-7.
  295. [Colorspace conversion functions, Bezier spline math.]
  296.  
  297. Robert L. Hummel, _Programmer's Technical Reference: Data and Fax
  298. Communications_.  Ziff-Davis Press, 1993, ISBN 1-56276-077-7.
  299. [CCITT Group 3 and 4 fax decoding.]
  300.  
  301. Christoph Loeffler, Adriaan Ligtenberg, George S. Moschytz, "Practical
  302. Fast 1-D DCT Algorithms with 11 Multiplications".  IEEE Intl. Conf. on
  303. Acoustics, Speech & Signal Processing, 1989, 988-991.
  304. [The fast IDCT algorithm used in the DCTDecode filter.]
  305.  
  306. R. Rivest, "The MD5 Message-Digest Algorithm".  RFC 1321.
  307. [MD5 is used in PDF document encryption.]
  308.  
  309. Gregory K. Wallace, "The JPEG Still Picture Compression Standard".
  310. [Good description of the JPEG standard.  Available on the net as
  311. ftp://ftp.uu.net/graphics/jpeg/wallace.ps.gz.  Also published in CACM,
  312. April 1991, and submitted to IEEE Transactions on Consumer
  313. Electronics.]
  314.