Use the "patch" program to apply this patch file to xfig 3.2.3c to convert it to version 3.2.3d. E.g. "patch < thisfile". diff -rc transfig.3.2.3c/CHANGES transfig.3.2.3d/CHANGES *** transfig.3.2.3c/CHANGES Mon Jul 24 10:33:55 2000 --- transfig.3.2.3d/CHANGES Tue May 29 12:12:25 2001 *************** *** 3,12 **** Version 3.2 =============================================================================== - Patchlevel 3c (July 25, 2000) - NEW FEATURES BUGS FIXED o TransFig manual Makefile now calls ../../fig2dev/fig2dev preventing the Catch-22 problem of having to install TransFig before you can --- 3,65 ---- Version 3.2 =============================================================================== NEW FEATURES + Patchlevel 3d: (May 29, 2001) + + o MetaPost driver (-L mp or -L mmp) ported from fig2MP by Klaus + Guntermann (guntermann@iti.informatik.tu-darmstadt.de). fig2MP was + written by Dane Dwyer (dwyer@geisel.csl.uiuc.edu) + o Support for importing PNG image files added + o Transparent color in imported GIF files now honored + o You may use "-M -" to send the Makefile output to standard output from + TransFig, and "-T -" to send the Texfile to standard output. + o (The following feature was really added in 3.2.3, but I forgot to update + this file): -S option added for smoothing bitmap output. + o (The following feature was really added in 3.2.3b, but ... you know...): + eps added as a language for TransFig + o Support for Czech font encoding for PostScript (cs_CZ.ps) + From Radim Gelner + + BUGS FIXED + + o #ifdef JPEG added in usage message for JPEG options + o Resolution variable (ppi) needed to be double. This caused roundoff + and overflow errors in several drivers. + o Comments longer than 200 characters in Fig files caused segfault. + Comments may now be of unlimited length. + o some bitmap files for tk driver had double brackets "{" + o The CGM driver didn't check if the "from" input was from stdin or a + file and segfaulted. + o Spline objects with trailing blanks (in file) made next object read + incorrectly. + o Bounding box incorrectly counted line thickness in imported picture + objects (they don't use the line thickness) + o The amount to shift a figure to 0,0 was rounded to integer, which + caused some figures to be clipped by the bounding box. This affected + eps and bitmap output. + o The ibmgl driver output NaNs because of a double/int mixup with printf + o Certain punctuation characters with descenders weren't taken into + account for text bounds. + o An extra page was generated for pdf output. + o Every object had 0.0000 coordinates when exporting to the MetaFont + driver. + o fig2dev would crash when reading FIG 3.1 files that have splines. The + problem was that the "points" component of the spline structure is in + a different position than in the line structure, causing arrow_bound + to use the wrong data. + o "%Page:" DSC comment is not generated generated for EPS now + o Trailing blank in spline object (after control points) caused problem + when reading Fig file + o TransFig didn't check whether Texfile or Makefile could be opened for + writing, causing segfault + o AutoRotatePages now set to None when using ghostscript to export PDF + o Changed explicit "ln -s" to use $(LN) for making symlinks during + install (fig2dev/Imakefile) + + ------------------------------ + Patchlevel 3c (July 25, 2000) + BUGS FIXED o TransFig manual Makefile now calls ../../fig2dev/fig2dev preventing the Catch-22 problem of having to install TransFig before you can *************** *** 18,24 **** values o File ko_KR.ujis.ps removed because it is not needed ! ---------------------------- Patchlevel 3b (July 19, 2000) N.B. There was no transfig 3.2.3a - I want to keep the release number identical --- 71,77 ---- values o File ko_KR.ujis.ps removed because it is not needed ! ------------------------------ Patchlevel 3b (July 19, 2000) N.B. There was no transfig 3.2.3a - I want to keep the release number identical *************** *** 34,39 **** --- 87,93 ---- (which are converted to PCX first) may also be 24-bit BUGS FIXED + o Exporting to PDF now sets bounding box to figure bounds instead of page o Explicitely sets color to black before importing eps file in case that file doesn't select a color o Changed error message in epic driver from "Unknown style" to "Only diff -rc transfig.3.2.3c/Imakefile transfig.3.2.3d/Imakefile *** transfig.3.2.3c/Imakefile Wed Apr 12 09:15:18 2000 --- transfig.3.2.3d/Imakefile Wed Mar 21 11:32:00 2001 *************** *** 39,45 **** manual: transfig.man:: doc/transfig.1 ! -ln -s ../doc/transfig.1 transfig.man cd doc/manual; $(MAKE); latex manual; latex manual clean:: --- 39,45 ---- manual: transfig.man:: doc/transfig.1 ! -$(LN) ../doc/transfig.1 transfig.man cd doc/manual; $(MAKE); latex manual; latex manual clean:: diff -rc transfig.3.2.3c/README transfig.3.2.3d/README *** transfig.3.2.3c/README Fri Jul 14 10:37:08 2000 --- transfig.3.2.3d/README Mon Mar 26 11:37:31 2001 *************** *** 25,31 **** It was written by Eric Masson (McGill University) TransFig and its companion xfig are available from: ! ftp://www-epb.lbl.gov/xfig http://www.xfig.org/xfigdist ftp://ftp.x.org/contrib/applications/drawing_tools ftp://ftp.cdrom.com/pub/X11/contrib/applications/drawing_tools --- 25,31 ---- It was written by Eric Masson (McGill University) TransFig and its companion xfig are available from: ! ftp://epb.lbl.gov/xfig http://www.xfig.org/xfigdist ftp://ftp.x.org/contrib/applications/drawing_tools ftp://ftp.cdrom.com/pub/X11/contrib/applications/drawing_tools *************** *** 39,44 **** --- 39,46 ---- same directory that xfig uses (usually /usr/local/lib/xfig). This will be used to hold the bitmaps directory for the tk fill patterns. 2. Do a "xmkmf" to create the top level Makefile from the Imakefile + Note: If you don't have "xmkmf" on your system type + "make -f Makefile.noimake Makefile" 3. Do a "make Makefiles" 4. Do a "make" to make the programs **** This MUST be done before "make install" **** *************** *** 70,95 **** (usually /usr/local/lib/xfig). This will be used to hold the bitmaps directory for the tk fill patterns. ! o If you have NOT installed the JPEG library in your system library area, ! comment out the USEINSTALLEDJPEG in fig2dev/Imakefile variable, change the ! JPEGLIBDIR variable to the directory where your JPEG library resides and ! change the JPEGINC to the directory where your JPEG header files (include) ! reside. You must have version 5b or newer of the JPEG library. ! ! The JPEG library is available from several places. The official archive site ! is ftp.uu.net in /graphics/jpeg. ! Another site is ftp.x.org in /contrib/libraries. o If you don't want to be able to import JPEG images in your Fig files at all then comment out the "#define USEJPEG" line in the fig2dev/Imakefile. o If you want to be able to translate Fig files that have imported XPM files (color pixmaps) uncomment the "#define USEXPM" line in fig2dev/Imakefile. You need version 3.4c or newer of the XPM package. This is available from ftp.x.org in /contrib/libraries. ! o If your system has the strerror() function (doesn't have sys_errlist) then ! comment out NEED_STRERROR with an XCOMM comment. o If your system can open files in text and binary modes and has the setmode() function, uncomment HAVE_SETMODE. This probably only applies to Windows 9x/NT --- 72,113 ---- (usually /usr/local/lib/xfig). This will be used to hold the bitmaps directory for the tk fill patterns. ! o If you want to be able to import JPEG images then: ! o If you already have a JPEG library in your system library directory leave ! the "#define USEINSTALLEDJPEG" line (don't comment it out) in the Imakefile. ! o If you don't have it installed, get it from one of the following places, ! comment out the #define USEINSTALLEDJPEG line in the Imakefile (using XCOMM) ! and point JPEGLIBDIR to the diredctory where the source is. The default is ! ../jpeg (relative to the xfig source directory). ! You must also change the JPEGINCDIR variable to the directory where your ! jpeg header files (include) reside. ! o You must have version 5b or newer of the JPEG library. ! o The JPEG library is available from several places. The official ! archive site is ftp.uu.net in /graphics/jpeg. ! Another is ftp.x.org in /contrib/libraries. ! o ** Make sure you delete or rename any older version of the JPEG ! library you might have on your system. Some Linux systems come ! with an older version which is incompatible with xfig. o If you don't want to be able to import JPEG images in your Fig files at all then comment out the "#define USEJPEG" line in the fig2dev/Imakefile. + o If you *don't* want PNG support, comment out the #define USEPNG line in + the Imakefile. + + o If you want to be able to import PNG images then: + o Uncomment the "#define USEPNG" line in the Imakefile. + o You need the PNG library (-lpng) and the zlib (-lz) compression library. + You can find the PNG sources at http://www.libpng.org/pub/png/libpng.html and + the zlib sources at ftp://ftp.cdrom.com/pub/infozip/zlib. + o If you want to be able to translate Fig files that have imported XPM files (color pixmaps) uncomment the "#define USEXPM" line in fig2dev/Imakefile. You need version 3.4c or newer of the XPM package. This is available from ftp.x.org in /contrib/libraries. ! o If your system doesn't have the strerror() function then uncomment the ! "#define NEED_STRERROR" in the Imakefile. o If your system can open files in text and binary modes and has the setmode() function, uncomment HAVE_SETMODE. This probably only applies to Windows 9x/NT *************** *** 111,122 **** the final format in the case of JPEG, PCX and TIFF, or to PPM (portable pixmap) after which the appropriate ppmtoXXX filter is used to get ACAD, GIF, XPM and XBM. If smoothing is done (-S option) when jpeg output is used, the ! "cjpeg" program must be installed from the jpeg package. This is done ! automatically when you "make" TransFig or fig2dev. ! o You need the netpbm package of March 1994 (or later), which you can find ! at ftp://ftp.x.org/contrib/utilities or ! at ftp://ftp.cdrom.com/pub/X11/contrib/utilities. o You will also need ghostscript, which can be found on ftp.cs.wisc.edu in /ghost/aladdin, *AND* it must be compiled with the pcx256, jpeg, png256, --- 129,138 ---- the final format in the case of JPEG, PCX and TIFF, or to PPM (portable pixmap) after which the appropriate ppmtoXXX filter is used to get ACAD, GIF, XPM and XBM. If smoothing is done (-S option) when jpeg output is used, the ! "ppmtojpeg" program must be installed from the netpbm package. ! o You need the netpbm package version 9.1 (or later), which you can find at ! http://download.sourceforge.net/netpbm o You will also need ghostscript, which can be found on ftp.cs.wisc.edu in /ghost/aladdin, *AND* it must be compiled with the pcx256, jpeg, png256, diff -rc transfig.3.2.3c/doc/fig2dev.1 transfig.3.2.3d/doc/fig2dev.1 *** transfig.3.2.3c/doc/fig2dev.1 Mon Jul 24 10:34:49 2000 --- transfig.3.2.3d/doc/fig2dev.1 Tue May 29 12:13:26 2001 *************** *** 1,4 **** ! .TH FIG2DEV 1 "Version 3.2.3c July 25, 2000" .SH NAME fig2dev \- translates Fig code to various graphics languages --- 1,4 ---- ! .TH FIG2DEV 1 "Version 3.2.3d May 29, 2001" .SH NAME fig2dev \- translates Fig code to various graphics languages *************** *** 51,57 **** Set the output graphics language. Valid languages are \fBbox, cgm, epic, eepic, eepicemu, eps, gif, ibmgl, jpeg, ! latex, map (HTML image map), mf (METAFONT), pcx, pdf, pic, pictex, png, ppm, ps, pstex, pstex_t, sld (AutoCad slide format), textyl, \fR tiff, tk (tcl/tk), tpic, xbm and .B xpm. --- 51,58 ---- Set the output graphics language. Valid languages are \fBbox, cgm, epic, eepic, eepicemu, eps, gif, ibmgl, jpeg, ! latex, map (HTML image map), mf (MetaFont), mp (MetaPost), mmp (MultiMetaPost), ! pcx, pdf, pic, pictex, png, ppm, ps, pstex, pstex_t, sld (AutoCad slide format), textyl, \fR tiff, tk (tcl/tk), tpic, xbm and .B xpm. *************** *** 63,69 **** .I xdvi must be compiled with the tpic support (-DTPIC) for epic, eepic and tpic to work. .br ! You must have ghostscript and ps2pdf, which comes with the ghostscript distribution to get the pdf output and the bitmap formats (png, jpeg, etc.), and the netpbm (pbmplus) package to get gif, xbm, xpm, and sld output. --- 64,70 ---- .I xdvi must be compiled with the tpic support (-DTPIC) for epic, eepic and tpic to work. .br ! You must have ghostscript to get the pdf output and the bitmap formats (png, jpeg, etc.), and the netpbm (pbmplus) package to get gif, xbm, xpm, and sld output. *************** *** 305,316 **** .B -S smoothfactor This will smooth the output by scaling the figure by the .I smoothfactor ! factor, which forces ghostscript to render the figure at the higher scale ! to improve font rendering, then passing through pnmscale to reduce to original size, ! which also smooths the image by averaging colors of adjacent pixels. ! A value of 2 or 3 for .I smoothfactor ! is reasonable. xfig uses 2 when the "smooth" option is used in the export panel. .SH GIF OPTIONS --- 306,316 ---- .B -S smoothfactor This will smooth the output by scaling the figure by the .I smoothfactor ! factor, which uses the TextAlphaBits and GraphicsAlphaBits option in ! ghostscript to smooth text and graphics ! Values of 0, 2 or 4 for .I smoothfactor ! are allowed. xfig uses 2 when the "smooth" option is used in the export panel. .SH GIF OPTIONS diff -rc transfig.3.2.3c/doc/manual/manual.tex transfig.3.2.3d/doc/manual/manual.tex *** transfig.3.2.3c/doc/manual/manual.tex Mon Jan 3 10:37:26 2000 --- transfig.3.2.3d/doc/manual/manual.tex Tue May 29 12:15:47 2001 *************** *** 11,17 **** \newcommand{\version}{2.1.5} % %\lfoot{\small\it \today} ! \lfoot{\small Jan 3, 2000} \cfoot{\small Version \version} \rfoot{\small\rm page\ \thepage} % --- 11,17 ---- \newcommand{\version}{2.1.5} % %\lfoot{\small\it \today} ! \lfoot{\small May 29, 2001} \cfoot{\small Version \version} \rfoot{\small\rm page\ \thepage} % diff -rc transfig.3.2.3c/doc/transfig.1 transfig.3.2.3d/doc/transfig.1 *** transfig.3.2.3c/doc/transfig.1 Fri Jul 14 10:20:28 2000 --- transfig.3.2.3d/doc/transfig.1 Tue May 29 12:13:30 2001 *************** *** 1,4 **** ! .TH TRANSFIG 1 "Version 3.2.3b July 19, 2000" .SH NAME transfig \- creates a makefile for portable LaTeX figures .SH SYNOPSIS --- 1,4 ---- ! .TH TRANSFIG 1 "Version 3.2.3d May 29, 2001" .SH NAME transfig \- creates a makefile for portable LaTeX figures .SH SYNOPSIS *************** *** 53,58 **** --- 53,59 ---- .PP The names of the makefile and TeX macro file can be set with the -M and -T options. + To send output to standard output for either option, use "-" for the filename. The default names are "Makefile" and "transfig.tex", respectively. If the -I option is specified, then a command to read in \fImacrofile\fR is inserted into the TeX macro file. diff -rc transfig.3.2.3c/fig2dev/Imakefile transfig.3.2.3d/fig2dev/Imakefile *** transfig.3.2.3c/fig2dev/Imakefile Thu Jul 20 09:38:53 2000 --- transfig.3.2.3d/fig2dev/Imakefile Thu Apr 19 10:19:38 2001 *************** *** 58,63 **** --- 58,74 ---- RGB = $(LIBDIR)/rgb.txt + XCOMM Comment out the following #define USEPNG if you don't want PNG support + XCOMM Uncomment the #define for USEPNG if you want to be able to import + XCOMM PNG (Portable Network Graphics) files. + + #define USEPNG + + #ifdef USEPNG + PNGLIBDIR = $(USRLIBDIR) + PNGINC = -I/usr/include/X11 + #endif + XCOMM **************** XCOMM Unomment the #define for USEXPM if you want to use the XPM XCOMM (color pixmap) package. *************** *** 75,81 **** #endif XCOMM **************** ! XCOMM If don't want to use JPEG, comment out the following line #define USEJPEG --- 86,94 ---- #endif XCOMM **************** ! XCOMM If don't want JPEG support, comment out the #define USEJPEG line ! XCOMM Uncomment the #define for USEJPEG if you want to be able to import ! XCOMM JPEG (Joint Photographic Experts Group) files. #define USEJPEG *************** *** 139,147 **** XCOMM #define NOSTRSTR XCOMM **************** ! XCOMM Uncomment the next line if you want use Japanese (i18n) on xfig. ! XCOMM #define I18N #ifdef I18N I18N_DEFS = -DI18N --- 152,160 ---- XCOMM #define NOSTRSTR XCOMM **************** ! XCOMM Uncomment the next line if you want use Japanese (i18n) in transfig. ! #define I18N #ifdef I18N I18N_DEFS = -DI18N *************** *** 153,166 **** $(INSTALL) -m 644 -c dev/japanese.ps $(DESTDIR)$(FIG2DEV_LIBDIR) ( cd $(DESTDIR)$(FIG2DEV_LIBDIR); \ rm -f ja.ps ja_JP.ps ja_JP.ujis.ps ja_JP.eucJP.ps ja_JP.EUC.ps; \ ! ln -s japanese.ps ja.ps; ln -s japanese.ps ja_JP.ps; \ ! ln -s japanese.ps ja_JP.ujis.ps; ln -s japanese.ps ja_JP.eucJP.ps; \ ! ln -s japanese.ps ja_JP.EUC.ps ) $(INSTALL) -m 644 -c dev/korean.ps $(DESTDIR)$(FIG2DEV_LIBDIR) ( cd $(DESTDIR)$(FIG2DEV_LIBDIR); \ rm -f ko.ps ko_KR.ps ko_KR.eucKR.ps ko_KR.EUC.ps; \ ! ln -s korean.ps ko.ps; ln -s korean.ps ko_KR.ps; \ ! ln -s korean.ps ko_KR.eucKR.ps; ln -s korean.ps ko_KR.EUC.ps ) #endif DEFINES = $(NEED_STRERROR) $(HAVE_NO_STRCASECMP) $(HAVE_NO_STRNCASECMP) $(USEINLINE) \ --- 166,180 ---- $(INSTALL) -m 644 -c dev/japanese.ps $(DESTDIR)$(FIG2DEV_LIBDIR) ( cd $(DESTDIR)$(FIG2DEV_LIBDIR); \ rm -f ja.ps ja_JP.ps ja_JP.ujis.ps ja_JP.eucJP.ps ja_JP.EUC.ps; \ ! $(LN) japanese.ps ja.ps; $(LN) japanese.ps ja_JP.ps; \ ! $(LN) japanese.ps ja_JP.ujis.ps; $(LN) japanese.ps ja_JP.eucJP.ps; \ ! $(LN) japanese.ps ja_JP.EUC.ps ) $(INSTALL) -m 644 -c dev/korean.ps $(DESTDIR)$(FIG2DEV_LIBDIR) ( cd $(DESTDIR)$(FIG2DEV_LIBDIR); \ rm -f ko.ps ko_KR.ps ko_KR.eucKR.ps ko_KR.EUC.ps; \ ! $(LN) korean.ps ko.ps; $(LN) korean.ps ko_KR.ps; \ ! $(LN) korean.ps ko_KR.eucKR.ps; $(LN) korean.ps ko_KR.EUC.ps ) ! $(INSTALL) -m 644 -c dev/cs_CZ.ps $(DESTDIR)$(FIG2DEV_LIBDIR) #endif DEFINES = $(NEED_STRERROR) $(HAVE_NO_STRCASECMP) $(HAVE_NO_STRNCASECMP) $(USEINLINE) \ *************** *** 173,178 **** --- 187,197 ---- DIR_DEFS= -DBITMAPDIR=\\\"$(DESTDIR)$(XFIGLIBDIR)/bitmaps\\\" + #ifdef USEPNG + DUSEPNG = -DUSE_PNG + PNGLIBS = -L$(PNGLIBDIR) -lpng -lz + #endif /* USEPNG */ + #ifdef USEXPM DUSEXPM = -DUSE_XPM XPMLIBS = -L$(XPMLIBDIR) -lXpm -lX11 *************** *** 197,205 **** #endif /* USEJPEG */ ! IMAKE_DEFINES = $(DUSEJPEG) $(DUSEXPM) ! DEVDEFINES = $(DUSEJPEG) $(DUSEXPM) $(XPMINC) $(JPEGINC) $(DDNFSS) $(DDA4) \ $(DDLATEX2E_GRAPHICS) $(DDEPSFIG) $(DDIBMGEC) $(DDDVIPS) $(I18N_DEV_DEFS) #define IHaveSubdirs --- 216,224 ---- #endif /* USEJPEG */ ! IMAKE_DEFINES = $(DUSEPNG) $(DUSEJPEG) $(DUSEXPM) ! DEVDEFINES = $(DUSEPNG) $(DUSEJPEG) $(DUSEXPM) $(XPMINC) $(JPEGINC) $(DDNFSS) $(DDA4) \ $(DDLATEX2E_GRAPHICS) $(DDEPSFIG) $(DDIBMGEC) $(DDDVIPS) $(I18N_DEV_DEFS) #define IHaveSubdirs *************** *** 215,223 **** LOCAL_LIBRARIES = $(LIBTRANSFIG) $(JPEGLIB) #if defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) ! SYS_LIBRARIES = $(XPMLIBS) -lm -lcompat #else ! SYS_LIBRARIES = $(XPMLIBS) -lm #endif DEPLIBS = $(LIBTRANSFIG) --- 234,242 ---- LOCAL_LIBRARIES = $(LIBTRANSFIG) $(JPEGLIB) #if defined(NetBSDArchitecture) || defined(FreeBSDArchitecture) ! SYS_LIBRARIES = $(PNGLIBS) $(XPMLIBS) -lm -lcompat #else ! SYS_LIBRARIES = $(PNGLIBS) $(XPMLIBS) -lm #endif DEPLIBS = $(LIBTRANSFIG) *************** *** 277,289 **** fig2dev.man:: ../doc/fig2dev.1 $(RM) fig2dev.man ! -ln -s ../doc/fig2dev.1 fig2dev.man fig2ps2tex.man:: ../doc/fig2ps2tex.1 $(RM) fig2ps2tex.man ! -ln -s ../doc/fig2ps2tex.1 fig2ps2tex.man pic2tpic.man:: ../doc/pic2tpic.1 $(RM) pic2tpic.man ! -ln -s ../doc/pic2tpic.1 pic2tpic.man --- 296,308 ---- fig2dev.man:: ../doc/fig2dev.1 $(RM) fig2dev.man ! -$(LN) ../doc/fig2dev.1 fig2dev.man fig2ps2tex.man:: ../doc/fig2ps2tex.1 $(RM) fig2ps2tex.man ! -$(LN) ../doc/fig2ps2tex.1 fig2ps2tex.man pic2tpic.man:: ../doc/pic2tpic.1 $(RM) pic2tpic.man ! -$(LN) ../doc/pic2tpic.1 pic2tpic.man diff -rc transfig.3.2.3c/fig2dev/bitmaps/p13.bmp transfig.3.2.3d/fig2dev/bitmaps/p13.bmp *** transfig.3.2.3c/fig2dev/bitmaps/p13.bmp Mon Apr 6 11:34:26 1998 --- transfig.3.2.3d/fig2dev/bitmaps/p13.bmp Mon Aug 14 17:21:03 2000 *************** *** 1,7 **** #define sp13_width 32 #define sp13_height 32 static char sp13_bits[] = { ! {0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe,0xfe,0xfe, 0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xee,0xef, 0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe, 0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55, --- 1,7 ---- #define sp13_width 32 #define sp13_height 32 static char sp13_bits[] = { ! 0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe,0xfe,0xfe, 0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xee,0xef, 0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe, 0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55, *************** *** 9,12 **** 0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55, 0x55,0x55,0xee,0xef,0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55, 0x55,0x55,0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb, ! 0x55,0x55,0x55,0x55,0xef,0xef,0xef,0xef}} --- 9,12 ---- 0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55, 0x55,0x55,0xee,0xef,0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55, 0x55,0x55,0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb, ! 0x55,0x55,0x55,0x55,0xef,0xef,0xef,0xef} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp0.bmp transfig.3.2.3d/fig2dev/bitmaps/sp0.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp0.bmp Mon Apr 6 11:24:31 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp0.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp0_width 32 #define sp0_height 32 static char sp0_bits[] = { - {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --- 1,6 ---- *************** *** 9,12 **** 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ! 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} --- 8,12 ---- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ! 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ! 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp1.bmp transfig.3.2.3d/fig2dev/bitmaps/sp1.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp1.bmp Mon Apr 6 11:25:19 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp1.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp1_width 32 #define sp1_height 32 static char sp1_bits[] = { ! {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88, 0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08, 0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88, 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, --- 1,7 ---- #define sp1_width 32 #define sp1_height 32 static char sp1_bits[] = { ! 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x88,0x88, 0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08, 0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88, 0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, *************** *** 9,12 **** 0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ! 0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08}} --- 9,12 ---- 0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, ! 0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp10.bmp transfig.3.2.3d/fig2dev/bitmaps/sp10.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp10.bmp Mon Apr 6 11:32:13 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp10.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp10_width 32 #define sp10_height 32 static char sp10_bits[] = { ! {0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa, 0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa, 0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa, 0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55, --- 1,7 ---- #define sp10_width 32 #define sp10_height 32 static char sp10_bits[] = { ! 0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa, 0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa, 0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa, 0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55, *************** *** 9,12 **** 0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55, 0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55, 0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa, ! 0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa}} --- 9,12 ---- 0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55, 0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55, 0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa, ! 0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp11.bmp transfig.3.2.3d/fig2dev/bitmaps/sp11.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp11.bmp Mon Apr 6 11:33:08 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp11.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp11_width 32 #define sp11_height 32 static char sp11_bits[] = { ! {0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa, 0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa, 0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa, 0xaa,0xaa,0xaa,0xdd,0xd5,0xdd,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55, --- 1,7 ---- #define sp11_width 32 #define sp11_height 32 static char sp11_bits[] = { ! 0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa, 0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa, 0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa, 0xaa,0xaa,0xaa,0xdd,0xd5,0xdd,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55, *************** *** 9,12 **** 0x55,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55, 0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55, 0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xdd,0xd5,0xdd,0xd5,0xaa,0xaa,0xaa,0xaa, ! 0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa}} --- 9,12 ---- 0x55,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x55,0x55, 0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xdd,0xdd,0xdd,0xdd,0xaa,0xaa,0xaa,0xaa,0x55, 0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0xdd,0xd5,0xdd,0xd5,0xaa,0xaa,0xaa,0xaa, ! 0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp12.bmp transfig.3.2.3d/fig2dev/bitmaps/sp12.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp12.bmp Mon Apr 6 11:33:45 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp12.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp12_width 32 #define sp12_height 32 static char sp12_bits[] = { ! {0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa, 0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xdd,0x5d,0xdd,0x5d,0xaa,0xaa, 0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa, 0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0x5d,0xdd,0x5d,0xdd, --- 1,7 ---- #define sp12_width 32 #define sp12_height 32 static char sp12_bits[] = { ! 0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa,0xaa,0xaa, 0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xdd,0x5d,0xdd,0x5d,0xaa,0xaa, 0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5,0xd5,0xd5,0xd5,0xaa, 0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0x5d,0xdd,0x5d,0xdd, *************** *** 9,12 **** 0xd5,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xdd,0x5d, 0xdd,0x5d,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5, 0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa, ! 0x5d,0xdd,0x5d,0xdd,0xaa,0xaa,0xaa,0xaa}} --- 9,12 ---- 0xd5,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xdd,0x5d, 0xdd,0x5d,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xd5, 0xd5,0xd5,0xd5,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa, ! 0x5d,0xdd,0x5d,0xdd,0xaa,0xaa,0xaa,0xaa} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp13.bmp transfig.3.2.3d/fig2dev/bitmaps/sp13.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp13.bmp Wed Apr 15 12:39:38 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp13.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp13_width 32 #define sp13_height 32 static char sp13_bits[] = { ! {0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe,0xfe,0xfe, 0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xee,0xef, 0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe, 0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55, --- 1,7 ---- #define sp13_width 32 #define sp13_height 32 static char sp13_bits[] = { ! 0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe,0xfe,0xfe, 0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xee,0xef, 0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55,0xfe, 0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55,0x55,0x55, *************** *** 9,12 **** 0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55, 0x55,0x55,0xee,0xef,0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55, 0x55,0x55,0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb, ! 0x55,0x55,0x55,0x55,0xef,0xef,0xef,0xef}} --- 9,12 ---- 0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55,0x55, 0x55,0x55,0xee,0xef,0xee,0xef,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb,0x55, 0x55,0x55,0x55,0xfe,0xfe,0xfe,0xfe,0x55,0x55,0x55,0x55,0xbb,0xbb,0xbb,0xbb, ! 0x55,0x55,0x55,0x55,0xef,0xef,0xef,0xef} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp14.bmp transfig.3.2.3d/fig2dev/bitmaps/sp14.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp14.bmp Mon Apr 6 11:35:03 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp14.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp13_width 32 #define sp13_height 32 static char sp13_bits[] = { ! {0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa, 0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x7f,0x77,0x7f,0xaa,0xaa, 0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa, 0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x7f,0x7f,0x7f,0x7f, --- 1,7 ---- #define sp13_width 32 #define sp13_height 32 static char sp13_bits[] = { ! 0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa,0xaa,0xaa, 0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x7f,0x77,0x7f,0xaa,0xaa, 0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x77,0x77,0x77,0xaa, 0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x7f,0x7f,0x7f,0x7f, *************** *** 9,12 **** 0x77,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x7f, 0x77,0x7f,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77, 0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa, ! 0x7f,0x7f,0x7f,0x7f,0xaa,0xaa,0xaa,0xaa}} --- 9,12 ---- 0x77,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77,0x7f, 0x77,0x7f,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0x77, 0x77,0x77,0x77,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa, ! 0x7f,0x7f,0x7f,0x7f,0xaa,0xaa,0xaa,0xaa} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp15.bmp transfig.3.2.3d/fig2dev/bitmaps/sp15.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp15.bmp Mon Apr 6 11:35:35 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp15.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp14_width 32 #define sp14_height 32 static char sp14_bits[] = { ! {0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa, 0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa, 0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa, 0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff, --- 1,7 ---- #define sp14_width 32 #define sp14_height 32 static char sp14_bits[] = { ! 0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa, 0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa, 0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa, 0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff, *************** *** 9,12 **** 0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff, 0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff, 0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa, ! 0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa}} --- 9,12 ---- 0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff, 0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff, 0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa,0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa, ! 0xff,0xff,0xff,0xff,0xaa,0xaa,0xaa,0xaa} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp16.bmp transfig.3.2.3d/fig2dev/bitmaps/sp16.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp16.bmp Mon Apr 6 11:36:10 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp16.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp15_width 32 #define sp15_height 32 static char sp15_bits[] = { ! {0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xdd,0xff,0xff,0xff, 0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0xdd,0x5d,0xdd,0xff,0xff, 0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xdd,0xff, 0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0x5d,0x5d,0x5d, --- 1,7 ---- #define sp15_width 32 #define sp15_height 32 static char sp15_bits[] = { ! 0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xdd,0xff,0xff,0xff, 0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0xdd,0x5d,0xdd,0xff,0xff, 0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd,0xdd,0xdd,0xdd,0xff, 0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0x5d,0x5d,0x5d, *************** *** 9,12 **** 0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0xdd, 0x5d,0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd, 0xdd,0xdd,0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff, ! 0x5d,0x5d,0x5d,0x5d,0xff,0xff,0xff,0xff}} --- 9,12 ---- 0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0x5d,0xdd, 0x5d,0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff,0xdd, 0xdd,0xdd,0xdd,0xff,0xff,0xff,0xff,0x55,0x55,0x55,0x55,0xff,0xff,0xff,0xff, ! 0x5d,0x5d,0x5d,0x5d,0xff,0xff,0xff,0xff} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp17.bmp transfig.3.2.3d/fig2dev/bitmaps/sp17.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp17.bmp Mon Apr 6 11:36:43 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp17.bmp Mon Aug 14 17:21:04 2000 *************** *** 1,7 **** #define sp16_width 32 #define sp16_height 32 static char sp16_bits[] = { ! {0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,0xba,0xff,0xff,0xff, 0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xab,0xbb,0xab,0xbb,0xff,0xff, 0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,0xba,0xff, 0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xab,0xbb,0xab, --- 1,7 ---- #define sp16_width 32 #define sp16_height 32 static char sp16_bits[] = { ! 0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,0xba,0xff,0xff,0xff, 0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xab,0xbb,0xab,0xbb,0xff,0xff, 0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xba,0xba,0xba,0xff, 0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb,0xab,0xbb,0xab, *************** *** 9,12 **** 0xba,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xab,0xbb, 0xab,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb, 0xba,0xba,0xba,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff, ! 0xbb,0xab,0xbb,0xab,0xff,0xff,0xff,0xff}} --- 9,12 ---- 0xba,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xab,0xbb, 0xab,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbb, 0xba,0xba,0xba,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff, ! 0xbb,0xab,0xbb,0xab,0xff,0xff,0xff,0xff} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp18.bmp transfig.3.2.3d/fig2dev/bitmaps/sp18.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp18.bmp Mon Apr 6 11:37:23 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp18.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp17_width 32 #define sp17_height 32 static char sp17_bits[] = { ! {0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb, 0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbf,0xbb, 0xbf,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xfb, 0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff, --- 1,7 ---- #define sp17_width 32 #define sp17_height 32 static char sp17_bits[] = { ! 0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb, 0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xbf,0xbb, 0xbf,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff,0xfb, 0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff,0xff,0xff, *************** *** 9,12 **** 0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff, 0xff,0xff,0xbf,0xbb,0xbf,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff, 0xff,0xff,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee, ! 0xff,0xff,0xff,0xff,0xbf,0xbf,0xbf,0xbf}} --- 9,12 ---- 0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff,0xff, 0xff,0xff,0xbf,0xbb,0xbf,0xbb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee,0xff, 0xff,0xff,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xee,0xee,0xee,0xee, ! 0xff,0xff,0xff,0xff,0xbf,0xbf,0xbf,0xbf}: diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp19.bmp transfig.3.2.3d/fig2dev/bitmaps/sp19.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp19.bmp Mon Apr 6 11:37:56 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp19.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp18_width 32 #define sp18_height 32 static char sp18_bits[] = { ! {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0xbb,0xbb, 0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfb, 0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb, 0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, --- 1,7 ---- #define sp18_width 32 #define sp18_height 32 static char sp18_bits[] = { ! 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb,0xbb,0xbb, 0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xfb, 0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbb, 0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, *************** *** 9,12 **** 0xff,0xbb,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xbb,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, ! 0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb,0xfb}} --- 9,12 ---- 0xff,0xbb,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xfb,0xfb,0xfb,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xbb,0xbb,0xbb,0xbb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, ! 0xff,0xff,0xff,0xff,0xfb,0xfb,0xfb,0xfb} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp2.bmp transfig.3.2.3d/fig2dev/bitmaps/sp2.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp2.bmp Mon Apr 6 11:27:10 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp2.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp2_width 32 #define sp2_height 32 static char sp2_bits[] = { ! {0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00, 0x00,0x01,0x11,0x01,0x11,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00, 0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00, 0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44, --- 1,7 ---- #define sp2_width 32 #define sp2_height 32 static char sp2_bits[] = { ! 0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00, 0x00,0x01,0x11,0x01,0x11,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00, 0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00, 0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44, *************** *** 9,12 **** 0x44,0x00,0x00,0x00,0x00,0x01,0x11,0x01,0x11,0x00,0x00,0x00,0x00,0x44,0x44, 0x44,0x44,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44, 0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, ! 0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00}} --- 9,12 ---- 0x44,0x00,0x00,0x00,0x00,0x01,0x11,0x01,0x11,0x00,0x00,0x00,0x00,0x44,0x44, 0x44,0x44,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x44, 0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, ! 0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp20.bmp transfig.3.2.3d/fig2dev/bitmaps/sp20.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp20.bmp Mon Apr 6 11:38:25 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp20.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp19_width 32 #define sp19_height 32 static char sp19_bits[] = { - {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, --- 1,6 ---- *************** *** 9,12 **** 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, ! 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}} --- 8,12 ---- 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, ! 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, ! 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp3.bmp transfig.3.2.3d/fig2dev/bitmaps/sp3.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp3.bmp Mon Apr 6 11:26:49 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp3.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp3_width 32 #define sp3_height 32 static char sp3_bits[] = { ! {0x00,0x00,0x00,0x00,0x11,0x51,0x11,0x51,0x00,0x00,0x00,0x00,0x44,0x44,0x44, 0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,0x00,0x00,0x44,0x44, 0x44,0x44,0x00,0x00,0x00,0x00,0x51,0x11,0x51,0x11,0x00,0x00,0x00,0x00,0x44, 0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,0x00,0x00, --- 1,7 ---- #define sp3_width 32 #define sp3_height 32 static char sp3_bits[] = { ! 0x00,0x00,0x00,0x00,0x11,0x51,0x11,0x51,0x00,0x00,0x00,0x00,0x44,0x44,0x44, 0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,0x00,0x00,0x44,0x44, 0x44,0x44,0x00,0x00,0x00,0x00,0x51,0x11,0x51,0x11,0x00,0x00,0x00,0x00,0x44, 0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00,0x00,0x00, *************** *** 9,12 **** 0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00, 0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x51,0x11,0x51,0x11,0x00, 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15, ! 0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44}} --- 9,12 ---- 0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15,0x00,0x00, 0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x51,0x11,0x51,0x11,0x00, 0x00,0x00,0x00,0x44,0x44,0x44,0x44,0x00,0x00,0x00,0x00,0x15,0x15,0x15,0x15, ! 0x00,0x00,0x00,0x00,0x44,0x44,0x44,0x44} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp4.bmp transfig.3.2.3d/fig2dev/bitmaps/sp4.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp4.bmp Mon Apr 6 11:27:55 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp4.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp4_width 32 #define sp4_height 32 static char sp4_bits[] = { ! {0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x8a,0x88,0x8a, 0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x88,0x88, 0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x8a, 0x8a,0x8a,0x8a,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00, --- 1,7 ---- #define sp4_width 32 #define sp4_height 32 static char sp4_bits[] = { ! 0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x8a,0x88,0x8a, 0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x88,0x88, 0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00,0x8a, 0x8a,0x8a,0x8a,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00,0x00,0x00, *************** *** 9,12 **** 0x00,0x8a,0x88,0x8a,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00, 0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00, 0x00,0x00,0x00,0x8a,0x8a,0x8a,0x8a,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa, ! 0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88}} --- 9,12 ---- 0x00,0x8a,0x88,0x8a,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00,0x00, 0x00,0x00,0x88,0x88,0x88,0x88,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa,0x00, 0x00,0x00,0x00,0x8a,0x8a,0x8a,0x8a,0x00,0x00,0x00,0x00,0xaa,0xaa,0xaa,0xaa, ! 0x00,0x00,0x00,0x00,0x88,0x88,0x88,0x88} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp5.bmp transfig.3.2.3d/fig2dev/bitmaps/sp5.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp5.bmp Mon Apr 6 11:29:36 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp5.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp5_width 32 #define sp5_height 32 static char sp5_bits[] = { ! {0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00, 0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00, 0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00, 0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, --- 1,7 ---- #define sp5_width 32 #define sp5_height 32 static char sp5_bits[] = { ! 0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00, 0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00, 0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00, 0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, *************** *** 9,12 **** 0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55, 0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55, 0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00, ! 0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00}} --- 9,12 ---- 0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55, 0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55, 0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00, ! 0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp6.bmp transfig.3.2.3d/fig2dev/bitmaps/sp6.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp6.bmp Mon Apr 6 11:30:02 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp6.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp6_width 32 #define sp6_height 32 static char sp6_bits[] = { ! {0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x88,0x88,0x88, 0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x80,0x80, 0x80,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x88, 0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, --- 1,7 ---- #define sp6_width 32 #define sp6_height 32 static char sp6_bits[] = { ! 0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x88,0x88,0x88, 0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x80,0x80, 0x80,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55,0x88, 0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55,0x55,0x55, *************** *** 9,12 **** 0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55, 0x55,0x55,0x80,0x80,0x80,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55, 0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00, ! 0x55,0x55,0x55,0x55,0x88,0x80,0x88,0x80}} --- 9,12 ---- 0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55,0x55, 0x55,0x55,0x80,0x80,0x80,0x80,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00,0x55, 0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x00,0x00,0x00,0x00, ! 0x55,0x55,0x55,0x55,0x88,0x80,0x88,0x80} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp7.bmp transfig.3.2.3d/fig2dev/bitmaps/sp7.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp7.bmp Mon Apr 6 11:30:32 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp7.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp7_width 32 #define sp7_height 32 static char sp7_bits[] = { ! {0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,0x80,0x55,0x55,0x55, 0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x88,0x08,0x88,0x08,0x55,0x55, 0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,0x80,0x55, 0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x08,0x08,0x08,0x08, --- 1,7 ---- #define sp7_width 32 #define sp7_height 32 static char sp7_bits[] = { ! 0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,0x80,0x55,0x55,0x55, 0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x88,0x08,0x88,0x08,0x55,0x55, 0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80,0x80,0x80,0x80,0x55, 0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x08,0x08,0x08,0x08, *************** *** 9,12 **** 0x80,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x88,0x08, 0x88,0x08,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80, 0x80,0x80,0x80,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55, ! 0x08,0x08,0x08,0x08,0x55,0x55,0x55,0x55}} --- 9,12 ---- 0x80,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x88,0x08, 0x88,0x08,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55,0x80, 0x80,0x80,0x80,0x55,0x55,0x55,0x55,0x22,0x22,0x22,0x22,0x55,0x55,0x55,0x55, ! 0x08,0x08,0x08,0x08,0x55,0x55,0x55,0x55} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp8.bmp transfig.3.2.3d/fig2dev/bitmaps/sp8.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp8.bmp Mon Apr 6 11:31:07 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp8.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp8_width 32 #define sp8_height 32 static char sp8_bits[] = { ! {0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x22,0xa2,0x22,0xa2,0x55,0x55,0x55, 0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,0x2a,0x2a,0x55,0x55, 0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0xa2,0x22,0xa2,0x22,0x55, 0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,0x2a,0x2a, --- 1,7 ---- #define sp8_width 32 #define sp8_height 32 static char sp8_bits[] = { ! 0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x22,0xa2,0x22,0xa2,0x55,0x55,0x55, 0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,0x2a,0x2a,0x55,0x55, 0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0xa2,0x22,0xa2,0x22,0x55, 0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a,0x2a,0x2a, *************** *** 9,12 **** 0xa2,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a, 0x2a,0x2a,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0xa2, 0x22,0xa2,0x22,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55, ! 0x2a,0x2a,0x2a,0x2a,0x55,0x55,0x55,0x55}} --- 9,12 ---- 0xa2,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0x2a,0x2a, 0x2a,0x2a,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55,0xa2, 0x22,0xa2,0x22,0x55,0x55,0x55,0x55,0x88,0x88,0x88,0x88,0x55,0x55,0x55,0x55, ! 0x2a,0x2a,0x2a,0x2a,0x55,0x55,0x55,0x55} diff -rc transfig.3.2.3c/fig2dev/bitmaps/sp9.bmp transfig.3.2.3d/fig2dev/bitmaps/sp9.bmp *** transfig.3.2.3c/fig2dev/bitmaps/sp9.bmp Mon Apr 6 11:31:36 1998 --- transfig.3.2.3d/fig2dev/bitmaps/sp9.bmp Mon Aug 14 17:21:05 2000 *************** *** 1,7 **** #define sp9_width 32 #define sp9_height 32 static char sp9_bits[] = { ! {0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x54,0x54,0x54, 0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x44,0x44, 0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x44, 0x54,0x44,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa, --- 1,7 ---- #define sp9_width 32 #define sp9_height 32 static char sp9_bits[] = { ! 0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x54,0x54,0x54, 0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x44,0x44, 0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa,0x44, 0x54,0x44,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa,0xaa,0xaa, *************** *** 9,12 **** 0xaa,0x54,0x54,0x54,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa, 0xaa,0xaa,0x44,0x44,0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa, 0xaa,0xaa,0xaa,0x44,0x54,0x44,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55, ! 0xaa,0xaa,0xaa,0xaa,0x44,0x44,0x44,0x44}} --- 9,12 ---- 0xaa,0x54,0x54,0x54,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa,0xaa, 0xaa,0xaa,0x44,0x44,0x44,0x44,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55,0xaa, 0xaa,0xaa,0xaa,0x44,0x54,0x44,0x54,0xaa,0xaa,0xaa,0xaa,0x55,0x55,0x55,0x55, ! 0xaa,0xaa,0xaa,0xaa,0x44,0x44,0x44,0x44} diff -rc transfig.3.2.3c/fig2dev/bound.c transfig.3.2.3d/fig2dev/bound.c *** transfig.3.2.3c/fig2dev/bound.c Mon May 1 14:16:39 2000 --- transfig.3.2.3d/fig2dev/bound.c Wed Sep 13 13:31:55 2000 *************** *** 250,256 **** for (l = compound->lines; l != NULL; l = l->next) { line_bound(l, &sx, &sy, &bx, &by); ! half_wd = ceil((double)(l->thickness+1) / sqrt(2.0)); /* leave space for corners, better approach needs much more math! */ if (first) { first = 0; --- 250,260 ---- for (l = compound->lines; l != NULL; l = l->next) { line_bound(l, &sx, &sy, &bx, &by); ! /* pictures have no line thickness */ ! if (l->type == T_PIC_BOX) ! half_wd = 0; ! else ! half_wd = ceil((double)(l->thickness+1) / sqrt(2.0)); /* leave space for corners, better approach needs much more math! */ if (first) { first = 0; *************** *** 520,526 **** Boolean include = (inc_text && ((t->flags & SPECIAL_TEXT)==0)); descend = (strchr(t->cstring,'g') || strchr(t->cstring,'j') || strchr(t->cstring,'p') || strchr(t->cstring,'q') || ! strchr(t->cstring,'y')); /* characters have some extent downside */ if (t->type == T_CENTER_JUSTIFIED) { dx1 = (include? (t->length/1.95) : 0.0); dy1 = 0.0; --- 524,533 ---- Boolean include = (inc_text && ((t->flags & SPECIAL_TEXT)==0)); descend = (strchr(t->cstring,'g') || strchr(t->cstring,'j') || strchr(t->cstring,'p') || strchr(t->cstring,'q') || ! strchr(t->cstring,'y') || strchr(t->cstring,'$') || ! strchr(t->cstring,'(') || strchr(t->cstring,')') || ! strchr(t->cstring,'{') || strchr(t->cstring,'}') || ! strchr(t->cstring,',') || strchr(t->cstring,';')); /* characters have some extent downside */ if (t->type == T_CENTER_JUSTIFIED) { dx1 = (include? (t->length/1.95) : 0.0); dy1 = 0.0; diff -rc transfig.3.2.3c/fig2dev/dev/Imakefile transfig.3.2.3d/fig2dev/dev/Imakefile *** transfig.3.2.3c/fig2dev/dev/Imakefile Tue Jul 11 14:47:31 2000 --- transfig.3.2.3d/fig2dev/dev/Imakefile Thu Feb 15 09:45:35 2001 *************** *** 23,28 **** --- 23,33 ---- INCLUDES = -I.. -I../.. + #ifdef USE_PNG + READPNGS=readpng.c + READPNGO=readpng.o + #endif + #ifdef USE_XPM READXPMS=readxpm.c READXPMO=readxpm.o *************** *** 35,48 **** SRCS = genbox.c gencgm.c genepic.c genibmgl.c genlatex.c genmap.c genmf.c genpic.c \ genpictex.c genps.c genpdf.c genpstex.c gentextyl.c gentk.c gentpic.c \ ! genbitmaps.c genge.c setfigfont.c psencode.c \ readpics.c readeps.c readgif.c readpcx.c readppm.c \ ! readxbm.c readtif.c $(READJPGS) $(READXPMS) LIBOBJS = genbox.o gencgm.o genepic.o genibmgl.o genlatex.o genmap.o genmf.o genpic.o \ genpictex.o genps.o genpdf.o genpstex.o gentextyl.o gentk.o gentpic.o \ ! genbitmaps.o genge.o setfigfont.o psencode.o \ readpics.o readeps.o readgif.o readpcx.o readppm.o \ ! readxbm.o readtif.o $(READJPGO) $(READXPMO) LIB = transfig --- 40,53 ---- SRCS = genbox.c gencgm.c genepic.c genibmgl.c genlatex.c genmap.c genmf.c genpic.c \ genpictex.c genps.c genpdf.c genpstex.c gentextyl.c gentk.c gentpic.c \ ! genbitmaps.c genge.c genmp.c setfigfont.c psencode.c \ readpics.c readeps.c readgif.c readpcx.c readppm.c \ ! readxbm.c readtif.c $(READPNGS) $(READJPGS) $(READXPMS) LIBOBJS = genbox.o gencgm.o genepic.o genibmgl.o genlatex.o genmap.o genmf.o genpic.o \ genpictex.o genps.o genpdf.o genpstex.o gentextyl.o gentk.o gentpic.o \ ! genbitmaps.o genge.o genmp.o setfigfont.o psencode.o \ readpics.o readeps.o readgif.o readpcx.o readppm.o \ ! readxbm.o readtif.o $(READPNGO) $(READJPGO) $(READXPMO) LIB = transfig diff -rc transfig.3.2.3c/fig2dev/dev/cs_CZ.ps transfig.3.2.3d/fig2dev/dev/cs_CZ.ps *** transfig.3.2.3c/fig2dev/dev/cs_CZ.ps Tue May 29 14:25:10 2001 --- transfig.3.2.3d/fig2dev/dev/cs_CZ.ps Thu Feb 1 08:54:28 2001 *************** *** 0 **** --- 1,72 ---- + %% Begining of cs_CZ.ps + %% + %% Author: Radim Gelner + %% + %%BeginResource: encoding ISOLatin2Encoding + /isol2vec [ + 8#0 /.notdef 8#1 /.notdef 8#2 /.notdef 8#3 /.notdef 8#4 /.notdef 8#5 /.notdef 8#6 /.notdef 8#7 /.notdef + 8#10 /.notdef 8#11 /.notdef 8#12 /.notdef 8#13 /.notdef 8#14 /.notdef 8#15 /.notdef 8#16 /.notdef 8#17 /.notdef + 8#20 /.notdef 8#21 /.notdef 8#22 /.notdef 8#23 /.notdef 8#24 /.notdef 8#25 /.notdef 8#26 /.notdef 8#27 /.notdef + 8#30 /.notdef 8#31 /.notdef 8#32 /.notdef 8#33 /.notdef 8#34 /.notdef 8#35 /.notdef 8#36 /.notdef 8#37 /.notdef + 8#40 /space 8#41 /exclam 8#42 /quotedbl 8#43 /numbersign 8#44 /dollar 8#45 /percent 8#46 /ampersand 8#47 /quoteright + 8#50 /parenleft 8#51 /parenright 8#52 /asterisk 8#53 /plus 8#54 /comma 8#55 /minus 8#56 /period 8#57 /slash + 8#60 /zero 8#61 /one 8#62 /two 8#63 /three 8#64 /four 8#65 /five 8#66 /six 8#67 /seven + 8#70 /eight 8#71 /nine 8#72 /colon 8#73 /semicolon 8#74 /less 8#75 /equal 8#76 /greater 8#77 /question + 8#100 /at 8#101 /A 8#102 /B 8#103 /C 8#104 /D 8#105 /E 8#106 /F 8#107 /G + 8#110 /H 8#111 /I 8#112 /J 8#113 /K 8#114 /L 8#115 /M 8#116 /N 8#117 /O + 8#120 /P 8#121 /Q 8#122 /R 8#123 /S 8#124 /T 8#125 /U 8#126 /V 8#127 /W + 8#130 /X 8#131 /Y 8#132 /Z 8#133 /bracketleft 8#134 /backslash 8#135 /bracketright 8#136 /asciicircum 8#137 /underscore + 8#140 /quoteleft 8#141 /a 8#142 /b 8#143 /c 8#144 /d 8#145 /e 8#146 /f 8#147 /g + 8#150 /h 8#151 /i 8#152 /j 8#153 /k 8#154 /l 8#155 /m 8#156 /n 8#157 /o + 8#160 /p 8#161 /q 8#162 /r 8#163 /s 8#164 /t 8#165 /u 8#166 /v 8#167 /w + 8#170 /x 8#171 /y 8#172 /z 8#173 /braceleft 8#174 /bar 8#175 /braceright 8#176 /asciitilde 8#177 /.notdef + 8#200 /.notdef 8#201 /.notdef 8#202 /.notdef 8#203 /.notdef 8#204 /.notdef 8#205 /.notdef 8#206 /.notdef 8#207 /.notdef + 8#210 /.notdef 8#211 /.notdef 8#212 /.notdef 8#213 /.notdef 8#214 /.notdef 8#215 /.notdef 8#216 /.notdef 8#217 /.notdef + 8#220 /.notdef 8#221 /.notdef 8#222 /.notdef 8#223 /.notdef 8#224 /.notdef 8#225 /.notdef 8#226 /.notdef 8#227 /.notdef + 8#230 /.notdef 8#231 /.notdef 8#232 /.notdef 8#233 /.notdef 8#234 /.notdef 8#235 /.notdef 8#236 /.notdef 8#237 /.notdef + 8#240 /space 8#241 /Aogonek 8#242 /breve 8#243 /Lslash 8#244 /currency 8#245 /Lcaron 8#246 /Sacute 8#247 /section + 8#250 /dieresis 8#251 /Scaron 8#252 /Scedilla 8#253 /Tcaron 8#254 /Zacute 8#255 /hyphen 8#256 /Zcaron 8#257 /Zdotaccent + 8#260 /degree 8#261 /aogonek 8#262 /ogonek 8#263 /lslash 8#264 /acute 8#265 /lcaron 8#266 /sacute 8#267 /caron + 8#270 /cedilla 8#271 /scaron 8#272 /scedilla 8#273 /tcaron 8#274 /zacute 8#275 /hungarumlaut 8#276 /zcaron 8#277 /zdotaccent + 8#300 /Racute 8#301 /Aacute 8#302 /Acircumflex 8#303 /Abreve 8#304 /Adieresis 8#305 /Lacute 8#306 /Cacute 8#307 /Ccedilla + 8#310 /Ccaron 8#311 /Eacute 8#312 /Eogonek 8#313 /Edieresis 8#314 /Ecaron 8#315 /Iacute 8#316 /Icircumflex 8#317 /Dcaron + 8#320 /Dbar 8#321 /Nacute 8#322 /Ncaron 8#323 /Oacute 8#324 /Ocircumflex 8#325 /Ohungarumlaut 8#326 /Odieresis 8#327 /multiply + 8#330 /Rcaron 8#331 /Uring 8#332 /Uacute 8#333 /Uhungarumlaut 8#334 /Udieresis 8#335 /Yacute 8#336 /Tcedilla 8#337 /germandbls + 8#340 /racute 8#341 /aacute 8#342 /acircumflex 8#343 /abreve 8#344 /adieresis 8#345 /lacute 8#346 /cacute 8#347 /ccedilla + 8#350 /ccaron 8#351 /eacute 8#352 /eogonek 8#353 /edieresis 8#354 /ecaron 8#355 /iacute 8#356 /icircumflex 8#357 /dcaron + 8#360 /dbar 8#361 /nacute 8#362 /ncaron 8#363 /oacute 8#364 /ocircumflex 8#365 /ohungarumlaut 8#366 /odieresis 8#367 /divide + 8#370 /rcaron 8#371 /uring 8#372 /uacute 8#373 /uhungarumlaut 8#374 /udieresis 8#375 /yacute 8#376 /tcedilla 8#377 /dotaccent] def + %%EndResource + /Times-Roman /Times-Roman-iso isol2vec ReEncode + /Times-Italic /Times-Italic-iso isol2vec ReEncode + /Times-Bold /Times-Bold-iso isol2vec ReEncode + /Times-BoldItalic /Times-BoldItalic-iso isol2vec ReEncode + /AvantGarde-Book /AvantGarde-Book-iso isol2vec ReEncode + /AvantGarde-BookOblique /AvantGarde-BookOblique-iso isol2vec ReEncode + /AvantGarde-Demi /AvantGarde-Demi-iso isol2vec ReEncode + /AvantGarde-DemiOblique /AvantGarde-DemiOblique-iso isol2vec ReEncode + /Bookman-Light /Bookman-Light-iso isol2vec ReEncode + /Bookman-LightItalic /Bookman-LightItalic-iso isol2vec ReEncode + /Bookman-Demi /Bookman-Demi-iso isol2vec ReEncode + /Bookman-DemiItalic /Bookman-DemiItalic-iso isol2vec ReEncode + /Courier /Courier-iso isol2vec ReEncode + /Courier-Oblique /Courier-Oblique-iso isol2vec ReEncode + /Courier-Bold /Courier-Bold-iso isol2vec ReEncode + /Courier-BoldOblique /Courier-BoldOblique-iso isol2vec ReEncode + /Helvetica /Helvetica-iso isol2vec ReEncode + /Helvetica-Oblique /Helvetica-Oblique-iso isol2vec ReEncode + /Helvetica-Bold /Helvetica-Bold-iso isol2vec ReEncode + /Helvetica-BoldOblique /Helvetica-BoldOblique-iso isol2vec ReEncode + /Helvetica-Narrow /Helvetica-Narrow-iso isol2vec ReEncode + /Helvetica-Narrow-Oblique /Helvetica-Narrow-Oblique-iso isol2vec ReEncode + /Helvetica-Narrow-Bold /Helvetica-Narrow-Bold-iso isol2vec ReEncode + /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-BoldOblique-iso isol2vec ReEncode + /NewCenturySchlbk-Roman /NewCenturySchlbk-Roman-iso isol2vec ReEncode + /NewCenturySchlbk-Italic /NewCenturySchlbk-Italic-iso isol2vec ReEncode + /NewCenturySchlbk-Bold /NewCenturySchlbk-Bold-iso isol2vec ReEncode + /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-BoldItalic-iso isol2vec ReEncode + /Palatino-Roman /Palatino-Roman-iso isol2vec ReEncode + /Palatino-Italic /Palatino-Italic-iso isol2vec ReEncode + /Palatino-Bold /Palatino-Bold-iso isol2vec ReEncode + /Palatino-BoldItalic /Palatino-BoldItalic-iso isol2vec ReEncode + %% End of cs_CZ.ps diff -rc transfig.3.2.3c/fig2dev/dev/genbitmaps.c transfig.3.2.3d/fig2dev/dev/genbitmaps.c *** transfig.3.2.3c/fig2dev/dev/genbitmaps.c Tue Jul 11 15:16:14 2000 --- transfig.3.2.3d/fig2dev/dev/genbitmaps.c Thu Mar 22 09:44:07 2001 *************** *** 126,154 **** extra_options[0]='\0'; gsdev = NULL; ! /* if we're smoothing, we'll generate magnified ppm then convert it later */ ! if (strcmp(lang,"pcx")==0) { ! gsdev="pcx256"; ! } else if (strcmp(lang,"ppm")==0) { ! gsdev="ppmraw"; ! } else if (strcmp(lang,"png")==0) { ! gsdev="png16m"; ! } else if (strcmp(lang,"tiff")==0) { ! /* use the 24-bit - unfortunately, it doesn't use compression */ ! gsdev="tiff24nc"; ! } else if (strcmp(lang,"jpeg")==0) { ! gsdev="jpeg"; ! /* set quality for JPEG */ ! sprintf(extra_options," -dJPEGQ=%d",jpeg_quality); ! } if (smooth > 1) { sprintf(extra_options+strlen(extra_options), " -dTextAlphaBits=%d -dGraphicsAlphaBits=%d",smooth,smooth); } ! /* no driver in gs or we're smoothing, use ppm output then use ppmtoxxx later */ if (gsdev == NULL) { gsdev="ppmraw"; ! if (smooth > 1 || strcmp(lang,"ppm")) { /* make a unique name for the temporary ppm file */ sprintf(tmpname,"%s/f2d%d.ppm",TMPDIR,getpid()); ofile = tmpname; --- 126,156 ---- extra_options[0]='\0'; gsdev = NULL; ! /* if we're smoothing, we'll generate ppm and tell gs to ! use TextAlphaBits and GraphicsAlphaBits */ ! if (strcmp(lang,"pcx")==0) { ! gsdev="pcx256"; ! } else if (strcmp(lang,"ppm")==0) { ! gsdev="ppmraw"; ! } else if (strcmp(lang,"png")==0) { ! gsdev="png16m"; ! } else if (strcmp(lang,"tiff")==0) { ! /* use the 24-bit - unfortunately, it doesn't use compression */ ! gsdev="tiff24nc"; ! } else if (strcmp(lang,"jpeg")==0) { ! gsdev="jpeg"; ! /* set quality for JPEG */ ! sprintf(extra_options," -dJPEGQ=%d",jpeg_quality); ! } if (smooth > 1) { sprintf(extra_options+strlen(extra_options), " -dTextAlphaBits=%d -dGraphicsAlphaBits=%d",smooth,smooth); } ! /* no driver in gs, use ppm output then use ppmtoxxx later */ if (gsdev == NULL) { gsdev="ppmraw"; ! /* if we're not going to ppm, setup a temp file to run through final ppmtoxx */ ! if (strcmp(lang,"ppm")) { /* make a unique name for the temporary ppm file */ sprintf(tmpname,"%s/f2d%d.ppm",TMPDIR,getpid()); ofile = tmpname; *************** *** 214,220 **** sprintf(com1,"ppmquant 256 %s | ppmtogif",tmpname1); } } else if (strcmp(lang, "jpeg")==0) { - /*sprintf(com1, "cjpeg -quality %d %s", jpeg_quality, tmpname1);*/ sprintf(com1, "ppmtojpeg --quality=%d %s", jpeg_quality, tmpname1); } else if (strcmp(lang, "xbm")==0) { sprintf(com1,"ppmtopgm %s | pgmtopbm | pbmtoxbm",tmpname1); --- 216,221 ---- diff -rc transfig.3.2.3c/fig2dev/dev/gencgm.c transfig.3.2.3d/fig2dev/dev/gencgm.c *** transfig.3.2.3c/fig2dev/dev/gencgm.c Tue Jul 11 14:50:22 2000 --- transfig.3.2.3d/fig2dev/dev/gencgm.c Tue Aug 22 09:17:57 2000 *************** *** 65,71 **** * */ - #include #include "fig2dev.h" #include "object.h" --- 65,70 ---- *************** *** 132,150 **** F_compound *objects; { int i; ! char *p, *figname = malloc(strlen(from)+1); - sprintf(figname, from); - p = strrchr(figname, '/'); - if (p) - figname = p+1; /* skip directory, small memory leak here!! */ - p = strchr(figname, '.'); - if (p) - *p = '\0'; /* discard extension */ - fprintf(tfp, "BEGMF '%s';\n", figname); fprintf(tfp, "mfversion 1;\n"); ! fprintf(tfp, "mfdesc 'Converted from %s using fig2dev -Lcgm';\n", from); fprintf(tfp, "mfelemlist 'DRAWINGPLUS';\n"); fprintf(tfp, "vdctype integer;\n"); --- 131,154 ---- F_compound *objects; { int i; ! char *p, *figname; ! ! if (from) { ! figname = malloc(strlen(from)+1); ! sprintf(figname, from); ! p = strrchr(figname, '/'); ! if (p) ! figname = p+1; /* skip directory, small memory leak here!! */ ! p = strchr(figname, '.'); ! if (p) ! *p = '\0'; /* discard extension */ ! } else { ! figname = "(stdin)"; ! } fprintf(tfp, "BEGMF '%s';\n", figname); fprintf(tfp, "mfversion 1;\n"); ! fprintf(tfp, "mfdesc 'Converted from %s using fig2dev -Lcgm';\n", from? from: "(stdin)"); fprintf(tfp, "mfelemlist 'DRAWINGPLUS';\n"); fprintf(tfp, "vdctype integer;\n"); diff -rc transfig.3.2.3c/fig2dev/dev/genibmgl.c transfig.3.2.3d/fig2dev/dev/genibmgl.c *** transfig.3.2.3c/fig2dev/dev/genibmgl.c Wed Jul 19 16:17:26 2000 --- transfig.3.2.3d/fig2dev/dev/genibmgl.c Fri Jan 5 11:39:51 2001 *************** *** 29,50 **** * * Author Micah Beck, Cornell University, 4/88 * Color, rotated text and ISO-chars added by Herbert Bauer 11/91 */ - static set_style(); - - #if defined(hpux) || defined(SYSV) || defined(SVR4) - #include - #endif - #include - #if defined(SYSV) || defined(SVR4) - #include - #else - #include - #endif #include "fig2dev.h" #include "object.h" #define FONTS 35 #define COLORS 8 #define PATTERNS 21 --- 29,42 ---- * * Author Micah Beck, Cornell University, 4/88 * Color, rotated text and ISO-chars added by Herbert Bauer 11/91 + * PCL job control option added Brian V. Smith 1/2001 */ #include "fig2dev.h" #include "object.h" + static set_style(); + #define FONTS 35 #define COLORS 8 #define PATTERNS 21 *************** *** 63,69 **** #else static int ibmgec = False; #endif ! static int reflected = False; static int fonts = FONTS; static int colors = COLORS; static int patterns = PATTERNS; --- 55,63 ---- #else static int ibmgec = False; #endif ! ! static Boolean pcljcl = False; /* flag to precede IBMGL (HP/GL) output with PCL job control */ ! static Boolean reflected = False; static int fonts = FONTS; static int colors = COLORS; static int patterns = PATTERNS; *************** *** 113,118 **** --- 107,116 ---- static void genibmgl_option(opt, optarg) char opt, *optarg; { + FILE *ffp; + int font; + int pattern; + switch (opt) { case 'a': /* paper size */ *************** *** 133,171 **** break; case 'f': /* user's characters */ ! { ! FILE *ffp; ! int font; ! if ((ffp = fopen(optarg, "r")) == NULL) ! fprintf(stderr, "Couldn't open %s\n", optarg); ! else ! for (font = 0; font <= fonts; font++) ! fscanf(ffp, "%d%d%lf%lf%lf", &standard[font], /* 0-4 6-9 30-39*/ &alternate[font], /* 0-4 6-9 30-39*/ &slant[font], /* degrees */ &wide[font], /* ~1.0 */ &high[font]); /* ~1.0 */ ! fclose(ffp); ! } break; case 'l': /* user's fill patterns */ ! { ! FILE *ffp; ! int pattern; ! if ((ffp = fopen(optarg, "r")) == NULL) ! fprintf(stderr, "Couldn't open %s\n", optarg); ! else ! for (pattern = 0; pattern < patterns; pattern++) ! fscanf(ffp, "%d%lf%d%lf%lf", &line_type[pattern], /* -1-6 */ &line_space[pattern], /* inches */ &fill_type[pattern], /* 1-5 */ &fill_space[pattern], /* inches */ &fill_angle[pattern]); /* degrees */ ! fclose(ffp); ! } break; case 's': --- 131,165 ---- break; case 'f': /* user's characters */ ! if ((ffp = fopen(optarg, "r")) == NULL) ! fprintf(stderr, "Couldn't open %s\n", optarg); ! else ! for (font = 0; font <= fonts; font++) ! fscanf(ffp, "%d%d%lf%lf%lf", &standard[font], /* 0-4 6-9 30-39*/ &alternate[font], /* 0-4 6-9 30-39*/ &slant[font], /* degrees */ &wide[font], /* ~1.0 */ &high[font]); /* ~1.0 */ ! fclose(ffp); break; + case 'k': /* precede output with PCL job control */ + pcljcl = True; + break; + case 'l': /* user's fill patterns */ ! if ((ffp = fopen(optarg, "r")) == NULL) ! fprintf(stderr, "Couldn't open %s\n", optarg); ! else ! for (pattern = 0; pattern < patterns; pattern++) ! fscanf(ffp, "%d%lf%d%lf%lf", &line_type[pattern], /* -1-6 */ &line_space[pattern], /* inches */ &fill_type[pattern], /* 1-5 */ &fill_space[pattern], /* inches */ &fill_angle[pattern]); /* degrees */ ! fclose(ffp); break; case 's': *************** *** 271,276 **** --- 265,272 ---- cpp = cpi/ppi; /* IBMGL start */ + if (pcljcl) + fprintf(tfp,"\033%%0B\033%%E\n"); /* set to HP/GL mode and reset printer */ fprintf(tfp, "IN;\n"); /* initialize plotter */ if (!landscape) { /* portrait mode */ diff -rc transfig.3.2.3c/fig2dev/dev/genmp.c transfig.3.2.3d/fig2dev/dev/genmp.c *** transfig.3.2.3c/fig2dev/dev/genmp.c Tue May 29 14:25:28 2001 --- transfig.3.2.3d/fig2dev/dev/genmp.c Thu Feb 15 09:59:34 2001 *************** *** 0 **** --- 1,827 ---- + /* + * TransFig: Facility for Translating Fig code + * + * Ported from fig2MP by Klaus Guntermann (guntermann@iti.informatik.tu-darmstadt.de) + * Original fig2MP Copyright 1995 Dane Dwyer (dwyer@geisel.csl.uiuc.edu) + * + * + * Any party obtaining a copy of these files is granted, free of charge, a + * full and unrestricted irrevocable, world-wide, paid up, royalty-free, + * nonexclusive right and license to deal in this software and + * documentation files (the "Software"), including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons who receive + * copies from any such party to do so, with the only requirement being + * that this copyright notice and the one following remain intact. + * + */ + + /* + * fig2MP -- convert fig to METAPOST code + * + * Copyright 1995 Dane Dwyer (dwyer@geisel.csl.uiuc.edu) + * Written while a student at the University of Illinois at Urbana-Champaign + * + * Permission is granted to freely distribute this program provided + * this copyright notice is included. + * + * Version 0.00 -- Initial attempt (8/20/95) + * Version 0.01 -- Added user defined colors (8/27/95) + * Added filled and unfilled arrowheads (8/27/95) + * Version 0.02 -- Changed default mapping of ps fonts to match teTeX + * (standard?) (9/16/96) + * + * Development for new extensions at TU Darmstadt, Germany starting 1999 + * + * Version 0.03 -- Allow to "build" pictures incrementally. + * To achieve this we split the complete figure into + * layers in separate mp-figures. The complete figure + * will be seen when overlapping all layers. + * A layer is combined from adjacent depths in xfig. + * This makes it possible to overlap items also when + * splitting into layers. + * The layered version creates files with extension + * ".mmp" (multi-level MetaPost). These can be processed + * with normal MetaPost, but you have to provide the + * extension of the filename in the call. + */ + + /* + * Limitations: + * No fill patterns (just shades) -- Not supported by MetaPost + * No embedded images -- Not supported by MetaPost + * Only flatback arrows + * + * Assumptions: + * 11" high paper (can be easily changed below) + * xfig coordinates are 1200 pixels per inch + * xfig fonts scaled by 72/80 + * Output is for MetaPost version 0.63 + */ + + #include "fig2dev.h" + #include "object.h" + + /* + * Definitions + */ + #define GENMP_VERSION 0.03 + #define PaperHeight 11.0 /* inches */ + #define BPperINCH 72.0 + #define MaxyBP BPperINCH*PaperHeight + #define PIXperINCH 1200.0 + #define FIGSperINCH 80.0 + + /* + * Special functions + */ + char *genmp_fillcolor(int, int); + char *genmp_pencolor(int); + void genmp_writefontinfo(double, char *, char *); + void genmp_arrowstats(F_arrow *); + void do_split(int); /* new procedure to split different depths' objects */ + #define getfont(x,y) ((x & 0x4)?xfigpsfonts[y]:xfiglatexfonts[y]) + #define fig2bp(x) ((double)x * BPperINCH/PIXperINCH) + + #define rad2deg(x) ((double)x * 180.0/3.141592654) + #define y_off(x) (MaxyBP-(double)(x)) /* reverse y coordinate */ + + /* Next two used to generate random font names - AA, AB, AC, ... ZZ */ + #define char1() (((int)(c1++/26) % 26)+'A') + #define char2() ((c2++ % 26)+'A') + + /* + * Global variables + */ + char c1=0,c2=0; + + int split = False; /* no splitting is default */ + + /* + * Static variables for variant mmp: + * fig_number has the "current" figure number which has been created. + * last_depth remembers the last level number processed + * (we need a sufficiently large initial value) + */ + static int fig_number=0; + static int last_depth=1001; + /* + * default xfig postscript fonts given TeX equivalent names + */ + #define FONTNAMESIZE 8 + char xfigpsfonts[35][FONTNAMESIZE] = { + "ptmr", /* Times-Roman */ + "ptmri", /* Times-Italic */ + "ptmb", /* Times-Bold */ + "ptmbi", /* Times-BoldItalic */ + "pagk", /* AvantGarde-Book */ + "pagko", /* AvantGarde-BookOblique */ + "pagd", /* AvantGarde-Demi */ + "pagdo", /* AvantGarde-DemiOblique */ + "pbkl", /* Bookman-Light */ + "pbkli", /* Bookman-LightItalic */ + "pbkd", /* Bookman-Demi */ + "pbkdi", /* Bookman-DemiItalic */ + "pcrr", /* Courier */ + "pcrro", /* Courier-Oblique */ + "pcrb", /* Courier-Bold */ + "pcrbo", /* Courier-BoldOblique */ + "phvr", /* Helvetica */ + "phvro", /* Helvetica-Oblique */ + "phvb", /* Helvetica-Bold */ + "phvbo", /* Helvetica-BoldOblique */ + "phvrrn", /* Helvetica-Narrow */ + "phvron", /* Helvetica-Narrow-Oblique */ + "phvbrn", /* Helvetica-Narrow-Bold */ + "phvbon", /* Helvetica-Narrow-BoldOblique */ + "pncr", /* NewCenturySchlbk-Roman */ + "pncri", /* NewCenturySchlbk-Italic */ + "pncb", /* NewCenturySchlbk-Bold */ + "pncbi", /* NewCenturySchlbk-BoldItalic */ + "pplr", /* Palatino-Roman */ + "pplri", /* Palatino-Italic */ + "pplb", /* Palatino-Bold */ + "pplbi", /* Palatino-BoldItalic */ + "psyr", /* Symbol */ + "pzcmi", /* ZapfChancery-MediumItalic */ + "pzdr" /* ZapfDingbats */ + }; + + /* + * default xfig latex fonts given TeX equivalent names + */ + char xfiglatexfonts[6][FONTNAMESIZE] = { + "cmr10", /* DEFAULT = Computer Modern Roman */ + "cmr10", /* Computer Modern Roman */ + "cmbx10", /* Computer Modern Roman Bold */ + "cmit10", /* Computer Modern Roman Italic */ + "cmss10", /* Computer Modern Sans Serif */ + "cmtt10", /* Computer Modern Typewriter */ + }; + + /* + * default xfig colors in postscript RGB notation + */ + char xfigcolors[32][17] = { + "(0.00,0.00,0.00)", /* black */ + "(0.00,0.00,1.00)", /* blue */ + "(0.00,1.00,0.00)", /* green */ + "(0.00,1.00,1.00)", /* cyan */ + "(1.00,0.00,0.00)", /* red */ + "(1.00,0.00,1.00)", /* magenta */ + "(1.00,1.00,0.00)", /* yellow */ + "(1.00,1.00,1.00)", /* white */ + "(0.00,0.00,0.56)", /* blue1 */ + "(0.00,0.00,0.69)", /* blue2 */ + "(0.00,0.00,0.82)", /* blue3 */ + "(0.53,0.81,1.00)", /* blue4 */ + "(0.00,0.56,0.00)", /* green1 */ + "(0.00,0.69,0.00)", /* green2 */ + "(0.00,0.82,0.00)", /* green3 */ + "(0.00,0.56,0.56)", /* cyan1 */ + "(0.00,0.69,0.69)", /* cyan2 */ + "(0.00,0.82,0.82)", /* cyan3 */ + "(0.56,0.00,0.00)", /* red1 */ + "(0.69,0.00,0.00)", /* red2 */ + "(0.82,0.00,0.00)", /* red3 */ + "(0.56,0.00,0.56)", /* magenta1 */ + "(0.69,0.00,0.69)", /* magenta2 */ + "(0.82,0.00,0.82)", /* magenta3 */ + "(0.50,0.19,0.00)", /* brown1 */ + "(0.63,0.25,0.00)", /* brown2 */ + "(0.75,0.38,0.00)", /* brown3 */ + "(1.00,0.50,0.50)", /* pink1 */ + "(1.00,0.63,0.63)", /* pink2 */ + "(1.00,0.75,0.75)", /* pink3 */ + "(1.00,0.88,0.88)", /* pink4 */ + "(1.00,0.84,0.00)" /* gold */ + }; + + void + genmp_start(objects) + F_compound *objects; + { + fprintf(tfp,"%%\n%% fig2dev (version %s.%s) -L (m)mp version %.2lf --- Preamble\n%%\n", + VERSION, PATCHLEVEL, GENMP_VERSION); + fprintf(tfp,"\n"); + + /* print any whole-figure comments prefixed with "%" */ + if (objects->comments) { + fprintf(tfp,"%%\n"); + print_comments("% ",objects->comments, ""); + fprintf(tfp,"%%\n"); + } + + fprintf(tfp,"\n"); + fprintf(tfp,"%% Make arrowheads mitered by default\n"); + fprintf(tfp,"%% NOTE: subject to change (edited from plain.mp)\n"); + fprintf(tfp," def forwarr(text t) expr p =\n"); + fprintf(tfp," _apth:=p;_finarrf(t)\n"); + fprintf(tfp," enddef;\n"); + fprintf(tfp," def backarr(text t) expr p =\n"); + fprintf(tfp," _apth:=p;_finarrb(t)\n"); + fprintf(tfp," enddef;\n"); + fprintf(tfp," def _finarrf(text s) text t =\n"); + fprintf(tfp," if (s=0):fill arrowhead _apth t withcolor white\n"); + fprintf(tfp," else: fill arrowhead _apth t fi;\n"); + fprintf(tfp," linejoin:=0;\n"); + fprintf(tfp," draw arrowhead _apth t\n"); + fprintf(tfp," enddef;\n"); + fprintf(tfp," def _finarrb(text s) text t =\n"); + fprintf(tfp," if (s=0):fill arrowhead reverse _apth t withcolor white\n"); + fprintf(tfp," else: fill arrowhead reverse _apth t fi;\n"); + fprintf(tfp," linejoin:=0;\n"); + fprintf(tfp," draw arrowhead reverse _apth t\n"); + fprintf(tfp," enddef;\n"); + fprintf(tfp,"\n\n"); + + if (split) { + /* + * We need a bounding box around all objects in all + * partial figures. Otherwise overlapping them will not + * work properly. We create this bounding area here once + * and for all. It will be included in each figure. + */ + fprintf(tfp,"path allbounds;\n"); + fprintf(tfp,"allbounds = (%.2lf,%.2lf)--(%.2lf,%.2lf)", + fig2bp(llx),y_off(fig2bp(lly)),fig2bp(urx), + y_off(fig2bp(lly))); + fprintf(tfp,"--(%.2lf,%.2lf)--(%.2lf,%.2lf)--cycle;\n", + fig2bp(urx),y_off(fig2bp(ury)), + fig2bp(llx),y_off(fig2bp(ury))); + } else { + fprintf(tfp,"%% Now draw the figure\n"); + fprintf(tfp,"beginfig(0)\n"); + } + fprintf(tfp,"%% Some reasonable defaults\n"); + fprintf(tfp," ahlength:=7;\n"); + fprintf(tfp," ahangle:=30;\n"); + fprintf(tfp," labeloffset:=0;\n"); + /* For our overlapping figures we must keep the (invisible) bounding + * box as the delimiting area. Thus we must not have MetaPost + * compute the "true" bounds. + */ + fprintf(tfp," truecorners:=%d;\n",split==0); + fprintf(tfp," bboxmargin:=0;\n"); + } + + + int + genmp_end() + { + if (split) { + /* We must add the bounds for the last figure */ + fprintf(tfp,"setbounds currentpicture to allbounds;\n"); + } + /* Close the (last) figure and terminate MetaPost program */ + fprintf(tfp,"endfig;\nend\n"); + return(0); + } + + void + genmp_option(opt, optarg) + char opt, *optarg; + { + if (strcasecmp(optarg,"mmp") == 0) split = True; + } + + void + genmp_line(l) + F_line *l; + { + F_point *p; + + do_split(l->depth); + + /* print any comments prefixed with "%" */ + print_comments("% ",l->comments, ""); + + fprintf(tfp,"%% Begin polyline object\n"); + switch( l->type) { + case 1: /* Polyline */ + case 2: /* Box */ + case 3: /* Polygon */ + fprintf(tfp," linecap:=%d;\n",l->cap_style); + fprintf(tfp," linejoin:=%d;\n",l->join_style); + fprintf(tfp," pickup pencircle scaled %.2lf;\n",fig2bp(l->thickness)); + fprintf(tfp," path p;\n"); + p = l->points; + fprintf(tfp," p = (%.2lf, %.2lf)", fig2bp(p->x),y_off(fig2bp(p->y))); + p = p->next; + for ( ; p != NULL; p=p->next) { + fprintf(tfp,"\n --(%.2lf, %.2lf)", fig2bp(p->x), + y_off(fig2bp(p->y))); + } + if (l->type != 1) + fprintf(tfp,"--cycle;\n"); + else + fprintf(tfp,";\n"); + if (l->fill_style != -1) { /* Filled? */ + fprintf(tfp," path f;\n"); + fprintf(tfp," f = p--cycle;\n"); + fprintf(tfp," fill f %s;\n", + genmp_fillcolor(l->fill_color,l->fill_style)); + } + if (l->thickness != 0) { /* invisible pen? */ + fprintf(tfp," draw p "); + fprintf(tfp,"withcolor %s",genmp_pencolor(l->pen_color)); + if (l->style == 1) { /* dashed */ + fprintf(tfp," dashed evenly scaled %.2lf;\n",l->style_val/3.3); + } else if (l->style == 2) { /* dotted */ + fprintf(tfp," dashed withdots scaled %.2lf;\n",l->style_val/4.75); + } else /* plain */ + fprintf(tfp,";\n"); + if ((l->for_arrow != NULL) || (l->back_arrow != NULL)) { + if (l->for_arrow != NULL) { + genmp_arrowstats(l->for_arrow); + fprintf(tfp," forwarr(%d) p ",(l->for_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(l->pen_color)); + } + if (l->back_arrow != NULL) { + genmp_arrowstats(l->back_arrow); + fprintf(tfp," backarr(%d) p ",(l->back_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(l->pen_color)); + } + } + } + break; + case 4: /* arc box */ + fprintf(tfp," linecap:=%d;\n",l->cap_style); + fprintf(tfp," linejoin:=1;\n"); /* rounded necessary for arcbox */ + fprintf(tfp," pickup pencircle scaled %.2lf;\n",fig2bp(l->thickness)); + fprintf(tfp," path p,pb,sw,nw,ne,se;\n"); + fprintf(tfp," pair ll,ul,ur,lr;\n"); + p = l->points; + fprintf(tfp," p = (%.2lf,%.2lf)--",fig2bp(p->x),y_off(fig2bp(p->y))); + p = (p->next)->next; + fprintf(tfp,"(%.2lf,%.2lf);\n",fig2bp(p->x),y_off(fig2bp(p->y))); + fprintf(tfp," ur = urcorner p; ll = llcorner p;\n"); + fprintf(tfp," ul = ulcorner p; lr = lrcorner p;\n"); + fprintf(tfp," sw = fullcircle scaled %.2lf shifted (ll+\ + (%.2lf,%.2lf));\n",fig2bp(l->radius*2),fig2bp(l->radius),fig2bp(l->radius)); + fprintf(tfp," nw = fullcircle scaled %.2lf shifted (ul+\ + (%.2lf,%.2lf));\n",fig2bp(l->radius*2),fig2bp(l->radius),-fig2bp(l->radius)); + fprintf(tfp," ne = fullcircle rotated 180 scaled %.2lf shifted (ur+\ + (%.2lf,%.2lf));\n",fig2bp(l->radius*2),-fig2bp(l->radius),-fig2bp(l->radius)); + fprintf(tfp," se = fullcircle rotated 180 scaled %.2lf shifted (lr+\ + (%.2lf,%.2lf));\n",fig2bp(l->radius*2),-fig2bp(l->radius),fig2bp(l->radius)); + fprintf(tfp," pb = buildcycle(sw,ll--ul,nw,ul--ur,ne,ur--lr,se,\ + lr--ll);\n"); + if (l->fill_style != -1) + fprintf(tfp," fill pb %s;\n", + genmp_fillcolor(l->fill_color,l->fill_style)); + if (l->thickness != 0) { /* invisible pen? */ + fprintf(tfp," draw pb withcolor %s", + genmp_pencolor(l->pen_color)); + if (l->style == 1) { /* dashed */ + fprintf(tfp," dashed evenly scaled %.2lf;\n",l->style_val/3.3); + } else if (l->style == 2) { /* dotted */ + fprintf(tfp," dashed withdots scaled %.2lf;\n", + l->style_val/4.75); + } else /* plain */ + fprintf(tfp,";\n"); + } + break; + case 5: /* picture object */ + fprintf(tfp," show \"Picture objects are not supported!\"\n"); + break; + default: + fprintf(tfp," show \"This Polyline object is not supported!\"\n"); + } + fprintf(tfp,"%% End polyline object\n"); + return; + } + + void + genmp_spline(s) + F_spline *s; + { + F_point *p; + F_control *c; + int i,j; + + do_split(s->depth); + + /* print any comments prefixed with "%" */ + print_comments("% ",s->comments, ""); + + fprintf(tfp,"%% Begin spline object\n"); + switch (s->type) { + case 0: /* control point spline (open) */ + case 1: /* control point spline (closed) */ + fprintf(tfp," linecap:=%d;\n",s->cap_style); + fprintf(tfp," pair p[],c[];\n"); + fprintf(tfp," path s;\n"); + fprintf(tfp," pickup pencircle scaled %.2lf;\n",fig2bp(s->thickness)); + /* locate "curve points" halfway between given poinsts */ + p = s->points; i=0; + fprintf(tfp," p%d = .5[(%.2lf,%.2lf),", i++, fig2bp(p->x), + y_off(fig2bp(p->y))); + p = p->next; + fprintf(tfp,"(%.2lf,%.2lf)];\n",fig2bp(p->x),y_off(fig2bp(p->y))); + for ( ; p->next != NULL; ) { /* at least 3 points */ + fprintf(tfp," p%d = .5[(%.2lf,%.2lf),",i++, fig2bp(p->x), + y_off(fig2bp(p->y))); + p = p->next; + fprintf(tfp,"(%.2lf,%.2lf)];\n",fig2bp(p->x),y_off(fig2bp(p->y))); + } + /* locate "control points" 2/3 of way between curve points and given points */ + p = (s->points)->next; i=0; j=0; + for ( ; p->next != NULL; ) { /* at least 3 points */ + fprintf(tfp," c%d = .666667[p%d,(%.2lf,%.2lf)];\n",j++,i++, + fig2bp(p->x),y_off(fig2bp(p->y))); + fprintf(tfp," c%d = .666667[p%d,(%.2lf,%.2lf)];\n",j++,i, + fig2bp(p->x),y_off(fig2bp(p->y))); + p = p->next; + } + if (s->type == 1) { /* closed spline */ + fprintf(tfp," c%d = .666667[p%d,(%.2lf,%.2lf)];\n",j++,i++, + fig2bp(p->x),y_off(fig2bp(p->y))); + fprintf(tfp," c%d = .666667[p0,(%.2lf,%.2lf)];\n",j++, + fig2bp(p->x),y_off(fig2bp(p->y))); + } + /* now draw the spline */ + p = s->points; i=0; j=0; + if (s->type == 1) /* closed spline */ + fprintf(tfp," s =\n"); + else + fprintf(tfp," s = (%.2lf,%.2lf)..\n", fig2bp(p->x), + y_off(fig2bp(p->y))); + p = p->next; + for ( ; p->next != NULL; ) { /* 3 or more points */ + fprintf(tfp," p%d..controls c%d and c%d..\n",i++,j++,j++); + p = p->next; + } + if (s->type == 1) /* closed spline */ + fprintf(tfp," p%d..controls c%d and c%d..cycle;\n",i++,j++,j++); + else + fprintf(tfp," p%d..(%.2lf,%.2lf);\n",i, + fig2bp(p->x),y_off(fig2bp(p->y))); + if (s->fill_style != -1) { /* Filled? */ + fprintf(tfp," path f;\n"); + fprintf(tfp," f = s--cycle;\n"); + fprintf(tfp," fill f %s;\n", + genmp_fillcolor(s->fill_color,s->fill_style)); + } + if (s->thickness != 0) { /* invisible pen? */ + fprintf(tfp," draw s "); + fprintf(tfp,"withcolor %s",genmp_pencolor(s->pen_color)); + if (s->style == 1) { /* dashed */ + fprintf(tfp," dashed evenly scaled %.2lf;\n",s->style_val/3.3); + } else if (s->style == 2) { /* dotted */ + fprintf(tfp," dashed withdots scaled %.2lf;\n",s->style_val/4.75); + } else /* plain */ + fprintf(tfp,";\n"); + if ((s->for_arrow != NULL) || (s->back_arrow != NULL)) { + if (s->for_arrow != NULL) { + genmp_arrowstats(s->for_arrow); + fprintf(tfp," forwarr(%d) s ",(s->for_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(s->pen_color)); + } + if (s->back_arrow != NULL) { + genmp_arrowstats(s->back_arrow); + fprintf(tfp," backarr(%d) s ",(s->back_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(s->pen_color)); + } + } + } + break; + case 2: /* interpolated spline (open) */ + case 3: /* interpolated spline (closed) */ + fprintf(tfp," linecap:=%d;\n",s->cap_style); + fprintf(tfp," path s;\n"); + fprintf(tfp," pickup pencircle scaled %.2lf;\n",fig2bp(s->thickness)); + c = s->controls; + p = s->points; + fprintf(tfp," s = (%.2lf, %.2lf)", fig2bp(p->x),y_off(fig2bp(p->y))); + p = p->next; + for ( ; p != NULL; p=p->next, c=c->next) { + fprintf(tfp,"..controls (%.2lf, %.2lf) and (%.2lf, %.2lf)\n", + fig2bp(c->rx), y_off(fig2bp(c->ry)),fig2bp((c->next)->lx), + y_off(fig2bp((c->next)->ly))); + fprintf(tfp," ..(%.2lf,%.2lf)",fig2bp(p->x),y_off(fig2bp(p->y))); + } + if (s->type == 3) /* closed spline */ + fprintf(tfp,"..cycle;\n"); + else + fprintf(tfp,";\n"); + if (s->fill_style != -1) { /* Filled? */ + fprintf(tfp," path f;\n"); + fprintf(tfp," f = s--cycle;\n"); + fprintf(tfp," fill f %s;\n", + genmp_fillcolor(s->fill_color,s->fill_style)); + } + if (s->thickness != 0) { /* invisible pen? */ + fprintf(tfp," draw s "); + fprintf(tfp,"withcolor %s",genmp_pencolor(s->pen_color)); + if (s->style == 1) { /* dashed */ + fprintf(tfp," dashed evenly scaled %.2lf;\n",s->style_val/3.3); + } else if (s->style == 2) { /* dotted */ + fprintf(tfp," dashed withdots scaled %.2lf;\n",s->style_val/4.75); + } else /* plain */ + fprintf(tfp,";\n"); + if ((s->for_arrow != NULL) || (s->back_arrow != NULL)) { + if (s->for_arrow != NULL) { + genmp_arrowstats(s->for_arrow); + fprintf(tfp," forwarr(%d) s ",(s->for_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(s->pen_color)); + } + if (s->back_arrow != NULL) { + genmp_arrowstats(s->back_arrow); + fprintf(tfp," backarr(%d) s ",(s->back_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(s->pen_color)); + } + } + } + break; + default: + fprintf(tfp," show \"This Spline object is not supported!\"\n"); + } + fprintf(tfp,"%% End spline object\n"); + return; + } + + + void + genmp_ellipse(e) + F_ellipse *e; + { + + do_split(e->depth); + + /* print any comments prefixed with "%" */ + print_comments("% ",e->comments, ""); + + fprintf(tfp,"%% Begin ellipse object\n"); + switch(e->type) { + case 1: /* Ellipse by radius */ + case 2: /* Ellipse by diameter */ + case 3: /* Circle by radius */ + case 4: /* Circle by diameter */ + fprintf(tfp," pickup pencircle scaled %.2lf;\n",fig2bp(e->thickness)); + fprintf(tfp," path c;\n"); + fprintf(tfp," c = fullcircle scaled %.2lf yscaled %.2lf\n", + fig2bp((e->radiuses).x*2), + fig2bp((e->radiuses).y)/fig2bp((e->radiuses).x)); + fprintf(tfp," rotated %.2lf shifted (%.2lf,%.2lf);\n", + rad2deg(e->angle),fig2bp((e->center).x), + y_off(fig2bp((e->center).y))); + if (e->fill_style != -1) + fprintf(tfp," fill c %s;\n", + genmp_fillcolor(e->fill_color,e->fill_style)); + if (e->thickness != 0) { /* invisible pen? */ + fprintf(tfp," draw c withcolor %s", + genmp_pencolor(e->pen_color)); + if (e->style == 1) { /* dashed */ + fprintf(tfp," dashed evenly scaled %.2lf;\n",e->style_val/3.3); + } else if (e->style == 2) { /* dotted */ + fprintf(tfp," dashed withdots scaled %.2lf;\n",e->style_val/4.75); + } else { /* plain */ + fprintf(tfp,";\n"); + } + } + break; + default: + fprintf(tfp," show \"This Ellipse object is not supported!\"\n"); + } + fprintf(tfp,"%% End ellipse object\n"); + return; + } + + void + genmp_arc(a) + F_arc *a; + { + + do_split(a->depth); + + /* print any comments prefixed with "%" */ + print_comments("% ",a->comments, ""); + + fprintf(tfp,"%% Begin arc object\n"); + switch (a->type) { + case 1: /* three point arc (open) */ + case 2: /* three point arc (pie wedge) */ + fprintf(tfp," linecap:=%d;\n",a->cap_style); + fprintf(tfp," linejoin:=0;\n"); /* mitered necessary for pie wedge */ + fprintf(tfp," pickup pencircle scaled %.2lf;\n",fig2bp(a->thickness)); + fprintf(tfp," path a,p,ls,le;\n"); + fprintf(tfp," pair s,e,c;\n"); + fprintf(tfp," c = (%.2lf,%.2lf);\n",fig2bp(a->center.x), + y_off(fig2bp(a->center.y))); + fprintf(tfp," s = (%.2lf,%.2lf);\n",fig2bp(a->point[0].x), + y_off(fig2bp(a->point[0].y))); + fprintf(tfp," e = (%.2lf,%.2lf);\n",fig2bp(a->point[2].x), + y_off(fig2bp(a->point[2].y))); + fprintf(tfp," d := (%.2lf ++ %.2lf)*2.0;\n", + fig2bp(a->point[0].x)-fig2bp(a->center.x), + fig2bp(a->point[0].y)-fig2bp(a->center.y)); + fprintf(tfp," ls = (0,0)--(d,0) rotated angle (s-c);\n"); + fprintf(tfp," le = (0,0)--(d,0) rotated angle (e-c);\n"); + fprintf(tfp," p = "); + if (a->direction != 1) /* clockwise */ + fprintf(tfp,"reverse "); + fprintf(tfp,"fullcircle scaled d rotated angle (s-c) "); + fprintf(tfp,"cutafter le;\n"); + if (a->type == 2) /* pie wedge */ + fprintf(tfp," a = buildcycle(ls,p,le) shifted c;\n"); + else + fprintf(tfp," a = p shifted c;\n"); + if (a->fill_style != -1) { /* Filled arc */ + fprintf(tfp," path f;\n"); + fprintf(tfp," f = a--cycle;\n"); + fprintf(tfp," fill f %s;\n", + genmp_fillcolor(a->fill_color,a->fill_style)); + } + if (a->thickness != 0) { /* invisible pen? */ + fprintf(tfp," draw a "); + fprintf(tfp,"withcolor %s",genmp_pencolor(a->pen_color)); + if (a->style == 1) { /* dashed */ + fprintf(tfp," dashed evenly scaled %.2lf;\n",a->style_val/3.3); + } else if (a->style == 2) { /* dotted */ + fprintf(tfp," dashed withdots scaled %.2lf;\n",a->style_val/4.75); + } else /* plain */ + fprintf(tfp,";\n"); + if ((a->for_arrow != NULL) || (a->back_arrow != NULL)) { + if (a->for_arrow != NULL) { + genmp_arrowstats(a->for_arrow); + fprintf(tfp," forwarr(%d) a ",(a->for_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(a->pen_color)); + } + if (a->back_arrow != NULL) { + genmp_arrowstats(a->back_arrow); + fprintf(tfp," backarr(%d) a ",(a->back_arrow)->style); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(a->pen_color)); + } + } + } + break; + default: + fprintf(tfp," show \"This Arc object is not supported!\"\n"); + } + fprintf(tfp,"%% End arc object\n"); + return; + } + + void + genmp_text(t) + F_text *t; + { + char ident[3]; + char fname[FONTNAMESIZE]; + + do_split(t->depth); + + /* print any comments prefixed with "%" */ + print_comments("% ",t->comments, ""); + + fprintf(tfp,"%% Begin text object\n"); + fprintf(tfp," picture p;\n"); + /* + * These next three lines pick a unique name for the selected + * font and size for use by TeX when typesetting. + */ + sprintf(ident,"%c%c",char1(),char2()); + strcpy(fname,getfont(t->flags,t->font)); fname[3] = '\0'; + strcat(fname,ident); + + /* Define fonts for TeX */ + genmp_writefontinfo(t->size,getfont(t->flags,t->font),fname); + + fprintf(tfp," p = btex \\%s %s etex\n",fname,t->cstring); + fprintf(tfp," rotated %.2lf;\n",rad2deg(t->angle)); + + switch( t->type ) { + case 0: /* left justified */ + fprintf(tfp," label.urt(p,(%.2lf,%.2lf)) ",fig2bp(t->base_x), + y_off(fig2bp(t->base_y))); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(t->color)); + break; + case 1: /* centered */ + fprintf(tfp," label.top(p,(%.2lf,%.2lf)) ",fig2bp(t->base_x), + y_off(fig2bp(t->base_y))); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(t->color)); + break; + case 2: /* right justified */ + fprintf(tfp," label.ulft(p,(%.2lf,%.2lf)) ",fig2bp(t->base_x), + y_off(fig2bp(t->base_y))); + fprintf(tfp,"withcolor %s;\n",genmp_pencolor(t->color)); + break; + default: + fprintf(tfp," show \"This Text object is not supported!\"\n"); + } + fprintf(tfp,"%% End text object\n"); + return; + } + + char * + genmp_pencolor(c) + int c; + { + static char p_string[30]; + /* It is assumed that c will never be -1 (default) */ + if ((c > 0) && (c < NUM_STD_COLS)) /* normal color */ + strcpy(p_string,xfigcolors[c]); + else if (c >= NUM_STD_COLS) /* user defined color */ + sprintf(p_string,"(%.2lf,%.2lf,%.2lf)", + user_colors[c-NUM_STD_COLS].r/255.0, + user_colors[c-NUM_STD_COLS].g/255.0, + user_colors[c-NUM_STD_COLS].b/255.0); + else /* black or default color */ + strcpy(p_string,"(0.00,0.00,0.00)"); + return(p_string); + } + + char * + genmp_fillcolor(c,s) + int c,s; + { + static char f_string[100]; + + if (c == 0) /* black fill */ + sprintf(f_string,"withcolor (black + %.2lfwhite)", + (double)(20-s)/20.0); + else /* other fill */ + sprintf(f_string,"withcolor (%s + %.2lfwhite)", + genmp_pencolor(c),(double)(s-20)/20.0); + return(f_string); + } + + void + genmp_arrowstats(a) + F_arrow *a; + { + fprintf(tfp," ahlength:=%.2lf;\n",fig2bp(a->ht)); + fprintf(tfp," ahangle:=angle (%.2lf,%.2lf) * 2.0;\n",fig2bp(a->ht), + fig2bp(a->wid)/2.0); + return; + } + + + void + genmp_writefontinfo(psize,font,name) + double psize; + char *font, *name; + { + double ten, seven, five; + + /* For some reason, fonts are bigger than they should be */ + psize *= BPperINCH/FIGSperINCH; + + ten = psize; seven = psize*.7; five = psize*.5; + fprintf(tfp," verbatimtex\n"); + fprintf(tfp," \\font\\%s=%s at %.2lfpt\n",name,font,psize); + fprintf(tfp," \\font\\tenrm=cmr10 at %.2lfpt \\font\\sevenrm=cmr7 \ + at %.2lfpt\n",ten,seven); + fprintf(tfp," \\font\\fiverm=cmr5 at %.2lfpt \\font\\teni=cmmi10 \ + at %.2lfpt\n",five,ten); + fprintf(tfp," \\font\\seveni=cmmi7 at %.2lfpt \\font\\fivei=cmmi5 \ + at %.2lfpt\n",seven,five); + fprintf(tfp," \\font\\tensy=cmsy10 at %.2lfpt \\font\\sevensy=cmsy7 \ + at %.2lfpt\n",ten,seven); + fprintf(tfp," \\font\\fivesy=cmsy5 at %.2lfpt \\textfont0\\tenrm\n", five); + fprintf(tfp," \\scriptfont0\\sevenrm \\scriptscriptfont0\\fiverm\n"); + fprintf(tfp," \\textfont1\\teni \\scriptfont1\\seveni \ + \\scriptscriptfont1\\fivei\n"); + fprintf(tfp," \\textfont2\\tensy \\scriptfont2\\sevensy \ + \\scriptscriptfont2\\fivesy\n"); + fprintf(tfp," etex;\n"); + } + + /* + * If we are in "split" mode, we must start new figure if the current + * depth and the last_depth differ by more than one. + * Depths will be seen with decreasing values. + */ + void + do_split(actual_depth) + int actual_depth; + { + if (split) { + if (actual_depth+1 < last_depth) { + /* depths differ by more than one */ + if (fig_number > 0) { + /* end the current figure, if we already had one */ + fprintf(tfp,"setbounds currentpicture to allbounds;\n"); + fprintf(tfp,"endfig;\n"); + } + /* start a new figure with a comment */ + fprintf(tfp,"%% Now draw objects of depth: %d\n",actual_depth); + fprintf(tfp,"beginfig(%d)\n",fig_number++); + } + last_depth = actual_depth; + } + } + + struct driver dev_mp = { + genmp_option, + genmp_start, + genmp_arc, + genmp_ellipse, + genmp_line, + genmp_spline, + genmp_text, + genmp_end, + INCLUDE_TEXT + }; + diff -rc transfig.3.2.3c/fig2dev/dev/genpdf.c transfig.3.2.3d/fig2dev/dev/genpdf.c *** transfig.3.2.3c/fig2dev/dev/genpdf.c Wed Jul 19 09:52:48 2000 --- transfig.3.2.3d/fig2dev/dev/genpdf.c Thu Mar 22 09:27:05 2001 *************** *** 42,49 **** char *optarg; { /* just use the ps options */ ! pdfflag = 1; ! epsflag = 0; gen_ps_eps_option(opt, optarg); } --- 42,49 ---- char *optarg; { /* just use the ps options */ ! pdfflag = True; ! epsflag = True; gen_ps_eps_option(opt, optarg); } *************** *** 51,72 **** genpdf_start(objects) F_compound *objects; { ! /* divert output from ps driver to the pipe into ghostscript */ ! /* but first close the output file that main() opened */ ! saveofile = tfp; ! if (tfp != stdout) ! fclose(tfp); ! /* make up the command for gs */ ! ofile = (to == NULL? "-": to); ! sprintf(gscom, "gs -q -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=%s - -c quit", ofile); ! (void) signal(SIGPIPE, gs_broken_pipe); ! if ((tfp = popen(gscom,"w" )) == 0) { ! fprintf(stderr,"fig2dev: Can't open pipe to ghostscript\n"); ! fprintf(stderr,"command was: %s\n", gscom); ! exit(1); ! } ! genps_start(objects); } int --- 51,74 ---- genpdf_start(objects) F_compound *objects; { ! /* divert output from ps driver to the pipe into ghostscript */ ! /* but first close the output file that main() opened */ ! saveofile = tfp; ! if (tfp != stdout) ! fclose(tfp); ! /* make up the command for gs */ ! ofile = (to == NULL? "-": to); ! sprintf(gscom, ! "gs -q -dNOPAUSE -sAutoRotatePages=None -sDEVICE=pdfwrite -sOutputFile=%s - -c quit", ! ofile); ! (void) signal(SIGPIPE, gs_broken_pipe); ! if ((tfp = popen(gscom,"w" )) == 0) { ! fprintf(stderr,"fig2dev: Can't open pipe to ghostscript\n"); ! fprintf(stderr,"command was: %s\n", gscom); ! exit(1); ! } ! genps_start(objects); } int diff -rc transfig.3.2.3c/fig2dev/dev/genps.c transfig.3.2.3d/fig2dev/dev/genps.c *** transfig.3.2.3c/fig2dev/dev/genps.c Tue Jul 11 14:51:21 2000 --- transfig.3.2.3d/fig2dev/dev/genps.c Fri Apr 20 10:37:01 2001 *************** *** 81,86 **** --- 81,87 ---- int pages; int no_obj = 0; static int border_margin = 0; + static float fllx, flly, furx, fury; /* arrowhead arrays */ Point bpoints[50], fpoints[50]; *************** *** 192,197 **** --- 193,201 ---- extern int read_ppm(); extern int read_tif(); extern int read_xbm(); + #ifdef USE_PNG + extern int read_png(); + #endif #ifdef USE_JPEG extern int read_jpg(); #endif *************** *** 220,225 **** --- 224,232 ---- {"TIFF", "II*\000", 4, read_tif, False}, {"TIFF", "MM\000*", 4, read_tif, False}, {"XBM", "#define", 7, read_xbm, True}, + #ifdef USE_PNG + {"PNG", "\211\120\116\107\015\012\032\012", 8, read_png, True}, + #endif #ifdef USE_JPEG {"JPEG", "\377\330\377\340", 4, read_jpg, True}, #endif *************** *** 390,406 **** sprintf(host,"llx=%d\n",llx); /* convert to point unit */ ! llx = (int)floor(llx * scalex); ! lly = (int)floor(lly * scaley); ! urx = (int)ceil(urx * scalex); ! ury = (int)ceil(ury * scaley); /* adjust for any border margin */ ! llx -= border_margin; ! lly -= border_margin; ! urx += border_margin; ! ury += border_margin; /* convert ledger (deprecated) to tabloid */ if (strcasecmp(papersize, "ledger") == 0) --- 397,413 ---- sprintf(host,"llx=%d\n",llx); /* convert to point unit */ ! fllx = llx * scalex; ! flly = lly * scaley; ! furx = urx * scalex; ! fury = ury * scaley; /* adjust for any border margin */ ! fllx -= border_margin; ! flly -= border_margin; ! furx += border_margin; ! fury += border_margin; /* convert ledger (deprecated) to tabloid */ if (strcasecmp(papersize, "ledger") == 0) *************** *** 420,445 **** if (epsflag || pdfflag) { /* eps or pdf, shift figure to 0,0 */ ! origx = -llx; ! origy = ury; ! if (pdfflag && landscape) { ! origx = -lly; ! origy = -llx; ! } } else { /* postscript, do any orientation and/or centering */ if (landscape) { itmp = pageheight; pageheight = pagewidth; pagewidth = itmp; ! itmp = llx; llx = lly; lly = itmp; ! itmp = urx; urx = ury; ury = itmp; } if (center) { if (landscape) { ! origx = (pageheight - urx - llx)/2.0; ! origy = (pagewidth - ury - lly)/2.0; } else { ! origx = (pagewidth - urx - llx)/2.0; ! origy = (pageheight + ury + lly)/2.0; } } else { origx = 0.0; --- 427,448 ---- if (epsflag || pdfflag) { /* eps or pdf, shift figure to 0,0 */ ! origx = -fllx; ! origy = fury; } else { /* postscript, do any orientation and/or centering */ if (landscape) { itmp = pageheight; pageheight = pagewidth; pagewidth = itmp; ! itmp = fllx; fllx = flly; flly = itmp; ! itmp = furx; furx = fury; fury = itmp; } if (center) { if (landscape) { ! origx = (pageheight - furx - fllx)/2.0; ! origy = (pagewidth - fury - flly)/2.0; } else { ! origx = (pagewidth - furx - fllx)/2.0; ! origy = (pageheight + fury + flly)/2.0; } } else { origx = 0.0; *************** *** 447,454 **** } } ! /* finally, adjust by any offset the user wants */ ! if (!epsflag || pdfflag) { if (landscape) { origx += yoff; origy += xoff; --- 450,457 ---- } } ! /* finally, for postscript adjust by any offset the user wants */ ! if (!epsflag) { if (landscape) { origx += yoff; origy += xoff; *************** *** 480,491 **** for later clipping by arrowheads */ cliplx = cliply = 0; if (epsflag || pdfflag) { ! clipux = urx-llx; ! clipuy = ury-lly; ! if (pdfflag && landscape) { ! clipux = ury-lly; ! clipuy = urx-llx; ! } pages = 1; } else { if (landscape) { --- 483,490 ---- for later clipping by arrowheads */ cliplx = cliply = 0; if (epsflag || pdfflag) { ! clipux = (int) ceil(furx-fllx); ! clipuy = (int) ceil(fury-flly); pages = 1; } else { if (landscape) { *************** *** 492,506 **** clipux = pageheight; clipuy = pagewidth; /* account for overlap */ ! pages = (int)(1.11111*(urx-0.1*pageheight)/pageheight+1)* ! (int)(1.11111*(ury-0.1*pagewidth)/pagewidth+1); fprintf(tfp, "%%%%Orientation: Landscape\n"); } else { clipux = pagewidth; clipuy = pageheight; /* account for overlap */ ! pages = (int)(1.11111*(urx-0.1*pagewidth)/pagewidth+1)* ! (int)(1.11111*(ury-0.1*pageheight)/pageheight+1); fprintf(tfp, "%%%%Orientation: Portrait\n"); } /* only print Pages if PostScript */ --- 491,505 ---- clipux = pageheight; clipuy = pagewidth; /* account for overlap */ ! pages = (int)(1.11111*(furx-0.1*pageheight)/pageheight+1)* ! (int)(1.11111*(fury-0.1*pagewidth)/pagewidth+1); fprintf(tfp, "%%%%Orientation: Landscape\n"); } else { clipux = pagewidth; clipuy = pageheight; /* account for overlap */ ! pages = (int)(1.11111*(furx-0.1*pagewidth)/pagewidth+1)* ! (int)(1.11111*(fury-0.1*pageheight)/pageheight+1); fprintf(tfp, "%%%%Orientation: Portrait\n"); } /* only print Pages if PostScript */ *************** *** 510,525 **** cliplx, cliply, clipux, clipuy); /* only include a pagesize command if PS */ ! if (!epsflag && !pdfflag) { fprintf(tfp, "%%%%BeginSetup\n"); fprintf(tfp, "%%%%IncludeFeature: *PageSize %s\n", papersize); fprintf(tfp, "%%%%EndSetup\n"); } else if (pdfflag) { ! /* set the page size for PDF */ ! if (landscape) ! fprintf(tfp, "<< /PageSize [%d %d] >> setpagedevice\n",ury-lly,urx-llx); ! else ! fprintf(tfp, "<< /PageSize [%d %d] >> setpagedevice\n",urx-llx,ury-lly); } /* put in the magnification for information purposes */ --- 509,522 ---- cliplx, cliply, clipux, clipuy); /* only include a pagesize command if PS */ ! if (!epsflag) { fprintf(tfp, "%%%%BeginSetup\n"); fprintf(tfp, "%%%%IncludeFeature: *PageSize %s\n", papersize); fprintf(tfp, "%%%%EndSetup\n"); } else if (pdfflag) { ! /* set the page size to the image size for PDF */ ! fprintf(tfp, "<< /PageSize [%.2f %.2f] >> setpagedevice\n", ! furx-fllx,fury-flly); } /* put in the magnification for information purposes */ *************** *** 624,631 **** sprintf(filename, "%s/%s.ps", libdir, locale); /* get filename like ``/usr/local/lib/fig2dev/japanese.ps'' */ fp = fopen(filename, "rb"); if (fp == NULL) { ! fprintf(stderr, "fig2dev: can't open file: %s\n", filename); } else { while (fgets(str, sizeof(str), fp)) { if (strstr(str, "CompositeRoman")) enable_composite_font = True; --- 621,631 ---- sprintf(filename, "%s/%s.ps", libdir, locale); /* get filename like ``/usr/local/lib/fig2dev/japanese.ps'' */ fp = fopen(filename, "rb"); + /* open the locale file */ if (fp == NULL) { ! /* only warn if it isn't the C locale */ ! if (strcmp(locale,"C") != 0) ! fprintf(stderr, "fig2dev: warning, can't open file: %s\n", filename); } else { while (fgets(str, sizeof(str), fp)) { if (strstr(str, "CompositeRoman")) enable_composite_font = True; *************** *** 640,648 **** fprintf(tfp, "$F2psBegin\n"); - /* multipage will print the page numbers in genps_end() */ - if (!multi_page) - fprintf(tfp, "%%%%Page: 1 1\n"); fprintf(tfp, "10 setmiterlimit\n"); /* make like X server (11 degrees) */ if ( multi_page ) { --- 640,645 ---- *************** *** 669,676 **** page = 1; h = (landscape? pagewidth: pageheight); w = (landscape? pageheight: pagewidth); ! for (dy=0; dy < (ury-h*0.1); dy += h*0.9) { ! for (dx=0; dx < (urx-w*0.1); dx += w*0.9) { fprintf(tfp, "%%%%Page: %d %d\n",page,page); fprintf(tfp, "gs\n"); fprintf(tfp,"%.1f %.1f tr", --- 666,673 ---- page = 1; h = (landscape? pagewidth: pageheight); w = (landscape? pageheight: pagewidth); ! for (dy=0; dy < (fury-h*0.1); dy += h*0.9) { ! for (dx=0; dx < (furx-w*0.1); dx += w*0.9) { fprintf(tfp, "%%%%Page: %d %d\n",page,page); fprintf(tfp, "gs\n"); fprintf(tfp,"%.1f %.1f tr", *************** *** 872,882 **** } else if (l->type == T_PIC_BOX) { /* imported picture */ /* PICTURE OBJECT */ int dx, dy, rotation; ! int llx, lly, urx, ury; int i, j; Boolean found; int c; - double fllx, flly, furx, fury; dx = l->points->next->next->x - l->points->x; dy = l->points->next->next->y - l->points->y; --- 869,878 ---- } else if (l->type == T_PIC_BOX) { /* imported picture */ /* PICTURE OBJECT */ int dx, dy, rotation; ! int pllx, plly, purx, pury; int i, j; Boolean found; int c; dx = l->points->next->next->x - l->points->x; dy = l->points->next->next->y - l->points->y; *************** *** 922,928 **** picf=open_picfile(l->pic->file, &filtype, headers[i].pipeok, realname); if (headers[i].pipeok) { ! if (((*headers[i].readfunc)(picf,filtype,l->pic,&llx,&lly)) == 0) { fprintf(stderr,"%s: Bad %s format\n",l->pic->file, headers[i].type); close_picfile(picf,filtype); return; --- 918,924 ---- picf=open_picfile(l->pic->file, &filtype, headers[i].pipeok, realname); if (headers[i].pipeok) { ! if (((*headers[i].readfunc)(picf,filtype,l->pic,&pllx,&plly)) == 0) { fprintf(stderr,"%s: Bad %s format\n",l->pic->file, headers[i].type); close_picfile(picf,filtype); return; *************** *** 929,935 **** } } else { /* routines that can't take a pipe (e.g. xpm) get the real filename */ ! if (((*headers[i].readfunc)(realname,filtype,l->pic,&llx,&lly)) == 0) { fprintf(stderr,"%s: Bad %s format\n",l->pic->file, headers[i].type); close_picfile(picf,filtype); return; --- 925,931 ---- } } else { /* routines that can't take a pipe (e.g. xpm) get the real filename */ ! if (((*headers[i].readfunc)(realname,filtype,l->pic,&pllx,&plly)) == 0) { fprintf(stderr,"%s: Bad %s format\n",l->pic->file, headers[i].type); close_picfile(picf,filtype); return; *************** *** 942,958 **** fprintf(stderr,"%s: Unknown image format\n",l->pic->file); return; } ! urx = l->pic->bit_size.x+llx; /* calc upper-right from size and lower-left */ ! ury = l->pic->bit_size.y+lly; fprintf(tfp, "n gs\n"); if (((rotation == 90 || rotation == 270) && !l->pic->flipped) || (rotation != 90 && rotation != 270 && l->pic->flipped)) { ! pic_h = urx - llx; ! pic_w = ury - lly; } else { ! pic_w = urx - llx; ! pic_h = ury - lly; } /* translate the pic stuff to the right spot on the page */ --- 938,965 ---- fprintf(stderr,"%s: Unknown image format\n",l->pic->file); return; } ! /* if we have any of the following pic types, we need the ps encoder */ ! if ((l->pic->subtype == P_XPM || l->pic->subtype == P_PCX || ! l->pic->subtype == P_PNG || l->pic->subtype == P_JPEG) && ! !psencode_header_done) ! PSencode_header(); ! ! /* if we have a GIF with a transparent color, we need the transparentimage code */ ! /* Actually, the GIF has been changed to PCX, but we still have the information */ ! if (l->pic->subtype == P_PCX && l->pic->transp != -1 && !transp_header_done) ! PStransp_header(); ! ! purx = l->pic->bit_size.x+pllx; /* calc upper-right from size and lower-left */ ! pury = l->pic->bit_size.y+plly; fprintf(tfp, "n gs\n"); if (((rotation == 90 || rotation == 270) && !l->pic->flipped) || (rotation != 90 && rotation != 270 && l->pic->flipped)) { ! pic_h = purx - pllx; ! pic_w = pury - plly; } else { ! pic_w = purx - pllx; ! pic_h = pury - plly; } /* translate the pic stuff to the right spot on the page */ *************** *** 1011,1017 **** } /* translate the pic stuff so that the lower-left corner is at the origin */ ! fprintf(tfp, "%d %d tr\n", -llx, -lly); /* save vm so pic file won't change anything */ fprintf(tfp, "sa\n"); --- 1018,1024 ---- } /* translate the pic stuff so that the lower-left corner is at the origin */ ! fprintf(tfp, "%d %d tr\n", -pllx, -plly); /* save vm so pic file won't change anything */ fprintf(tfp, "sa\n"); *************** *** 1020,1026 **** */ if (l->pic->subtype == P_EPS) { fprintf(tfp, "n %d %d m %d %d l %d %d l %d %d l cp clip n\n", ! llx,lly, urx,lly, urx,ury, llx,ury); fprintf(tfp, "countdictstack\n"); fprintf(tfp, "mark\n"); } --- 1027,1033 ---- */ if (l->pic->subtype == P_EPS) { fprintf(tfp, "n %d %d m %d %d l %d %d l %d %d l cp clip n\n", ! pllx,plly, purx,plly, purx,pury, pllx,pury); fprintf(tfp, "countdictstack\n"); fprintf(tfp, "mark\n"); } *************** *** 1037,1048 **** fprintf(tfp, "col%d\n ", l->pen_color); fprintf(tfp, "%% Bitmap image follows:\n"); /* scale for size in bits */ ! fprintf(tfp, "%d %d sc\n", urx, ury); ! fprintf(tfp, "/pix %d string def\n", (int)((urx+7)/8)); /* width, height and paint 0 bits */ ! fprintf(tfp, "%d %d false\n", urx, ury); /* transformation matrix */ ! fprintf(tfp, "[%d 0 0 %d 0 %d]\n", urx, -ury, ury); /* function for reading bits */ fprintf(tfp, "{currentfile pix readhexstring pop}\n"); /* use imagemask to draw in color */ --- 1044,1055 ---- fprintf(tfp, "col%d\n ", l->pen_color); fprintf(tfp, "%% Bitmap image follows:\n"); /* scale for size in bits */ ! fprintf(tfp, "%d %d sc\n", pic_w, pic_h); ! fprintf(tfp, "/pix %d string def\n", (int)((pic_w+7)/8)); /* width, height and paint 0 bits */ ! fprintf(tfp, "%d %d false\n", pic_w, pic_h); /* transformation matrix */ ! fprintf(tfp, "[%d 0 0 %d 0 %d]\n", pic_w, -pic_h, pic_h); /* function for reading bits */ fprintf(tfp, "{currentfile pix readhexstring pop}\n"); /* use imagemask to draw in color */ *************** *** 1049,1056 **** fprintf(tfp, "imagemask\n"); bit = l->pic->bitmap; cwid = 0; ! for (i=0; i= 80) { --- 1056,1063 ---- fprintf(tfp, "imagemask\n"); bit = l->pic->bitmap; cwid = 0; ! for (i=0; i= 80) { *************** *** 1076,1082 **** ht = l->pic->xpmimage.height; fprintf(tfp, "%% Pixmap image follows:\n"); /* scale for size in bits */ ! fprintf(tfp, "%d %d sc\n", urx, ury); /* modify colortable entries to make consistent */ coltabl = l->pic->xpmimage.colorTable; /* convert the colors to rgb constituents */ --- 1083,1089 ---- ht = l->pic->xpmimage.height; fprintf(tfp, "%% Pixmap image follows:\n"); /* scale for size in bits */ ! fprintf(tfp, "%d %d sc\n", pic_w, pic_h); /* modify colortable entries to make consistent */ coltabl = l->pic->xpmimage.colorTable; /* convert the colors to rgb constituents */ *************** *** 1093,1099 **** *cp++ = (unsigned char) *dp++; /* now write out the image data in a compressed form */ ! (void) PSencode(tfp, wid, ht, l->pic->xpmimage.ncolors, l->pic->cmap[0], l->pic->cmap[1], l->pic->cmap[2], cdata); /* and free up the space */ --- 1100,1106 ---- *cp++ = (unsigned char) *dp++; /* now write out the image data in a compressed form */ ! (void) PSencode(pic_w, pic_h, -1, l->pic->xpmimage.ncolors, l->pic->cmap[0], l->pic->cmap[1], l->pic->cmap[2], cdata); /* and free up the space */ *************** *** 1101,1109 **** XpmFreeXpmImage(&l->pic->xpmimage); #endif /* USE_XPM */ ! /* GIF, PCX, or JPEG file */ } else if (l->pic->subtype == P_GIF || l->pic->subtype == P_PCX || ! l->pic->subtype == P_JPEG) { int wid, ht; /* start with width and height */ --- 1108,1116 ---- XpmFreeXpmImage(&l->pic->xpmimage); #endif /* USE_XPM */ ! /* GIF, PCX, PNG, or JPEG file */ } else if (l->pic->subtype == P_GIF || l->pic->subtype == P_PCX || ! l->pic->subtype == P_JPEG || l->pic->subtype == P_PNG) { int wid, ht; /* start with width and height */ *************** *** 1113,1128 **** fprintf(tfp, "%% GIF image follows:\n"); else if (l->pic->subtype == P_PCX) fprintf(tfp, "%% PCX image follows:\n"); else fprintf(tfp, "%% JPEG image follows:\n"); /* scale for size in bits */ ! fprintf(tfp, "%d %d sc\n", urx, ury); if (l->pic->numcols > 256) { /* 24-bit image, write rgb values */ (void) PSrgbimage(tfp, wid, ht, l->pic->bitmap); } else { /* now write out the image data in a compressed form */ ! (void) PSencode(tfp, wid, ht, l->pic->numcols, l->pic->cmap[0], l->pic->cmap[1], l->pic->cmap[2], l->pic->bitmap); } --- 1120,1137 ---- fprintf(tfp, "%% GIF image follows:\n"); else if (l->pic->subtype == P_PCX) fprintf(tfp, "%% PCX image follows:\n"); + else if (l->pic->subtype == P_PNG) + fprintf(tfp, "%% PNG image follows:\n"); else fprintf(tfp, "%% JPEG image follows:\n"); /* scale for size in bits */ ! fprintf(tfp, "%d %d sc\n", pic_w, pic_h); if (l->pic->numcols > 256) { /* 24-bit image, write rgb values */ (void) PSrgbimage(tfp, wid, ht, l->pic->bitmap); } else { /* now write out the image data in a compressed form */ ! (void) PSencode(pic_w, pic_h, l->pic->transp, l->pic->numcols, l->pic->cmap[0], l->pic->cmap[1], l->pic->cmap[2], l->pic->bitmap); } diff -rc transfig.3.2.3c/fig2dev/dev/psencode.c transfig.3.2.3d/fig2dev/dev/psencode.c *** transfig.3.2.3c/fig2dev/dev/psencode.c Tue Jul 11 09:38:18 2000 --- transfig.3.2.3d/fig2dev/dev/psencode.c Fri Jan 12 14:14:37 2001 *************** *** 25,68 **** #define PageWidth 612 #define PageHeight 792 ! #define put_string nc=strlen(s); for(i=0;i MAXWIDTH || Height <= 0 || Height > MAXWIDTH) { --- 96,253 ---- " } ifelse", " grestore", "} bind def", NULL }; + for (str=PSencodeheader; *str; str++) { + fprintf(tfp,"%s\n",*str); + } + /* set flag saying we've emitted the header */ + psencode_header_done = True; + } + + /* output transparentimage header */ + + PStransp_header() + { + static char *Transpheader[] = { + "%*************************************", + "% Transparent image template follows *", + "%*************************************", + "", + "/transparentimage {", + " gsave", + " 32 dict begin", + " /olddict <<", + " /ImageType 1", + " /BitsPerComponent 8", + " /Decode [0 255]", + " >> def", + " /tinteger exch def", + " /height exch def", + " /width exch def", + " /transparent 1 string def", + " transparent 0 tinteger put", + " olddict /ImageMatrix [width 0 0 height neg 0 height] put", + " /newdict olddict maxlength dict def", + " olddict newdict copy pop", + " newdict /Width width put", + " newdict /Height height put", + " /w newdict /Width get def", + " /str w string def", + " /substrlen 2 w log 2 log div floor exp cvi def", + " /substrs [", + " {", + " substrlen string", + " 0 1 substrlen 1 sub {", + " 1 index exch tinteger put", + " } for", + " /substrlen substrlen 2 idiv def", + " substrlen 0 eq {exit} if", + " } loop", + " ] def", + " /h newdict /Height get def", + " 1 w div 1 h div matrix scale", + " olddict /ImageMatrix get exch matrix concatmatrix", + " matrix invertmatrix concat", + " newdict /Height 1 put", + " newdict /DataSource str put", + " /mat [w 0 0 h 0 0] def", + " newdict /ImageMatrix mat put", + " 0 1 h 1 sub {", + " mat 5 3 -1 roll neg put", + " % get Width bytes from the image via the RLE decoder", + " 0 1 w 1 sub { str exch RLEPacket putinterval } for", + " /tail str def", + " /x 0 def", + " {", + " tail transparent search dup /done exch not def", + " {exch pop exch pop} if", + " /w1 1 index length def", + " w1 0 ne {", + " newdict /DataSource 3 -1 roll put", + " newdict /Width w1 put", + " mat 4 x neg put", + " /x x w1 add def", + " newdict image", + " /tail tail w1 tail length w1 sub getinterval def", + " } {", + " pop", + " } ifelse", + " done {exit} if", + " tail substrs {", + " anchorsearch {pop} if", + " } forall", + " /tail exch def", + " tail length 0 eq {exit} if", + " /x w tail length sub def", + " } loop", + " } for", + " end", + " grestore", + "} bind def", + "", + "% number of bytes remaining in current RLE run", + "/Nbyte 0 def", + "% color of current RLE run", + "/color 1 string def", + "", + "/byte 1 string def", + "", + "%***************************************************", + "/RLEPacket % Decode RLE color packet *", + "%***************************************************", + "{", + " Nbyte 0 eq {", + " currentfile byte readhexstring pop 0 get", + " /Nbyte exch 1 add def ", + " currentfile color readhexstring pop pop", + " } if", + " /Nbyte Nbyte 1 sub def", + " color ", + "} bind def", + NULL + }; + + for (str=Transpheader; *str; str++) { + fprintf(tfp,"%s\n",*str); + } + /* set flag saying we've emitted the header */ + transp_header_done = True; + } + + /*********************************************************************** + * * + * Name: PSencode Date: 13.01.93 * + * * + * Function: Output image in PostScript format (runlength encoding) * + * * + * Input: Width - image width * + * Height - image height * + * Transparent - index of transparent color (-1 if none) * + * Ncol - number of colors * + * R[] - red components * + * G[] - green components * + * B[] - blue components * + * data[] - array for image data (byte per pixel) * + * * + * Return: size of PS * + * * + ***********************************************************************/ + long + PSencode(Width, Height, Transparent, Ncol, R, G, B, data) + int Width, Height, Transparent, Ncol; + byte R[], G[], B[]; + unsigned char *data; + { + + long Nbyte; + char s[80]; + byte *ptr, *end; + int i, nc, k, current, previous, run, y; + + static char h[] = "0123456789abcdef"; + /* CHECK PARAMETERS */ if (Width <= 0 || Width > MAXWIDTH || Height <= 0 || Height > MAXWIDTH) { *************** *** 143,162 **** return 0; } - /* OUTPUT HEADER */ - - Nbyte = 0; - - /* OUTPUT POSTSCRIPT PROGRAM */ ! for (q=PostScript; *q; q++) { ! sprintf(s,"%s\n",*q); put_string; } ! /* OUTPUT IMAGE DATA */ ! ! sprintf(s,"%d %d\n", Width, Height); put_string; ! sprintf(s,"%d\n",Ncol); put_string; for (k=0; k ] setcolorspace\n"); + fprintf(tfp,"%d %d %d transparentimage\n",Width,Height,Transparent); + } ! /* RUN-LENGTH COMPRESSION */ run = 0; nc = 0; diff -rc transfig.3.2.3c/fig2dev/dev/readgif.c transfig.3.2.3d/fig2dev/dev/readgif.c *** transfig.3.2.3c/fig2dev/dev/readgif.c Fri May 26 10:21:43 2000 --- transfig.3.2.3d/fig2dev/dev/readgif.c Fri Jan 12 14:03:55 2001 *************** *** 90,98 **** FILE *giftopcx; int i, stat, size; int useGlobalColormap; ! unsigned int bitPixel, red, green, blue; unsigned char c; char version[4]; /* first read header to look for any transparent color extension */ --- 90,99 ---- FILE *giftopcx; int i, stat, size; int useGlobalColormap; ! unsigned int bitPixel; unsigned char c; char version[4]; + unsigned char transp[3]; /* RGB of transparent color (if any) */ /* first read header to look for any transparent color extension */ *************** *** 176,181 **** --- 177,188 ---- /* save transparent indicator */ pic->transp = Gif89.transparent; + /* and RGB values */ + if (pic->transp != -1) { + transp[RED] = pic->cmap[RED][pic->transp]; + transp[GREEN] = pic->cmap[GREEN][pic->transp]; + transp[BLUE] = pic->cmap[BLUE][pic->transp]; + } /* reposition the file at the beginning */ close_picfile(file,filetype); *************** *** 211,223 **** /* now match original transparent colortable index with possibly new colortable from ppmtopcx */ if (pic->transp != -1) { - red = pic->cmap[RED][pic->transp]; - green = pic->cmap[GREEN][pic->transp]; - blue = pic->cmap[BLUE][pic->transp]; for (i=0; inumcols; i++) { ! if (pic->cmap[RED][i] == red && ! pic->cmap[GREEN][i] == green && ! pic->cmap[BLUE][i] == blue) break; } if (i < pic->numcols) --- 218,227 ---- /* now match original transparent colortable index with possibly new colortable from ppmtopcx */ if (pic->transp != -1) { for (i=0; inumcols; i++) { ! if (pic->cmap[RED][i] == transp[RED] && ! pic->cmap[GREEN][i] == transp[GREEN] && ! pic->cmap[BLUE][i] == transp[BLUE]) break; } if (i < pic->numcols) *************** *** 257,275 **** char *str; switch (label) { ! case 0x01: /* Plain Text Extension */ str = "Plain Text Extension"; break; ! case 0xff: /* Application Extension */ str = "Application Extension"; break; ! case 0xfe: /* Comment Extension */ str = "Comment Extension"; while (GetDataBlock(fd, buf) != 0) { ; /* GIF comment */ } return False; ! case 0xf9: /* Graphic Control Extension */ str = "Graphic Control Extension"; (void) GetDataBlock(fd, (unsigned char*) buf); Gif89.disposal = (buf[0] >> 2) & 0x7; --- 261,279 ---- char *str; switch (label) { ! case 0x01: /* Plain Text Extension */ str = "Plain Text Extension"; break; ! case 0xff: /* Application Extension */ str = "Application Extension"; break; ! case 0xfe: /* Comment Extension */ str = "Comment Extension"; while (GetDataBlock(fd, buf) != 0) { ; /* GIF comment */ } return False; ! case 0xf9: /* Graphic Control Extension */ str = "Graphic Control Extension"; (void) GetDataBlock(fd, (unsigned char*) buf); Gif89.disposal = (buf[0] >> 2) & 0x7; *************** *** 281,287 **** while (GetDataBlock(fd, buf) != 0) ; return False; ! default: str = (char *) buf; sprintf(str, "UNKNOWN (0x%02x)", label); break; --- 285,291 ---- while (GetDataBlock(fd, buf) != 0) ; return False; ! default: str = (char *) buf; sprintf(str, "UNKNOWN (0x%02x)", label); break; diff -rc transfig.3.2.3c/fig2dev/dev/readpcx.c transfig.3.2.3d/fig2dev/dev/readpcx.c *** transfig.3.2.3c/fig2dev/dev/readpcx.c Fri Jul 14 10:28:58 2000 --- transfig.3.2.3d/fig2dev/dev/readpcx.c Fri Jan 12 14:09:18 2001 *************** *** 33,38 **** --- 33,39 ---- int *llx, *lly; { *llx = *lly = 0; + pic->transp = -1; return _read_pcx(file, pic); } diff -rc transfig.3.2.3c/fig2dev/dev/readpng.c transfig.3.2.3d/fig2dev/dev/readpng.c *** transfig.3.2.3c/fig2dev/dev/readpng.c Tue May 29 14:25:38 2001 --- transfig.3.2.3d/fig2dev/dev/readpng.c Thu Jan 25 11:05:09 2001 *************** *** 0 **** --- 1,194 ---- + /* + * TransFig: Facility for Translating Fig code + * Copyright (c) 1989-2001 by Brian V. Smith + * + * Any party obtaining a copy of these files is granted, free of charge, a + * full and unrestricted irrevocable, world-wide, paid up, royalty-free, + * nonexclusive right and license to deal in this software and + * documentation files (the "Software"), including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons who receive + * copies from any such party to do so, with the only requirement being + * that this copyright notice remain intact. + * + */ + + #include "fig2dev.h" + #include "object.h" + #include + + /* return codes: 1 : success + 0 : invalid file + */ + + int + read_png(file,filetype,pic,llx,lly) + FILE *file; + int filetype; + F_pic *pic; + int *llx, *lly; + { + register int i, j; + int status; + png_structp png_ptr; + png_infop info_ptr; + png_infop end_info; + png_uint_32 w, h, rowsize; + int bit_depth, color_type, interlace_type; + int compression_type, filter_type; + png_bytep *row_pointers; + char *ptr; + int num_palette; + png_colorp palette; + png_color_16 png_background; + + *llx = *lly = 0; + + /* read the png file here */ + png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, + (png_voidp) NULL, NULL, NULL); + if (!png_ptr) + return 0; + + info_ptr = png_create_info_struct(png_ptr); + if (!info_ptr) { + png_destroy_read_struct(&png_ptr, (png_infopp) NULL, (png_infopp) NULL); + return 0; + } + + end_info = png_create_info_struct(png_ptr); + if (!end_info) { + png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); + return 0; + } + + /* set long jump here */ + if (setjmp(png_ptr->jmpbuf)) { + /* if we get here there was a problem reading the file */ + png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); + return 0; + } + + /* set up the input code */ + png_init_io(png_ptr, file); + + /* now read the file info */ + png_read_info(png_ptr, info_ptr); + + /* get width, height etc */ + png_get_IHDR(png_ptr, info_ptr, &w, &h, &bit_depth, &color_type, + &interlace_type, &compression_type, &filter_type); + + if (info_ptr->valid & PNG_INFO_gAMA) + png_set_gamma(png_ptr, 2.2, info_ptr->gamma); + else + png_set_gamma(png_ptr, 2.2, 0.45); + + if (info_ptr->valid & PNG_INFO_bKGD) + /* set the background to the one supplied */ + png_set_background(png_ptr, &info_ptr->background, + PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); + else { + /* blend the canvas background using the alpha channel */ + if (bgspec) { + png_background.red = background.red >> 8; + png_background.green = background.green >> 8; + png_background.blue = background.blue >> 8; + png_background.gray = 0; + } else { + /* no background specified by user, use white */ + png_background.red = png_background.green = + png_background.blue = png_background.gray = 255; + } + png_set_background(png_ptr, &png_background, PNG_BACKGROUND_GAMMA_SCREEN, 0, 2.2); + } + + /* set order to BGR (default is RGB) */ + if (color_type == PNG_COLOR_TYPE_RGB || color_type == PNG_COLOR_TYPE_RGB_ALPHA) + png_set_bgr(png_ptr); + + /* strip 16-bit RGB values down to 8-bit */ + if (bit_depth == 16) + png_set_strip_16(png_ptr); + + /* force to 8-bits per pixel if less than 8 */ + if (bit_depth < 8) + png_set_packing(png_ptr); + + /* dither rgb files down to 8 bit palette */ + num_palette = 0; + pic->transp = -1; + if (color_type & PNG_COLOR_MASK_COLOR) { + png_uint_16p histogram; + + if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette)) { + png_get_hIST(png_ptr, info_ptr, &histogram); + png_set_dither(png_ptr, palette, num_palette, 256, histogram, 0); + } + } + if (color_type == PNG_COLOR_TYPE_GRAY || color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { + /* expand to full range */ + png_set_expand(png_ptr); + /* make a gray colormap */ + num_palette = 256; + for (i = 0; i < num_palette; i++) + pic->cmap[RED][i] = pic->cmap[GREEN][i] = pic->cmap[BLUE][i] = i; + } else { + /* transfer the palette to the object's colormap */ + for (i=0; icmap[RED][i] = palette[i].red; + pic->cmap[GREEN][i] = palette[i].green; + pic->cmap[BLUE][i] = palette[i].blue; + } + } + rowsize = w; + if (color_type == PNG_COLOR_TYPE_RGB || + color_type == PNG_COLOR_TYPE_RGB_ALPHA) + rowsize = w*3; + + /* allocate the row pointers and rows */ + row_pointers = (png_bytep *) malloc(h*sizeof(png_bytep)); + for (i=0; ibitmap=malloc(rowsize*h))==NULL) + return 0; + + /* copy it to our bitmap */ + ptr = pic->bitmap; + for (i=0; ibit_size.x = w; + pic->bit_size.y = h; + + if (color_type == PNG_COLOR_TYPE_RGB || color_type == PNG_COLOR_TYPE_RGB_ALPHA) { + /* no palette */ + pic->numcols = 2<<16; + } else { + pic->numcols = num_palette; + } + + /* clean up */ + png_read_end(png_ptr, end_info); + png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); + for (i=0; isubtype = P_PNG; + pic->hw_ratio = (float) pic->bit_size.y / pic->bit_size.x; + + /* success */ + return 1; + } diff -rc transfig.3.2.3c/fig2dev/dev/readppm.c transfig.3.2.3d/fig2dev/dev/readppm.c *** transfig.3.2.3c/fig2dev/dev/readppm.c Fri May 26 10:21:54 2000 --- transfig.3.2.3d/fig2dev/dev/readppm.c Fri Jan 12 14:09:50 2001 *************** *** 56,61 **** --- 56,62 ---- } /* now call _read_pcx to read the pcx file */ stat = _read_pcx(giftopcx, pic); + pic->transp = -1; /* close file */ fclose(giftopcx); /* remove temp file */ diff -rc transfig.3.2.3c/fig2dev/dev/readtif.c transfig.3.2.3d/fig2dev/dev/readtif.c *** transfig.3.2.3c/fig2dev/dev/readtif.c Mon Jul 10 14:52:14 2000 --- transfig.3.2.3d/fig2dev/dev/readtif.c Fri Jan 12 14:10:10 2001 *************** *** 58,63 **** --- 58,64 ---- } /* now call _read_pcx to read the pcx file */ stat = _read_pcx(tiftopcx, pic); + pic->transp = -1; /* close the temp file */ fclose(tiftopcx); /* and remove it */ diff -rc transfig.3.2.3c/fig2dev/drivers.h transfig.3.2.3d/fig2dev/drivers.h *** transfig.3.2.3c/fig2dev/drivers.h Tue Jul 11 14:46:51 2000 --- transfig.3.2.3d/fig2dev/drivers.h Thu Feb 15 09:44:33 2001 *************** *** 31,36 **** --- 31,37 ---- extern struct driver dev_tk; extern struct driver dev_tpic; extern struct driver dev_mf; + extern struct driver dev_mp; extern struct driver dev_ge; extern struct driver dev_bitmaps; extern struct driver dev_map; *************** *** 51,56 **** --- 52,59 ---- {"jpeg", &dev_bitmaps}, {"latex", &dev_latex}, {"mf", &dev_mf}, + {"mp", &dev_mp}, + {"mmp", &dev_mp}, {"pcx", &dev_bitmaps}, {"pic", &dev_pic}, {"pictex", &dev_pictex}, diff -rc transfig.3.2.3c/fig2dev/fig2dev.c transfig.3.2.3d/fig2dev/fig2dev.c *** transfig.3.2.3c/fig2dev/fig2dev.c Tue Jul 11 15:35:17 2000 --- transfig.3.2.3d/fig2dev/fig2dev.c Tue Mar 27 13:28:02 2001 *************** *** 64,70 **** double mag = 1.0; FILE *tfp = NULL; ! int ppi; /* Fig file resolution (e.g. 1200) */ int llx = 0, lly = 0, urx = 0, ury = 0; Boolean landscape; Boolean center; --- 64,70 ---- double mag = 1.0; FILE *tfp = NULL; ! double ppi; /* Fig file resolution (e.g. 1200) */ int llx = 0, lly = 0, urx = 0, ury = 0; Boolean landscape; Boolean center; *************** *** 86,91 **** --- 86,94 ---- Boolean bgspec = False; /* flag to say -g was specified */ char gscom[1000]; /* to build up a command for ghostscript */ + Boolean psencode_header_done = False; /* if we have already emitted PSencode header */ + Boolean transp_header_done = False; /* if we have already emitted transparent image header */ + struct obj_rec { void (*gendev)(); char *obj; *************** *** 92,97 **** --- 95,108 ---- int depth; }; + #define NUMDEPTHS 100 + + struct depth_opts { + int d1,d2; + } depth_opt[NUMDEPTHS]; + int depth_index = 0; + char depth_op; /* '+' for skip all but those listed */ + /* be sure to update NUMPAPERSIZES in fig2dev.h if this table changes */ struct paperdef paperdef[] = *************** *** 147,155 **** /* add :? */ /* sum of all arguments */ #ifdef I18N ! while ((c = fig_getopt(argc, argv, "aAb:cC:d:ef:g:hl:L:Mm:n:q:Pp:rs:S:t:vVx:X:y:Y:wWz:j?")) != EOF) { #else ! while ((c = fig_getopt(argc, argv, "aAb:cC:d:ef:g:hl:L:Mm:n:q:Pp:rs:S:t:vVx:X:y:Y:wWz:?")) != EOF) { #endif /* generic option handling */ --- 158,166 ---- /* add :? */ /* sum of all arguments */ #ifdef I18N ! while ((c = fig_getopt(argc, argv, "aAb:cC:d:D:ef:g:hkl:L:Mm:n:q:Pp:rs:S:t:vVx:X:y:Y:wWz:j?")) != EOF) { #else ! while ((c = fig_getopt(argc, argv, "aAb:cC:d:D:ef:g:hkl:L:Mm:n:q:Pp:rs:S:t:vVx:X:y:Y:wWz:?")) != EOF) { #endif /* generic option handling */ *************** *** 200,205 **** --- 211,219 ---- support_i18n = True; continue; /* don't pass this option to driver */ #endif /* I18N */ + case 'D': /* depth filtering */ + depth_option(optarg); + continue; /* this opts parser is a mess */ case '?': /* usage */ fprintf(stderr,Usage,prog); exit(1); *************** *** 250,257 **** if (to == NULL) tfp = stdout; else if ((tfp = fopen(to, "wb")) == NULL) { ! fprintf(stderr, "Couldn't open %s", to); ! fprintf(stderr, Usage, prog); exit(1); } --- 264,270 ---- if (to == NULL) tfp = stdout; else if ((tfp = fopen(to, "wb")) == NULL) { ! fprintf(stderr, "Couldn't open %s\n", to); exit(1); } *************** *** 281,286 **** --- 294,300 ---- } printf("\n"); printf(" -m mag set magnification\n"); + printf(" -D +/-list include or exclude depths listed\n"); printf(" -f font set default font\n"); printf(" -s size set default font size in points\n"); printf(" -h print this message, fig2dev version number and exit\n"); *************** *** 324,336 **** printf(" -S smooth specify smoothing factor [2-3 reasonable]\n"); printf(" -t color specify GIF transparent color in hexadecimal (e.g. #ff0000=red)\n"); printf("JPEG Options:\n"); printf(" -b width specify width of blank border around figure\n"); printf(" -g color background color\n"); printf(" -q quality specify image quality factor (0-100)\n"); printf(" -S smooth specify smoothing factor [2-3 reasonable]\n"); ! printf("PNG, PCX, PPM, and TIFF Options:\n"); printf(" -b width specify width of blank border around figure\n"); printf(" -g color background color\n"); printf(" -S smooth specify smoothing factor [2-3 reasonable]\n"); --- 338,352 ---- printf(" -S smooth specify smoothing factor [2-3 reasonable]\n"); printf(" -t color specify GIF transparent color in hexadecimal (e.g. #ff0000=red)\n"); + #ifdef USE_JPEG printf("JPEG Options:\n"); printf(" -b width specify width of blank border around figure\n"); printf(" -g color background color\n"); printf(" -q quality specify image quality factor (0-100)\n"); printf(" -S smooth specify smoothing factor [2-3 reasonable]\n"); + #endif /* USE_JPEG */ ! printf("Options for all other bitmap languages:\n"); printf(" -b width specify width of blank border around figure\n"); printf(" -g color background color\n"); printf(" -S smooth specify smoothing factor [2-3 reasonable]\n"); *************** *** 473,478 **** --- 489,495 ---- /* generate objects in sorted order */ for (r = rec_array; rgendev))(r->obj); /* generate trailer */ *************** *** 492,497 **** --- 509,587 ---- /* null operation */ void gendev_null() { ; + } + + /* + * depth_options: + * +range[,range...] + * -range[,range...] + * where range is: + * d include/exclude this depth + * d1:d2 include/exclude this range of depths + */ + + depth_usage() + { + fprintf(stderr,"%s: help for -D option:\n",prog); + fprintf(stderr," -D +rangelist means keep only depths in rangelist.\n"); + fprintf(stderr," -D -rangelist means keep all depths but those in rangelist.\n"); + fprintf(stderr," rangelist can be a list of numbers or ranges of numbers, e.g.:\n"); + fprintf(stderr," 10,40,55,60:70,99\n"); + exit(1); + } + + depth_option(s) + char *s; + { + struct depth_opts *d; + + switch (depth_op = *s++) { + case '+': + case '-': + break; + default: + depth_usage(); + } + + for (d = depth_opt; depth_index < NUMDEPTHS && *s; ++depth_index, d++) { + if (*s == ',') ++s; + d->d1 = d->d2 = -1; + d->d1 = strtol(s,&s,10); + if (d->d1 <= 0) + depth_usage(); + switch(*s) { /* what's the delim? */ + case ':': /* parse a range */ + d->d2 = strtol(++s,&s,10); + if (d->d2 < d->d1) + depth_usage(); + break; + case ',': /* just start the next one */ + ++s; + break; + } + } + if (depth_index >= NUMDEPTHS) { + fprintf(stderr,"%s: Too many -D values!\n",prog); + exit(1); + } + } + + depth_filter(r) + struct obj_rec *r; + { + struct depth_opts *d; + + if (depth_index <= 0) /* no filters were set up */ + return 1; + for (d = depth_opt; d->d1 > 0; d++) + if (d->d2 >= 0) { /* it's a range comparison */ + if (r->depth >= d->d1 && r->depth <= d->d2) + return (depth_op=='+')?1:0; + } else { /* it's a single-value comparison */ + if (d->d1 == r->depth) + return (depth_op=='+')?1:0; + } + return (depth_op=='-')?1:0; } void diff -rc transfig.3.2.3c/fig2dev/fig2dev.h transfig.3.2.3d/fig2dev/fig2dev.h *** transfig.3.2.3c/fig2dev/fig2dev.h Mon Jul 24 08:37:30 2000 --- transfig.3.2.3d/fig2dev/fig2dev.h Fri Jan 12 14:12:09 2001 *************** *** 40,58 **** /* include ctype.h for isascii() and isxdigit() macros */ #include ! #ifdef X_NOT_STDC_ENV ! #ifdef SYSV ! #include ! #else /* NOT SYSV */ ! #include ! #ifndef strchr ! #define strchr index ! #endif ! #ifndef strrchr ! #define strrchr rindex ! #endif ! #endif /* SYSV */ ! #endif /* X_NOT_STDC_ENV */ #if defined(hpux) || defined(SYSV) || defined(SVR4) #define bzero(s,n) memset((s),'\0',(n)) --- 40,60 ---- /* include ctype.h for isascii() and isxdigit() macros */ #include ! #ifndef X_NOT_STDC_ENV ! # include ! #else ! # ifdef SYSV ! # include ! # else ! # include ! # ifndef strchr ! # define strchr index ! # endif ! # ifndef strrchr ! # define strrchr rindex ! # endif ! # endif /* SYSV else */ ! #endif /* !X_NOT_STDC_ENV else */ #if defined(hpux) || defined(SYSV) || defined(SVR4) #define bzero(s,n) memset((s),'\0',(n)) *************** *** 106,112 **** extern double mag; extern FILE *tfp; ! extern int ppi; /* Fig file resolution (e.g. 1200) */ extern int llx, lly, urx, ury; extern Boolean landscape; extern Boolean center; --- 108,114 ---- extern double mag; extern FILE *tfp; ! extern double ppi; /* Fig file resolution (e.g. 1200) */ extern int llx, lly, urx, ury; extern Boolean landscape; extern Boolean center; *************** *** 126,131 **** --- 128,135 ---- extern RGB background; /* background (if specified by -g) */ extern Boolean bgspec; /* flag to say -g was specified */ extern char gscom[]; /* to build up a command for ghostscript */ + extern Boolean psencode_header_done; /* if we have already emitted PSencode header */ + extern Boolean transp_header_done; /* if we have already emitted transparent image header */ struct paperdef { diff -rc transfig.3.2.3c/fig2dev/object.h transfig.3.2.3d/fig2dev/object.h *** transfig.3.2.3c/fig2dev/object.h Tue Nov 23 14:38:18 1999 --- transfig.3.2.3d/fig2dev/object.h Thu Jan 25 11:00:33 2001 *************** *** 123,133 **** struct f_arrow *for_arrow; struct f_arrow *back_arrow; int cap_style; /* IMPORTANT: everything above this point must be in the same order for ARC, LINE and SPLINE (LINE has join_style following cap_style */ int join_style; int radius; /* for T_ARC_BOX */ - struct f_point *points; struct f_pic *pic; struct f_comment *comments; struct f_line *next; --- 123,133 ---- struct f_arrow *for_arrow; struct f_arrow *back_arrow; int cap_style; + struct f_point *points; /* IMPORTANT: everything above this point must be in the same order for ARC, LINE and SPLINE (LINE has join_style following cap_style */ int join_style; int radius; /* for T_ARC_BOX */ struct f_pic *pic; struct f_comment *comments; struct f_line *next; *************** *** 150,155 **** --- 150,156 ---- #define P_PCX 5 /* PCX picture type */ #define P_PPM 6 /* PPM picture type */ #define P_TIF 7 /* TIFF picture type */ + #define P_PNG 8 /* PNG picture type */ char file[256]; int flipped; unsigned char *bitmap; *************** *** 263,272 **** struct f_arrow *for_arrow; struct f_arrow *back_arrow; int cap_style; /* IMPORTANT: everything above this point must be in the same order for ARC, LINE and SPLINE (LINE has join_style following cap_style */ - struct f_point *points; struct f_control *controls; struct f_comment *comments; struct f_spline *next; --- 264,273 ---- struct f_arrow *for_arrow; struct f_arrow *back_arrow; int cap_style; + struct f_point *points; /* IMPORTANT: everything above this point must be in the same order for ARC, LINE and SPLINE (LINE has join_style following cap_style */ struct f_control *controls; struct f_comment *comments; struct f_spline *next; diff -rc transfig.3.2.3c/fig2dev/read.c transfig.3.2.3d/fig2dev/read.c *** transfig.3.2.3c/fig2dev/read.c Fri Jul 7 16:13:11 2000 --- transfig.3.2.3d/fig2dev/read.c Thu Feb 1 09:26:41 2001 *************** *** 58,66 **** #define BUF_SIZE 1024 /* max number of comments that can be stored with each object */ ! #define MAXCOMMENTS 50 ! /* max length of any comment */ ! #define MAXCOMLEN 200 User_color user_colors[MAX_USR_COLS]; int user_col_indx[MAX_USR_COLS]; --- 58,64 ---- #define BUF_SIZE 1024 /* max number of comments that can be stored with each object */ ! #define MAXCOMMENTS 100 User_color user_colors[MAX_USR_COLS]; int user_col_indx[MAX_USR_COLS]; *************** *** 122,127 **** --- 120,126 ---- { FILE *fp; + /* initialize pattern_used[] array */ init_pats_used(); if ((fp = fopen(file_name, "r")) == NULL) return errno; *************** *** 302,308 **** put_msg("File is truncated at resolution specification."); return -1; } ! if (sscanf(buf,"%d%d\n", &ppi, &coord_sys) != 2) { put_msg("Incomplete resolution information at line %d", line_no); return -1; } --- 301,307 ---- put_msg("File is truncated at resolution specification."); return -1; } ! if (sscanf(buf,"%lf%d\n", &ppi, &coord_sys) != 2) { put_msg("Incomplete resolution information at line %d", line_no); return -1; } *************** *** 797,802 **** --- 796,802 ---- } if (l->type == T_PIC_BOX) { Pic_malloc(l->pic); + l->pic->transp = -1; if (l->pic == NULL) { free((char *) l); return (NULL); *************** *** 1015,1027 **** l = create_line_with_spline(s); free_splinestorage(s); if (l == NULL) return NULL; return (F_spline *)l; /* return the new line */ } ! if (approx_spline(s)) return s; /* Read controls from older versions */ /* keep track of newlines for line counter */ count_lines_correctly(fp); --- 1015,1031 ---- l = create_line_with_spline(s); free_splinestorage(s); + /* skip to end of line */ + skip_line(fp); if (l == NULL) return NULL; return (F_spline *)l; /* return the new line */ } ! if (approx_spline(s)) { ! skip_line(fp); return s; + } /* Read controls from older versions */ /* keep track of newlines for line counter */ count_lines_correctly(fp); *************** *** 1331,1341 **** { int i; /* see if we've allocated space for this comment */ ! if (comments[numcom] == 0) ! if ((comments[numcom] = malloc(MAXCOMLEN)) == NULL) return -1; - i=strlen(buf); /* remove any newline */ if (buf[i-1] == '\n') buf[i-1] = '\0'; --- 1335,1346 ---- { int i; + i=strlen(buf); /* see if we've allocated space for this comment */ ! if (comments[numcom]) ! free(comments[numcom]); ! if ((comments[numcom] = malloc(i+1)) == NULL) return -1; /* remove any newline */ if (buf[i-1] == '\n') buf[i-1] = '\0'; diff -rc transfig.3.2.3c/patchlevel.h transfig.3.2.3d/patchlevel.h *** transfig.3.2.3c/patchlevel.h Wed Jul 19 09:55:43 2000 --- transfig.3.2.3d/patchlevel.h Tue May 29 12:12:37 2001 *************** *** 16,19 **** */ #define VERSION "3.2" ! #define PATCHLEVEL "3c" --- 16,19 ---- */ #define VERSION "3.2" ! #define PATCHLEVEL "3d" diff -rc transfig.3.2.3c/transfig/Imakefile transfig.3.2.3d/transfig/Imakefile *** transfig.3.2.3c/transfig/Imakefile Thu May 4 13:27:37 2000 --- transfig.3.2.3d/transfig/Imakefile Wed Mar 21 11:32:22 2001 *************** *** 43,49 **** transfig.man:: ../doc/transfig.1 $(RM) transfig.man ! -ln -s ../doc/transfig.1 transfig.man InstallManPage(fig2ps2tex,$(MANDIR)) InstallManPage(pic2tpic,$(MANDIR)) --- 43,49 ---- transfig.man:: ../doc/transfig.1 $(RM) transfig.man ! -$(LN) ../doc/transfig.1 transfig.man InstallManPage(fig2ps2tex,$(MANDIR)) InstallManPage(pic2tpic,$(MANDIR)) *************** *** 50,64 **** fig2dev.man:: ../doc/fig2dev.1 $(RM) fig2dev.man ! -ln -s ../doc/fig2dev.1 fig2dev.man fig2ps2tex.man:: ../doc/fig2ps2tex.1 $(RM) fig2ps2tex.man ! -ln -s ../doc/fig2ps2tex.1 fig2ps2tex.man pic2tpic.man:: ../doc/pic2tpic.1 $(RM) pic2tpic.man ! -ln -s ../doc/pic2tpic.1 pic2tpic.man clean:: rm -f *.man --- 50,64 ---- fig2dev.man:: ../doc/fig2dev.1 $(RM) fig2dev.man ! -$(LN) ../doc/fig2dev.1 fig2dev.man fig2ps2tex.man:: ../doc/fig2ps2tex.1 $(RM) fig2ps2tex.man ! -$(LN) ../doc/fig2ps2tex.1 fig2ps2tex.man pic2tpic.man:: ../doc/pic2tpic.1 $(RM) pic2tpic.man ! -$(LN) ../doc/pic2tpic.1 pic2tpic.man clean:: rm -f *.man diff -rc transfig.3.2.3c/transfig/mkfile.c transfig.3.2.3d/transfig/mkfile.c *** transfig.3.2.3c/transfig/mkfile.c Wed Feb 16 17:07:40 2000 --- transfig.3.2.3d/transfig/mkfile.c Thu Dec 7 10:26:05 2000 *************** *** 86,92 **** needps = 1; break; ! case eps: puttarget(mk, i, "tex", "eps"); fprintf(mk, "\tfig2ps2tex %s.eps >%s.tex\n", i, i); needeps = 1; --- 86,92 ---- needps = 1; break; ! case encps: puttarget(mk, i, "tex", "eps"); fprintf(mk, "\tfig2ps2tex %s.eps >%s.tex\n", i, i); needeps = 1; *************** *** 152,158 **** fprintf(mk, "\t%s %s.%s > %s.eps\n", a->tops, i, iname[(int)a->type], i); } else { ! putfig(mk, (to == pstex ? pstex : eps), altfonts, a->f, a->s, a->m, a->o, i, "eps"); a->interm = mksuff(i, ".eps"); needfig = 1; --- 152,158 ---- fprintf(mk, "\t%s %s.%s > %s.eps\n", a->tops, i, iname[(int)a->type], i); } else { ! putfig(mk, (to == pstex ? pstex : encps), altfonts, a->f, a->s, a->m, a->o, i, "eps"); a->interm = mksuff(i, ".eps"); needfig = 1; diff -rc transfig.3.2.3c/transfig/transfig.c transfig.3.2.3d/transfig/transfig.c *** transfig.3.2.3c/transfig/transfig.c Thu Jan 13 19:51:41 2000 --- transfig.3.2.3d/transfig/transfig.c Tue Dec 12 14:09:36 2000 *************** *** 56,62 **** "apg", "fig", "pic", ! "ps"}; main(argc, argv) int argc; --- 56,63 ---- "apg", "fig", "pic", ! "ps", ! "eps"}; main(argc, argv) int argc; *************** *** 165,175 **** } sysmv(txfile); ! tx = fopen(txfile, "w"); texfile(tx, input, altfonts, arglist); sysmv(mkfile); ! mk = fopen(mkfile, "w"); makefile(mk, altfonts, arglist); exit(0); } --- 166,186 ---- } sysmv(txfile); ! if (strcmp(txfile,"-")==0) ! tx = stdout; ! else if ((tx = fopen(txfile, "w")) == NULL) { ! fprintf(stderr,"transfig: can't open Texfile '%s'\n",txfile); ! exit(1); ! } texfile(tx, input, altfonts, arglist); sysmv(mkfile); ! if (strcmp(mkfile,"-")==0) ! mk = stdout; ! else if ((mk = fopen(mkfile, "w")) == NULL) { ! fprintf(stderr,"transfig: can't open Makefile '%s'\n",mkfile); ! exit(1); ! } makefile(mk, altfonts, arglist); exit(0); } diff -rc transfig.3.2.3c/transfig/transfig.h transfig.3.2.3d/transfig/transfig.h *** transfig.3.2.3c/transfig/transfig.h Thu Jan 13 19:51:41 2000 --- transfig.3.2.3d/transfig/transfig.h Thu Dec 7 10:26:05 2000 *************** *** 27,36 **** #endif enum language {box, epic, eepic, eepicemu, latex, ! pictex, postscript, eps, psfig, pstex, textyl, tpic}; #define MAXLANG tpic ! enum input {apg, fig, pic, ps}; #define MAXINPUT xps typedef struct argument{ --- 27,36 ---- #endif enum language {box, epic, eepic, eepicemu, latex, ! pictex, postscript, encps, psfig, pstex, textyl, tpic}; #define MAXLANG tpic ! enum input {apg, fig, pic, ps, eps}; #define MAXINPUT xps typedef struct argument{ diff -rc transfig.3.2.3c/transfig/txfile.c transfig.3.2.3d/transfig/txfile.c *** transfig.3.2.3c/transfig/txfile.c Thu Jan 13 19:51:41 2000 --- transfig.3.2.3d/transfig/txfile.c Thu Dec 7 10:26:05 2000 *************** *** 80,86 **** texfonts = 0; break; ! case eps: fprintf(tx, "\\typeout{TransFig: figures in EPS.}\n"); texfonts = 0; break; --- 80,86 ---- texfonts = 0; break; ! case encps: fprintf(tx, "\\typeout{TransFig: figures in EPS.}\n"); texfonts = 0; break;