GutenMark Download Page
Project Gutenberg texts
|The usage and installation of GutenMark have undergone drastic
changes due to introduction of installer programs, introduction of the GUItenMark graphical front-end, and
elimination of explicit
support for platforms other than Linux, Windows, and Mac OS X. As
this download-page has essentially been replaced from earlier
times. If for some reason you want to consult the old page (which
may still contain information of value), you
can consult it here.
Installing GutenMark on Windows or
on Mac OS X
on the iPhone
Other Stuff You Might Want
GutenMark is freely available under the terms of the GNU General
Public License (GPL). You may view the text of the GPL here , or you
may visit the Free Software Foundation
For the workhorse command-line
utilities ("GutenMark" and "GutenSplit") which are at the heart
of the GutenMark software
For the GUI
interface ("GUItenMark") to the command-line utilities:
- There really aren't any quotable practical hardware limitations,
as far as I know. However, operation is computationally
intensive, and faster CPUs are better than slower ones.
- Operating system:
- Linux 'x86 (any reasonably recent distribution).
- Windows XP. I have no way to test on Windows '98, Windows
2000, Vista, etc., so I have no idea if they work there or not, though
I imagine that they do.
- Mac OS X, Intel or PowerPC, 10.2 or later. I have no way
to test on 10.0 or 10.1, but I imagine they probably work there as well.
- Operating system:
- Linux 'x86 (any distribution). Depending on the
there are software prerequites which need to be installed, some of
which are listed later in the sections covering installation.
- Windows XP. The installation program is known to fail on
Windows '98, but I don't know if the progam itself would work
there. I have no way to test on Windows
2000, Vista, etc., so my information on those platforms is
limited. I have received reports from some people that have
gotten the program to work on Vista, and others who have not, so your
mileage may vary.
- Mac OS X, Intel or PowerPC, 10.3-10.5. The program is
known not to work on 10.2. (Actually, I have only tested on
10.3.9 PPC, 10.4.11 PPC, and 10.5.6 Intel, so it is only speculation on
my part that 10.4 Intel and 10.5 PPC would work.)
- In order to use GUI interface comfortably, I'd suggest a screen
resolution of 1280×1024 or greater. The interface is still
usable if somewhat unaesthetic at 1024×768, and I'd regard it as
pathetic at 800×600.
Downloading GutenMark / GUItenMark
|Current development source-code package, if you'd like to
the software yourself.
for Windows, for Linux 'x86, Mac OS X, and iPhone. If you don't
to build the
software yourself, this is all you need! The first three are for
the latest development snapshot and contain complete command-line and
In contrast, the iPhone package was built
Pollock (thanks, Jason!) from an earlier development, and cannot
rebuilt to be 100% identical from the current development
snapshot. It includes only command-line tools (no GUI), along
with a healthy
(but not complete) subset of the foreign-language wordlists.
[I apologize that the filenames for these installers are not versioned,
but the downloads are so big that I can't affort to keep more than the
most up-to-date installers online at any given time. If perchance
you should find yourself in need of an earlier version of the
installer, contact me.]
for Mac OS X (14.1 MB)
for iPhone (2.3 MB).
|Obsolete versions, including some old command-line-only
binaries for Linux PPC,
FreeBSD, NetBSD, and Mac OS X
|Old download page
Installing GutenMark on Windows or
Simply download the installation program and run it. It should be
completely self-explanatory. The GUItenMark
is what is associated with desktop icons and/or the Start menu, is
identified as the "Project Gutenberg Prettifier". Be sure to read the usage instructions.
In Windows, the software is installed in c:\Program Files\GutenMark,
while in Linux it's installed in ~/.GutenMark (which is a hidden
directory). In neither case do
you need administrative privileges. Nor do you get a choice of
- On Windows:
- Windows 98: The installer is known to fail on Windows 98,
but there is no
information on whether or not any of the programs can be made to work.
- Windows XP: The software itself and the installation
only tested on Windows XP Home and/or Professional, and they are known
to work well there.
- Windows Vista: Jim Adcock (thanks, Jim!) sends word that
all works for me IF AND ONLY IF I right click on ALL
the related .exe files, select Properties => Compatibility and click
as Administrator'". A user known only as 'wendl' (thanks, wendl!)
tells us additionally that (in the same Properties window) it's
necessary to set compatibility with XP Service Pack 2. So at
least two users have gotten it to work on
Vista! By "all the .exe files" I assume that Jim means:
- GUItenMark-Win32-setup.exe (before installation)
- GUItenMark.exe (after installation)
- GutenMark.exe (after installation)
- GutenSplit.exe (after installation)
- Other Windows versions: No information.
- On Linux:
- GUItenMark has a number
of dependencies, of which I'm not sure how many are likely to present a
problem in practice, since my own computers tend to be maxed-out in
terms of libraries. If these dependences are missing, GUItenMark
may fail silently if executed by clicking its desktop icon, so you may
need to execute it from the command line
(~/.GutenMark/binary/GUItenMark) to get any sensible error messages
what's missing. Here are some notes about missing dependencies or
dependency version mismatches I personally encountered when trying to
- Fedora 9: Needed to install 'glitz' ("sudo yum install
glitz") and needed to rename 'libexpat' ("sudo ln --symbolic
- Ubuntu 8.04: Needed to install 'glitz' ("sudo apt-get
install libglitz1"), 'libpng' ("sudo apt-get install libpng*"), and
'libtiff' ("sudo apt-get install libtiff4"). Also, I needed to
rename 'libtiff' ("sudo ln --symbolic /usr/lib/libtiff.so.4
/usr/lib/libtiff.so.3") and 'libexpat' ("sudo ln --symbolic
- If you download the installer to the desktop, it will likely
marked as being executable (since http downloads don't preserve
properties like executability). So you may have to explicitly set
as executable before you can run it. (Do this by right-clicking
the icon and working in the Properties pop-up window, not by using
Installing GutenMark on Mac OS X
At a glance, here is the compatibility list for the executable download
|Mac OS X
When I say that these configurations are "tested", I don't mean to
imply that I test every one of these for every version of GutenMark, but merely that I've done
do in the past at some point and have no reason to believe that any
changes to the situation have occurred afterward. The software
build-system I use is intended specifically for Mac OS X 10.4 and 10.5,
so it is remarkable that any prior versions work. (And of course,
it's entirely possible that if you had one of the systems marked as
"no", you might still be able to compile the program from source using
XCode and make it work.)
- Download GUItenMark.app.tar.gz onto your desktop.
- Double-click it to have StuffIt
unpack it, so that a GUItenMark
appears on the desktop.
- If you like, throw GUItenMark.app.tar.gz into the trash can.
- Read the usage instructions.
Installing GutenMark on the iPhone
It appears to me as though the installation involves unzipping the
supplied zipfile in the iPhone's root directory. You might wish
to contact Jason
if you have doubts, as this is probably something you don't want to try
if you have any doubts on the subject!
In Windows, you'll find that an 'Uninstall' link has been added in the
'Project Gutenberg Prettifier' group on your Start menu.
In Linux, there is also an 'Uninstall' program, but you'll need to look
for it in ~/.GutenMark. (Recall also that ~/.GutenMark will be a
hidden directory since its name begins with '.'.)
In Mac OS X, simply move the GUItenMark
desktop icon into the trash can.
I no longer
directly support compilation on any platform other than Linux.
(It is true that there are Windows and Mac OS X versions of the
software, but they are
cross-compiled from Linux rather than being compiled on a Windows
box.) I will also
briefly describe compilation on Mac OS X. Compilation on other
platforms (Windows, Linux PPC, FreeBSD, NetBSD) may still
consult the old instructions if you need this capability.
Compiling on Linux for Linux/Windows/Mac
This is how I build the
software. It is quite easy ... but in most cases the initial
setup probably involves more download bandwidth, more hard-disk space,
and more (unattended) clock time than anybody but an enthusiast could
tolerate. I'm sorry about that, but this is arranged to make
things easy for me.
You can probably look at the
Makefile and figure out some more-abbreviated build-procedure that
builds just the target(s) you want and/or lets you build them natively
rather than cross-compiling them. However, the only concrete
example I'll give is for Mac OS X, in the next section.
- One-time-only initial setup.
- Install the wxWidgets
developer package (version 2.8.9 or later) for your Linux
distribution. For distributions like recent versions of Fedora or
Ubuntu, this will be in the distro's normal package system. Other
distributions like OpenSUSE tend to make it much harder for you.
- If you want to create the Mac version of the program, you will
need also to install the Objective-C version of the gcc compiler, which tends to have a
package name like "gcc-objc" or "gobjc". Again, this is easy on
recent Fedora and Ubuntu, but maybe not so easy on OpenSUSE.
- Install the cross-compiling environment of the I'm Cross! project, snapshot 20090216 or
- Note: This requires
that your Linux must be 32-bit (even if you have a 64-bit CPU), and
that you are using gcc
versions 4.0, 4.1, or 4.2. (Version 3 and 4.3 will not
work.) This is a current limitation of I'm Cross!
- Create a new but empty directory
- Download and unpack the GutenMark
source-code development snapshot. This creates a directory called
GutenMark-source which must have the same parent directory as the
sandroid.org/ directory mentioned in the step above.
- Descend into GutenMark-source/ and run "make snapshot". The
executables for all platforms are created, and their installers are
placed in sandroid.org/.../SoftwareSnapshots.
Compiling on Mac OS X for Mac OS X
The following instructions assume Mac OS X 10.5, and they do not work with other
versions of Mac OS X:
If you were to try this on other versions of Mac OS X, you would at the
very least have to install wxWidgets
first. It is installed by default on Mac OS X 10.5.
Similarly, wxWidgets 2.5
is installed by default in Mac OS X 10.4, but is not compatible with GUItenMark. I don't think any
version of wxWidgets is
installed on earlier versions of Mac OS X.
- Of course, you need to have the Mac OS X developer tools
installed. I tried only Xcode
- Install the GUItenMark
Mac OS X binaries (even though you're going to
replace them) by downloading GUItenMark.app.tar.gz to the desktop and
double-clicking to unpack the tarball. Do not move the GUItenMark
that this creates from the desktop, until at least completing the steps
- Unpack the GutenMark
developer snapshot tarball, and 'cd' into the
- Delete "*-maconmac".
- Run the command "make BuildOnMacOSX". This builds new
binaries (for GutenMark, GutenSplit, and GUItenMark) and replaces the ones
you installed above in step #2.
- Double-clicking on the GUItenMark
desktop icon should now run the programs you just compiled, rather than
the ones that were installed.
Compiling on Linux for iPhone
(thanks, Jason!) has pointed out his repository of science-fiction books
for the iPhone, and in particular his
script for compiling GutenMark
and GutenSplit (see below) for
the iPhone. Apparently, this method is based on general info
about compiling iPhone software which you can read at code.google.com.
I've not tried it myself, not having an iPhone,
and I'm not sure that I'm totally in sync yet with the changes
needed to actually run the script. But if it works you end up
with executables for GutenMark
and GutenSplit that run on the
iPhone itself, albeit (as I understand it) somewhat slowly.
If that interests you, you can also look at Jason's blog.
Over the years, several people have asked me to include a command-line
switch in GutenMark that
produces an HTML file for each chapter rather than a single, huge HTML
file. Well, I haven't done that,
but (as of 01/21/04, anyhow) you'll find a program
called GutenSplit in the
installation directory's "binary" sub-directory. GutenSplit
is a stand-alone utility that can split the HTML file created by GutenMark into smaller HTML
files. (Thanks also to Jason Pollock for reworking this program
to add most or all of the command-line options.)
Normally, you don't need to worry about GutenSplit, because GUItenMark will run it automatically
if necessary. Nevertheless, here's some basic information about GutenSplit which you can ignore if
you're only interested in running GutenMark
via its GUI.
The file is split at the headings (which are usually the boundaries of
chapters). A table of contents HTML file is added, and hyperlinks
are added to move among all the new HTML pages. Click here to
see an example of this (using
the usual sample text).
The syntax for GutenSplit is
GutenSplit [OPTIONS] InputHtmlFilename OutputBasename
(Depending on your computer's setup, you may need to instead say "./GutenSplit
" rather than just "GutenSplit
is used by
to name all of the
smaller HTML files. The names of the small HTML files are created
by adding the suffixes 000.html, 001.html, etc. to the OutputBasename.
the sake of argument, that GutenMark
has created a big HTML file called "TomSawyer.html". Then, the
would create a series of files called "Tom000.html", "Tom001.html",
"Tom002.html", and so on. Tom000.html happens to be the table of
can also be the name of a directory, in which case the directory must
pre-exist and its name must end with '/'. For example,
would create "Tom/000.html", "Tom/001.html", and so on. However,
you should note that some browsers (an example being Safari
in Mac OS X) won't treat the
relative paths correctly, and so will not be able to follow the
hyperlinks if you use this technique. If you experience problems
like that, you'll need to make sure that the OutputBasename
contains no directory
I suppose that, in theory, GutenSplit
might work for other HTML files—other than those created by GutenMark
, I mean—but I don't
The command-line options are new in version 20080526, and didn't exist
prior to that. They are:
|(Default -1.) In HTML,
there are different levels of headings within documents. For
A Top-Level Heading
A Lower-Level Heading
A Still-Lower-Level Heading
The Lowest-Level Heading
Regular text ...
In GutenSplit versions prior
to 20080526, chapters were split only at the highest levels of
headings. But now, you can select the levels at which you want
the splits to occur, using the "-1", "-2", "-3", and "-4" command-line
switches. These switches can be combined, to allow breaks at
multiple levels. For example, if you used the switches "-1 -2
-3", then splits would occur at any of the highest three heading
levels, but not at the lowest level.
|With this switch, you can omit
generation of a separate table-of-contents page.
|By default, GutenSplit does not split the
document at the first heading
it encounters. If the --no-skip switch is used, it goes aheads
and splits when the first heading is encountered.
Other Stuff You Might Want
The function of GutenMark is merely to convert the Project
Gutenberg etexts to marked-up HTML or LaTeX. From there, you're
pretty much on your own. If you intend to
use LaTeX, I won't offer you much advice because you probably know much
about the available utility software than I do. At most, I'll
point out that while LaTeX is very simply available on most Linux
distributions, it's a little more effort to get it if you're using
Windows; I'd suggest downloading TeX
Live, which is a very simple
way to get a very complete distribution of TeX for Windows.
If the HTML is all you want— if you want to read the etext online,
or to set up a web site that displays PG texts in HTML, or if
you're fine with printing etexts from your browser, or if you want
to use the HTML as a starting point for further markup— then
you're all set, since GutenMark
already provides what you need!
If, on the other hand, you don't want to use LaTeX and you are
looking for an end-to-end solution that can produce attractive
printable texts like this sample
, then you need some better way of printing HTML than your browser can
provide. You could, of course, load the HTML into Microsoft Word
or some other word processing program, and manipulate the
document format manually.
The solution I would choose instead is to use a utility program that
can convert HTML to Postscript printer language, or to PDF
format. Several such free utilities are available.
is available for Linux systems (my SuSE Linux system installed it
automatically), and is the program I used to create the sample PDF
file. Its only drawbacks, as far as I know, are that it is slow
and that it can leave hanging section headings at the bottoms of
pages. Also, if the font size is too big (or the page size too
small), it has occasional problems right justifying text.
Actually, html2ps only creates Postscript, which can then be
converted to PDF with ps2pdf . I don't have personal
experience with these options on Win32 systems, but html2ps
is written in Perl, and should therefore be available on Win32;
Postscript can be converted to PDF or printed on Win32 using Adobe Acrobat (costs money) or with ghostscript
(for free). If you are interested in using html2ps with
GutenMark, you may also be interested in various configuration
files for html2ps that I think work nicely with GutenMark
available for either for Win32 or in source-code form (for Linux
systems), and has some very nice properties. I personally find
it a little buggy, but it's apparently under active development and can
presumably only get better. The main problem is that it is
very bad at right justification (or at least, I haven't figured it
out), and so you need to use ragged-right text.
©2001-2005,2008-2009 Ronald S.
updated 05/10/2009 by RSB. Contact me .