Cryptogram Puzzle Tool helps solve the simple cryptogram puzzles
that appear in the daily newspapers. While these puzzles
can often be solved almost by inspection, CPT4 provides
a handy tool for the ones that turn out to be not quite so easy.
If you just want a little bookkeeping help, CPT4 will instantly update
all occurrences of the new assignments as well as provide frequency and
used/not-used letter lists as you drag-and-drop or key in suspected solution
letters.
But if you'd rather have the
computer do the work, the automatic solution algorithm will usually come
very close to a complete solution in just a few seconds.
Bonus: CPT4 can also create new puzzles: simply key in
or load plaintext from a file, and select the 'Encrypt' item from the Options
menu.
Screen Shots
HERE is a full screen shot of CPT4 in edit mode,
with a puzzle already loaded (8 KB).
HERE is CPT4 in solve mode, with the a
solution underway (15 KB).
HERE is a portion of my KDE desktop with the
CPT4 icon and shortcut visible. (4 KB).
System Requirements
CPT4 runs on Linux / X-Window systems, with no special requirements beyond
the availablity of compatible versions of the normal GTK+ suite of libraries.
All distributions to date have been developed on my Pentium based PC under
more or less standard RedHat and Slackware installations, so I expect that the
source distributions, at least, should work on most similar installations.
The 4.2.0-1 binary shared library distribution was compiled from the 4.2.0
source distribution (see below), but on a vanilla Slackware 10.2 system
using glib-2.6.6, Gtk+2.6.10, pango-1.8.2, atk-1.9.1, and so forth. It shows
these dependencies:
libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libm.so.6 libpangoxft-1.0.so.0 libpangox-1.0.so.0 libpangoft2-1.0.so.0 libpango-1.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libdl.so.2 libglib-2.0.so.0 libc.so.6 libX11.so.6 libXrandr.so.2 libXi.so.6 libXinerama.so.1 libXft.so.2 libfreetype.so.6 libfontconfig.so.1 libXfixes.so.3 libXcursor.so.1 libXrender.so.1 libXext.so.6 /lib/ld-linux.so.2 libz.so.1 libexpat.so.0
libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libm.so.6 libpangoxft-1.0.so.0 libpangox-1.0.so.0 libpango-1.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libdl.so.2 libglib-2.0.so.0 libc.so.6 libX11.so.6 libXrandr.so.2 libXi.so.6 libXinerama.so.1 libXft.so.2 libfreetype.so.6 libfontconfig.so.1 libXfixes.so.3 libXcursor.so.1 libXrender.so.1 libXext.so.6 /lib/ld-linux.so.2 libpangoft2-1.0.so.0 libexpat.so.0 libz.so.1
libgtk-1.2.so.0 libgdk-1.2.so.0 libgmodule-1.2.so.0 libglib-1.2.so.0 libdl.so.2 libXext.so.6 libX11.so.6 libm.so.6 libc.so.6 /lib/ld-linux.so.2
libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libm.so.6 libpangox-1.0.so.0 libpango-1.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libdl.so.2 libglib-2.0.so.0 libc.so.6 libX11.so.6 libXext.so.6 /lib/ld-linux.so.2
libgtk-x11-2.0.so.0 libgdk-x11-2.0.so.0 libXext.so.6 libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libm.so.6 libpangox-1.0.so.0 libX11.so.6 libpango-1.0.so.0 libgobject-2.0.so.0 libgmodule-2.0.so.0 libdl.so.2 libglib-2.0.so.0 libc.so.6 /lib/ld-linux.so.2
libgtk-1.2.so.0 libgdk-1.2.so.0 libgmodule-1.2.so.0 libglib-1.2.so.0 libdl.so.2 libXext.so.6 libX11.so.6 libm.so.6 libc.so.6 /lib/ld-linux.so.2
Downloading
Since the currently available versions of 'cpt4' are nearly indistinguishable from the user's point of view, your best bet is probably to use the source distribution that was developed with libraries closest to those on your system. If you have the binary versions of the libraries but not the developer versions installed, try the closest shared binary distribution; and if you have none of the libraries and an older system, you might try the static distribution.
     Compiled using glib-2.6.6, pango-1.8.2, atk-1.9.1, and gtk+2.6.10:Installing / Building / Running
./cpt4
Use the File->Load menu item to load one of the samples (xxxxx.cpt) and
play with the controls. Try the Options->Hart Solution menu item to see
the automatic solution in action.
./cpt4 -large
./cpt4 -small
./cpt4 -font="font-name"
For the 4.0.1 versions (with GTK 1.2), the font MUST be monospaced and is
expected to be iso8859-1; other characters sets may also work but might
produce a different effect. The font-name for these versions of cpt4
must be an X logical font name such as "*clean-bold-r*--16*".
cd /usr/bin
ln -s /home/johndoe/cpt4/cpt4
License
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
Acknowledgments
The automatic solution algorithm used in CPT was devised by George W. Hart and described in his article "To Decode Short Cryptograms", Communications of ACM, September, 1994. In this version of CPT, the solution algorithm is packaged as a separate executable, the 'C' code for which is largely an adaptation of the public domain demonstration program posted by Dr. Hart on his web site.
Author
Cryptogram Puzzle Tool was designed by Jeff Edwards, lge.aka.jeff@gmail.com. Comments, questions, and suggestions are always welcome.