Last Modified: 15. June 2004
von D. Droege
(Old) NEWSJune 2004: There is a new Version of PDFViewer (1.41) available. It provides Compact Font Format (CFF, aka Type1C) and TrueType (TTF) support using external programs. See below.
The ApplicationPDFViewer is an application to view so called PDF files on NEXTSTEP/OpenStep Systems. PDF is Adobes "Portable Document Format", intended to make media-rich documents accessible on any kind of computer and system platform. The PDF format is used by the Adobe Acrobat suite of programs. For more information about PDF have a look at the Adobe web site or at the PDF specification.
PDFViewer runs on all Next/OpenStep systems since NEXTSTEP 3.1.
It is "quad-fat", that is, compiled for Motorola (NeXT), Intel, SPARC and HP-PA
architectures. PDFViewer is freely available and can be
found on most major Nextstep FTP archive sites.
In case you can't locate it on a FTP server near you, or if you want to
try a possibly newer version not yet uploaded to the archives, you might
want to look into my
FTP download area.
Be warned though that such newer versions might not
yet be as stable as the uploaded ones.
For further information about the program have a look into the
Security and EncryptionThe PDF format allows to encrypt documents. Though this method is proven not to be as secure as desired (look here for details on (un-)security of PDF files), appropriate decryption must be provided by the PDF reading program to view such documents. PDFViewer provides decryption if equiped with an additional bundle ("Plug-In").
Due to legal reasons, this bundle is only available here at my FTP download area as Standard.pdfcrypt.tar.gz. The current (as of 1997) U.S. laws disallow the export of such cryptographic software, while importing it is legal. You may thus download it from the above place if you live in the U.S, but you should not place it in a public place where it could be transfered to another country.
Here in Germany, usage and distribution of the bundle are not restricted by any laws, at least not for now (and hopefully this won't change, though some bone heads try to). For any other country you should know yourself.
In June 2004 I added support for CFF and TrueType fonts embedded in PDF files after I happily found the cfftot1 program which is part of Eddie Kohlers LCDF Typetools and ttf2pt1 at http://ttf2pt1.sourceforge.net/.
As both programs are rather tricky to compile on Nextstep or Openstep
I provide binaries for both in my download area
(see Locations below).
They are compiled using Nextstep 3.3 and run on Openstep as well.
To use the CFF to Type1 conversion set a default for PDFViewer, like
dwrite PDFViewer CFFtoPFAProg "cd '%s'; /use/local/bin/cfftot1 -q -a -o %s.pfa %s.cff"
The first '%s' will be replaced with the name of the temporary directory (/tmp by default, see below), any further '%s' (up to 3) will be replaced with the font name, e.g. 'Optima-Oblique'.
Similar, to use the TrueType to Type1 conversion, set the TTFtoPFAProg default for PDFViewer, like
dwrite PDFViewer TTFtoPFAProg "cd '%s'; /usr/local/bin/ttf2pt1 -e -G a -l latin1 -N %s %s.ttf"
As with CFFtoPFAProg, the first '%s' will be replaced with the name of the temporary directory (/tmp by default, see below), any further '%s' (up to 3) will be replaced with the font name, e.g. 'Tahoma'.
If you want to use another directory than /tmp as scratch directory for conversion, change this with
dwrite PDFViewer FontConvDir '/some/other/temp/dir'
Currently, the generated files in FontConvDir are not deleted but kept and reused if they occur in other documents. This might pose problems with partially included fonts. If so, please drop me a note and a suggestion what to do with these files.
Compiling the lcdf-typetoolsIt is rather tricky to copmpile the LCDF Typetools on Openstep and even more on Nextstep. Here are some hints: The official Openstep C/C++ Compiler (gcc version 188.8.131.52, NeXT-version cc-744.13) is not capable to compile the LCDF Typetools due to his rather limited C++ support. I was successful using the "egcs-2.91.66" release I installed long ago on my Openstep system. This beast is available at the PEANUTS-Archive in this directory as egcs-i3184.108.40.206.2.NI.b.tar.gz resp. egcs-m68k.220.127.116.11.NI.b.tar.gz. (This is the gcc version egcs-2.91.66 19990314 (egcs-1.1.2 release) version)
for Openstep: running './configure --without-kpathsea' and 'make' (GNU make!) produced a usable cfftot1 (besides a lot of other programs).
sys/cdefs.h i386/endian.h i386/types.h m68k/endian.h m68k/types.h hppa/endian.h hppa/types.h sparc/endian.h sparc/types.h machine/endian.h machine/types.hAdditionally, you must create a symbolic link:
ln -s . /usr/local/i386-next-nextstep3/include/bsd(or for "m68k" ... you get the picture)
I'm not sure, if this is really all, but this should at least solve most of the problems
Compiling the ttf2pt1Unpack the ttf2pt1-3.4.4 package from Sourceforge, apply the diff-file ttf2pt1-3.4.4.newNOpt.diff using the 'patch' program (or simply get the modified source from my download area, the package is called ttf2pt1-3.4.4_Dr.s.tar.gz).
There is no ./configure, so you have to tweak the Makefile. It uses some unusual methods, esspecially for installing, so you will have to poke around quite a bit. But copying the generated executables to the desired location should work as well.
You'll need some additional files: the getopt routines
from some recent GNU software, e.g. make-3.80
(the needed files are
getopt.c getopt1.c getopt.h gettext.h).
Those were the essential steps I did to get it compiled. Your mileage may vary.
StatusCurrently, further development of PDFViewer occurs occasionally at best. The latest version uploaded to the archives ist v1.22b, the latest available one is v1.41 (June 2004). See the the README file for new features. The successor of Openstep, Apple's MacOS X (Server) has its own PDF viewing capabilities, since PDF becomes its central graphics format (replacing PostScript).
Some initial work to make PDFViewer a native OpenStep application had been done late in 1997. This version of PDFViewer (version 2.0-alpha) is available at the local download area (see above), but is very unstable, not reliable and not recomended to use. This pre-version is available for Rhapsody DR2 (PPC and Intel) and for Openstep 4.x.
Warning: The 2.0 versions are not recomended to use. Please use version 1.41 which runs fine on any Nextstep/Openstep system since 3.1.
If you'd like to see any further information here about PDFViewer please drop me a note.
Detlev Droege, University of Koblenz, Dept. of Computer Science,
P.O.Box 201 602, 56016 Koblenz, Germany,
Fon: +49-261-287-2769 Fax: +49-261-287-100-2769