Version 2.16 Announcement
Due to the tremendous surge of interest in the World-Wide-Web,
this release of tgif supports the retrieval of tgif (obj and sym)
files from HTTP servers. Hypertext jumps are supported
using the old tgif ``teleporting'' or ``traveling'' mechanism
(the attribute "href=" is recognized in addition to the original ones).
For a test run, build the new tgif and do:
tgif http://bourbon.cs.ucla.edu:8001/tgif/index.obj
to retrieve the home page of tgif and navigate from that point on.
A network of tgif files works in a similar fashion as a network of html
files. (Please note that tgif is NOT an html viewer.)
This is basically an ALPHA release, please send bug reports to
william@cs.ucla.edu as you see them! I'll release patches as
fatal errors are fixed.
I've just put tgif-2.16 in the following places for anonymous ftp:
ftp.x.org:/contrib/applications/tgif/tgif-2.16.tar.Z
cs.ucla.edu:/pub/tgif/tgif-2.16.tar.Z
Due to the large size of the patch, the patch is NOT posted to
comp.sources.bugs as usual.
Version 2.16
Added Features/Bug Fixes
- Add another interpretable attribute, "href=", for teleporting. This
is basically equivalent to "warp_to=" (and "wapr_to=" should be consider
obsoleted starting from this release). The attribute value can be an URL
(only http and ftp are supported). This allows remote viewing of an .obj
file located on an http or an ftp server. (Please note that tgif is
NOT an html viewer.)
- Add animation through the use of new internal commands. New internal
commands are: select_obj_by_name, unselect_all_obj,
move_selected_obj_relative, repeat, hyperjump, make_cgi_query, wait_click,
sleep, begin_animate, end_animate, set_redraw, set_selected_obj_color,
set_selected_obj_fill, set_selected_obj_pen, set_selected_obj_line_width,
set_selected_obj_spline, set_selected_obj_arrow, set_selected_obj_dash,
inc, dec, shuffle_obj_to_top, disable_undo, enable_undo, get_drawing_area,
get_selected_obj_bbox, move_selected_obj_absolute, assign, strcpy, while,
and if. Please see the man pages for explanations.
- Add expressions in internal commands.
- Add a Navigate Menu to go back and forth between tgif files and to
access a hot file list. A new X default, Tgif*HotListFileName, can
be used to specify where to store the hot file list.
- Add a ``hyperspace'' mode in which the cursor is position sensitive.
The cursor changes from a pointer to a pointing hand when it is on top of
an object containing a hot-link. When a remote file is opened, tgif enters
hyperspace immediately unless Tgif*AutoHyperSpaceOnRemote is set to false.
NOTE: To prevent a script to do catastrophic damages, the launch= command
is disable while in hyperspace. This can be overridden by the
Tgif*AllowLaunchInHyperSpace X default (but highly discouraged).
- Add new X defaults, Tgif*@@@Viewer, where @@@ is a file extension. For
example, @@@ can be html to specify a viewer for remote files with the
html extensions.
- Add a new command, EmbedEPSFile(), under the File Menu to actually
embed the content of an EPS file in a tgif file (instead of just link
to the EPS file).
- Add new Edit Menu functions SetSelLineWidth() and AddColor().
- Add new Special Menu functions ImportAttrs() and ExportAttrs().
- Add a new X default, Tgif*UsePaperSizeStoredInFile, to set the paper
size when a file is opened.
- Add a new X defaults, Tgif*OneMotionSelMove, so that one can select and
move an object in one motion.
- Add a new X default, Tgif*TiffEPSI, to allow ``Microsoft Windows (tm)
compatible EPS'' files to be generated when printing in the EPSI
mode. Please note that a ``Microsoft Windows compatible EPS'' file is
by no means an EPS file (it does not even start with the %! string, also
it contains binary data). Xbmtopbm and pnmtotiff are needed to make
this work. Tgif*XbmToTiff can be used to specify other converters.
- Add a new X default, Tgif*EPSIExportExtension, to set the exporting EPSI
file extension to a user specified one (such as 'epsi').
- Add a new X default, Tgif*CanChangeAttrColor, to allow changing the color
of attributes when they are attached to objects.
- Fix a couple of bugs in editing file attributes. Thanks to Keefe Hayes
<saskeh@unx.sas.com> for pointing out the problems.
- Fix a bug in processing Tgif*InitialPaperSize.
- Fix a bug in editing file attributes and getting the "Undo()/Redo() may
crash Tgif" error message.
- Cleanup the internal commands. Thanks to Michael Kauschke
<mka@rob.cs.tu-bs.de> for the contributed code.
- Clean up some of the VMS releated stuff. Thanks to Jonathan Couper
<couper@metdp2.met.co.nz>
and Damian Cannell <Damian.Cannell@cmc.com.au>
for their help.
- When importing EPS files, also look for files with the epsi extension.
Thanks to Jaap Haalboom <haalboom@prl.philips.nl> for the patch.
- A new vertion of 'pstotgif', which is called 'pstoedit', written by
Wolfgang Glunz, which converts a PostScript file to a tgif .obj file
is made available at the following places for anonymous ftp:
ftp.x.org:/contrib/applications/tgif/pstoedit/pstoedit.tar.gz
cs.ucla.edu:/pub/tgif/pstoedit/pstoedit.tar.gz
bourbon.cs.ucla.edu:/pub/pstoedit/pstoedit.tar.gz
Below is the beginning part of its README file (README.pstoedit in
the ftp directories):
PSTOEDIT
Copyright (C) 1993,1994 Wolfgang Glunz, Wolfgang.Glunz@zfe.siemens.de
pstoedit allows to convert Postscript(TM) files to a simple vector
graphic format, that can be edited. Currently tgif and Framemaker(TM)
(MIF-format) and flat PostScript are supported. Ask archie on where to
find tgif. pstoedit works by redefining the basic painting operators
of Postscript. Others like image are not supported. After redefining
these operators, the Postscript file that needs to be converted is
processed by GhostScript (gs). So you need to have Ghostscript in order
to use this program. pstoedit uses a postprocessor to actually build
the input file for the editor. This is a small lex-program (makeedit).
To build it, just type make. Edit the pstoedit script and change LIB
according to your local environment. You need a C++ compiler, e.g. g++,
to compile makeedit.
William Chia-Wei Cheng (william@cs.umd.edu)