summaryrefslogtreecommitdiff
path: root/Build/source/utils/jpeg2ps/jpeg2ps.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/jpeg2ps/jpeg2ps.txt')
-rw-r--r--Build/source/utils/jpeg2ps/jpeg2ps.txt338
1 files changed, 0 insertions, 338 deletions
diff --git a/Build/source/utils/jpeg2ps/jpeg2ps.txt b/Build/source/utils/jpeg2ps/jpeg2ps.txt
deleted file mode 100644
index c59c2523158..00000000000
--- a/Build/source/utils/jpeg2ps/jpeg2ps.txt
+++ /dev/null
@@ -1,338 +0,0 @@
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-jpeg2ps - convert JPEG compressed images to PostScript Level 2
-
-jpeg2ps is available from http://www.ifconnection.de/~tm
-and many other sites, notably CTAN mirrors.
-
-Copyright (C) 1994-99 Thomas Merz (tm@muc.de)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-Purpose of jpeg2ps
-==================
-jpeg2ps converts JPEG files to PostScript Level 2 or 3 EPS. In fact, jpeg2ps
-is not really a converter but a "wrapper": it reads the image parameters
-(width, height, number of color components) in a JPEG file, writes the
-according EPS header and then copies the compressed JPEG data to the output
-file. Decompression is done by the PostScript interpreter (only PostScript
-Level 2 and 3 interpreters support JPEG compression and decompression).
-If you have a slow communication channel and a fast printer, sending
-compressed image data is a big win.
-
-
-Change History
-==============
-
-V1.8 (July 28, 1999)
- - Added -q option for suppressing all non-error messages.
- - Don't use the supplied getopt on Unix by default, but still
- include the source module in the distribution (and use it on
- DOS/Windows)
- - Added -p option for setting the page size on the command line.
- If no such option is supplied, A4 or letter is used as default,
- according to a compile time option.
- - Renamed makefile.gcc to the more common Makefile.
- - Added casts to get rid of some warning messages.
- - Added Mac support for use with DropUNIX. This required opening
- the files in binary mode, properly initializing some statics,
- and replacing the getopt loop with a plain argc loop (for now).
-
-V1.7 (April 9, 1999)
- - Fixed an omission in the Makefile (makefile.gcc)
- - Removed the OS2 #ifdefs and made the conditional code identical to the
- DOS code. Therefore, using -DDOS should also work on OS/2.
-
-V1.6 (March 29, 1999)
- - Changed all references to my old Web site to the current address
- http://www.ifconnection.de/~tm
- - Added support for OS/2, provided by
- Stefan A. Deutscher (sad@utk.edu / stefand@ibm.net)
- - Added support for VMS, provided by
- Rolf Niepraschk (niepraschk@ptb.de)
- - Changed the get_2bytes() macro in readjpeg.c to a static function
- in order to avoid portability issues. Since the evaluation order
- in the formely used macro version isn't guaranteed, the result
- was garbled on some platforms, notably with the Metrowerks C
- compilers for BeOS and Macintosh.
- - Changed the auto rotate feature in order to produce "clean" (unrotated)
- EPS files. The old feature of automatically rotating images to
- landscape mode if width > height can be reactivated with the new
- command line option "-a" (auto rotate)
- - Changed the ASCII85 output routine in order to avoid two consecutive
- percent characters at the beginning of a line. Although legal PostScript,
- this may cause trouble with some post-processing programs, notably
- when including jpeg2ps output in TeX files. This should fix the
- problems dvips users sometimes encountered when using jpeg2ps.
- The comment in this file (jpeg2ps.txt) regarding problems with
- TeX PostScript drivers has been deleted.
-
-V1.5 (Dec. 12, 1996)
- - Included ASCIIHex encoding again (the code was already there,
- only command line option added). This is primarily useful as as
- workaround for a brain-damaged dvips "feature" (see below).
- - Added note on dvips and tgif in jpeg2ps.txt.
- - Removed jpeg2pdf again. Its functionality will be contained in the
- forthcoming PDFlib C library and some library client programs.
-
-V1.4 (Aug. 19, 1996)
- - included getopt.c in distribution, changed option handling
- - prepared readjpeg.c for use with jpeg2pdf program (accept baseline only)
- - included jpeg2pdf in the distribution
-
-V1.3 (Jan. 31, 1996)
- - Fixed ASCII85 encoding bug. In rare cases ~ and > could get
- separated.
-
-V1.2 (Jan. 25, 1996)
- - Fixed "unsigned" bug when reading JFIF density marker.
-
-V1.1 (Jan. 22, 1996) Several enhancements:
- - invert colors of Adobe Photoshop CMYK files
- - interpret JFIF resolution ("density") markers
- - implemented -r switch for specifying resolution
- - accept compression markers other than SOF0 and SOF1 (this won't
- be useful for many people, and didn't have any testing).
-
-V1.0 (Jan. 9, 1996) Re-release of formerly released Usenet version.
-
-
-Building JPEG2PS
-================
-jpeg2ps is coded in rather simple-minded ANSI C. It should compile cleanly
-on many systems. For old K&R compilers, include the compiler flag -DKNR in
-the makefile to disable ANSI prototypes.
-
-The jpeg2ps distribution is available in .zip and .tar.gz format.
-jpeg2ps-x.x.zip is intended for MS-DOS (real or DOS box in Windows)
-and also includes an executable. Source code is identical in both
-jpeg2ps-x.x.zip and jpeg2ps-x.x.tar.gz, the only exception being different
-line end conventions.
-
-General compilation options
----------------------------
--DA4 makes jpeg2ps use A4 as default paper size. If -DA4 is not
-given, letter format will be used instead. Note that the paper
-size can always be specified at the command line.
-
-Unix
-----
-jpeg2ps should compile out of the box on most Unix systems,
-probably after a little Makefile tweaking. The distributed
-Makefile is set up for GCC on Linux.
-
-DOS
----
-Use -DDOS to compile jpeg2ps on DOSish systems. The distributed
-source builds fine with MS Visual C++ 6.0. A project file for
-this environment is included in the distribution.
-
-OS/2
-----
-OS/2 support was provided by Stefan A. Deutscher (sad@utk.edu / stefand@ibm.net)
-and is included in the distribution "as is", i.e., I'm unable to assist in
-any OS/2-related issues. The following is from Stefan's description for OS/2:
-
->The executable was made from the unmodified unix sources with gcc / emx09c +
->emxfix2 applied. To run it you need the emx runtime system, which you
->find as emxrt.zip, or on ftp-os2.cdrom.com or ftp-os2.nmsu.edu or ftp.leo.org.
->Newer versions than emx09c+ef2 should be fine. I tested this only on Warp 4,
->and there it works.
-
-Mac
----
-jpeg2ps can be built on the Mac using a facility called DropUNIX. This is
-a wrapper for conventional command-line driven Unix programs which gives
-some sort of drag-and-drop support. However, command line options are
-not available. For this reason, jpeg2ps always generates ASCII85 output
-if built on the Mac.
-
-In order to build jpeg2ps on the Mac, you will need DropUNIX from
-http://www.zenspider.com or some mirror, such as
-http://omlc.ogi.edu/software/tex_convert
-
-and set the C preprocessor define -DMAC. Since the MetroWerks compiler
-has a somewhat kludgey way to set preprocessor options, the file
-prefix-mac.pch is supplied which should be added to the project as
-a precompiled header (see MW docs).
-
-The idea for the Mac port and the DropUNIX support were provided by
-Ujwal Sathyam (setlur@bigfoot.com).
-
-Although I successfully built jpeg2ps with the MetroWerks compiler,
-Mac support is still somewhat experimental. The required build
-files are not included in the distribution. (No, please don't ask me for
-an executable).
-
-Note that for unknown reason the Mac version currently supports only
-conversion of single files. Although it seems to work with multiple
-files too, the output generated for the second and subsequent files
-will be rubbish.
-
-
-VMS
----
-A VMS build file was provided by Rolf Niepraschk (niepraschk@ptb.de). It isn't
-supported by the author of this software. Use the supplied file "descrip.mms"
-as a starting point for building jpeg2ps with the VMS build tool mms.
-
-
-Usage Details
-=============
-jpeg2ps [options] file.jpg > file.eps
-
--a auto rotate feature
--b binary mode
--h hex mode (ASCIIHex encoding)
--o name output file name (as an alternative to output redirection)
--p size page size name. Known names are:
- a0, a1, a2, a3, a4, a5, a6, b5, letter, legal, ledger, p11x17
--q quiet mode: suppress all informational messages
--r dpi resolution value (0 = read from file if possible)
-
-jpeg2ps reads a JPEG file (*not* stdin) and writes a DSC-compliant EPS
-file containing the compressed JPEG data in PostScript format to stdout.
-The produced EPS files contain the necessary DSC comments including
-BoundingBox, so they may be imported in page layout applications. However,
-they do not contain preview images, so you will only see a gray box on screen.
-
-If the auto rotate feature is activated with the -a option, images with
-width > height are automatically rotated to landscape mode. Don't use this
-option if you simply want to generate EPS files for inclusion in your
-documents. Note: prior to version 1.6, jpeg2ps always "autorotated" images
-with width > height which was especially bad for TeX users. I hope this
-change helps the TeX community in better using jpeg2ps!
-
-jpeg2ps performs some sanity checks with the JPEG data. It detects several
-kinds of corrupt input data, but it is not absolutely foolproof. One special
-feature is that you can feed Macintosh JPEG files (PICT-JPEG) to jpeg2ps.
-These normally have several hundred bytes of additional stuff before the JPEG
-data. This PICT rubbish is simply ignored by jpeg2ps.
-
-
-Output modes
-============
-By default, jpeg2ps sends the image data in ASCII85 encoded form which is
-suitable for any communication channel (serial, parallel or whatever). If
-you are *sure* that your channel is truly 8-bit clean, you can force 8-bit
-data with the -b option. Note that this normally does not apply to 8-bit
-serial or even parallel channels since some control characters are reserved
-for the communications protocol. You can use binary data e.g.:
-
-- with some networked printers
-- with direct-access PostScript interpreters, e.g. Ghostscript
-- serial or parallel channels using Binary Control Protocol (BCP).
-
-Using the -h option, jpeg2ps generates 7-bit clean data by using
-ASCIIHex encoding instead of the more space-efficient ASCII85 encoding.
-This is only useful for specialized applications, e.g. for debugging,
-since jpeg2ps requires PostScript Level 2 anyway, and ASCII85 is
-supported in any Level 2 interpreter.
-
-
-Scaling and resolution
-======================
-Concerning the size of the printed image, you have three options:
-
-Default behaviour:
-By default, doesn't change the image size and rotation.
-With the -a option, jpeg2ps tries to fit the image on the page, rotating
-it if necessary (image width exceeds image height)
-The image is scaled in a way to use at least one full edge of the paper.
-A 20 pt margin is subtracted on each side. "Page" means A4 size if compiled
-with "-DA4", letter size otherwise. The -p option may be used to select
-other page sizes.
-
-Using resolution value from the file:
-The option "-r 0" instructs jpeg2ps to look for a JFIF density/resolution
-marker and use that value. Automatic scaling and rotation are disabled.
-However, if no resolution information is found in the file, jpeg2ps
-applies the default algorithm described above.
-
-Explicitly setting the resolution:
-Using "-r <dpi>" you can force jpeg2ps to use a certain dpi value.
-Since automatic actions are also disabled in this case, you are
-responsible for choosing a reasonable resolution value. For example,
-you can print a 300 dpi image half-sized by supplying -r 600.
-
-
-Messages
-========
-jpeg2ps issues three kinds of messages:
-
-Notes: have informational character
-
-Warnings: a potential problem with the file was recognized, processing
- continues.
-
-Errors: Either a severe problem within the JPEG file was found or the
- file explores JPEG features not compatible with PostScript Level 2.
-
-Note that there are some JPEG producers which do not exactly conform to the
-specification and that the JPEG spec itself does not cover every aspect of
-the file format. You are on the safe side if you demand JFIF files which are
-happily accepted by jpeg2ps. (For further information see the JPEG FAQ
-by Tom Lane.)
-
-
-Adobe Photoshop CMYK files
-==========================
-This is what the Independent JPEG Group has to say about Photoshop
-CMYK files (quoted from libjpeg.doc, part of the IJG JPEG library):
-
-> CAUTION: it appears that Adobe Photoshop writes inverted data in CMYK JPEG
-> files: 0 represents 100% ink coverage, rather than 0% ink as you'd expect.
-> This is arguably a bug in Photoshop, but if you need to work with Photoshop
-> CMYK files, you will have to deal with it in your application. We cannot
-> "fix" this in the library by inverting the data during the CMYK<=>YCCK
-> transform, because that would break other applications, notably Ghostscript.
-> Photoshop versions prior to 3.0 write EPS files containing JPEG-encoded CMYK
-> data in the same inverted-YCCK representation used in bare JPEG files, but
-> the surrounding PostScript code performs an inversion using the PS image
-> operator. I am told that Photoshop 3.0 will write uninverted YCCK in
-> EPS/JPEG files, and will omit the PS-level inversion. (But the data
-> polarity used in bare JPEG files will not change in 3.0.) In either case,
-> the JPEG library must not invert the data itself, or else Ghostscript would
-> read these EPS files incorrectly.
-
-Accordingly, jpeg2ps tries to detect such files (by looking for Adobes
-APP marker) and inverts the colors in the case of 4-component images.
-This inversion takes place in the PostScript instructions, not by
-changing the actual image data.
-
-
-Further Information
-===================
-
-If you like to know more about the inner workings of jpeg2ps, the JPEG
-standard and its integration in PostScript Level 2, the JFIF file format,
-JPEG/TIFF *and* if you can read German, you may want to check out
-my article in a German computer magazine:
-
-"Gut verpackt - Drucken von JPEG-Bildern mit PostScript Level 2"
-c't, Magazin fuer Computertechnik, Heise Verlag Hannover, 6/94, p.236 ff.
-
-This article is also available in PDF format from my WWW page:
-http://www.ifconnection.de/~tm
-
-
-Related Software
-================
-
-Note that there is a related PostScript program called "viewjpeg.ps" which
-is part of the Ghostscript distribution. viewjpeg.ps operates similarly to
-jpeg2ps, but the PostScript interpreter does the "wrapping" of JPEG data
-itself. With viewjpeg.ps you can e.g. view JPEG files directly within
-GhostScript or another interpreter with access to the file system.
-Ghostscript can be found at http://www.cs.wisc.edu/~ghost
-
-
-Disclaimer
-==========
-This software is free. You are granted the right to use and copy it. This
-software may not be sold or bundled with any commercial package without
-express written permission of the author.
-
-The author accepts no responsibility for damages resulting from the use of
-this software and makes no warranty, either express or implied, including but
-not limited to, any implied warranty of merchantability or fitness for a
-particular purpose. This software is provided as is, and you assume all risks
-when using it.