transfig/transfig.3.2.4.dif

377 lines
12 KiB
Plaintext

--- Imakefile
+++ Imakefile 2006-07-31 19:14:30.000000000 +0200
@@ -1,7 +1,3 @@
-#ifndef XCOMM
-#define XCOMM #
-#endif
-
XCOMM Top level Makefile for TransFig
XCOMM TransFig: Facility for Translating Fig code
@@ -24,6 +20,7 @@ XCOMM type "xmkmf", "make Makefiles", "m
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
+MFLAGS = XFIGLIBDIR=_DATA/xfig
DEPLIBS =
SUBDIRS = fig2dev transfig
MakeSubdirs($(SUBDIRS))
--- doc/manual/Makefile
+++ doc/manual/Makefile 2006-07-31 18:26:56.000000000 +0200
@@ -2,7 +2,7 @@
# TransFig makefile
#
-all: trans.tex
+all: trans.tex manual.ps
# translation into latex
@@ -11,3 +11,8 @@ trans.tex: trans.fig Makefile
clean::
rm -f trans.tex
+manual.ps: manual.dvi
+ dvips -o $@ $^
+
+manual.dvi: manual.tex trans.tex
+ latex manual.tex; latex manual.tex; latex manual.tex
--- fig2dev/Imakefile
+++ fig2dev/Imakefile 2006-07-31 19:08:56.000000000 +0200
@@ -20,13 +20,13 @@ XCOMM ******
XCOMM You should point XFIGLIBDIR to the same directory you did when you compiled
XCOMM and installed xfig.
-XFIGLIBDIR = /usr/local/lib/X11/xfig
+XFIGLIBDIR = $(LIBDIR)/xfig
XCOMM ******
XCOMM If your system has the strerror() function (doesn't have sys_errlist) then
XCOMM comment out NEED_STRERROR with an XCOMM comment.
-NEED_STRERROR = -DNEED_STRERROR
+XCOMM NEED_STRERROR = -DNEED_STRERROR
XCOMM The following probably only applies to Windows 9x/NT:
XCOMM If your system can open files in text and binary modes and has the
@@ -39,7 +39,7 @@ XCOMM Uncomment the following line if yo
XCOMM inline functions. With the "INLINE" keyword, you should notice that
XCOMM the display will be a bit faster in complex figures
-XCOMM USEINLINE = -DUSE_INLINE
+USEINLINE = -DUSE_INLINE
XCOMM ****************
XCOMM Change RGB if necessary, to point to your rgb.txt color database
@@ -73,7 +73,7 @@ XCOMM Change XPMLIBDIR if necessary to p
XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h)
XCOMM
-XCOMM #define USEXPM
+#define USEXPM
#ifdef USEXPM
XPMLIBDIR = $(USRLIBDIR)
@@ -82,11 +82,11 @@ XPMINC = -I/usr/include/X11
XCOMM ****************
XCOMM Uncomment the following to set default paper size to A4
-XCOMM DDA4 = -DA4
+DDA4 = -DA4
XCOMM ****************
XCOMM Uncomment the following to set IBM Graphics Enhancement Cartridge
-XCOMM DDIBMGEC = -DIBMGEC
+DDIBMGEC = -DIBMGEC
XCOMM ****************
XCOMM Comment out the DDNFSS = ... line if you don't want NFSS2 font selection
@@ -102,6 +102,7 @@ XCOMM probably want to include neither.
DDNFSS = -DNFSS
DDLATEX2E_GRAPHICS = -DLATEX2E_GRAPHICS
+XCOMM Use modern garphics style, not older epsfig style
XCOMM DDEPSFIG = -DEPSFIG
XCOMM ****************
@@ -126,23 +127,23 @@ XCOMM Comment out the next line if you h
#ifdef I18N
I18N_DEFS = -DI18N
-FIG2DEV_LIBDIR = /usr/local/lib/fig2dev
+FIG2DEV_LIBDIR = $(XFIGLIBDIR)/fig2dev
I18N_DEV_DEFS = $(I18N_DEFS) -DFIG2DEV_LIBDIR=\\\"$(FIG2DEV_LIBDIR)\\\"
install::
[ -d $(DESTDIR)$(FIG2DEV_LIBDIR) ] || mkdir $(DESTDIR)$(FIG2DEV_LIBDIR)
- $(INSTALL) -c dev/japanese.ps $(DESTDIR)$(FIG2DEV_LIBDIR)
+ $(INSTALL) -m644 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) -c dev/korean.ps $(DESTDIR)$(FIG2DEV_LIBDIR)
+ $(INSTALL) -m644 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) -c dev/cs_CZ.ps $(DESTDIR)$(FIG2DEV_LIBDIR)
+ $(INSTALL) -m644 dev/cs_CZ.ps $(DESTDIR)$(FIG2DEV_LIBDIR)
( cd $(DESTDIR)$(FIG2DEV_LIBDIR); \
rm -f hr_HR.ps hu_HU.ps pl_PL.ps ro_RO.ps sk_SK.ps sl_SI.ps; \
$(LN) cs_CZ.ps hr_HR.ps; $(LN) cs_CZ.ps hu_HU.ps; \
@@ -154,7 +155,7 @@ XCOMM **********************************
XCOMM *** You shouldn't have to change anything below this point ***
XCOMM **************************************************************
-DIR_DEFS= -DBITMAPDIR=\\\"$(DESTDIR)$(XFIGLIBDIR)/bitmaps\\\"
+DIR_DEFS= -DBITMAPDIR=\\\"$(XFIGLIBDIR)/bitmaps\\\"
#ifdef USEPNG
DUSEPNG = -DUSE_PNG
@@ -233,7 +234,7 @@ install::
else (set -x; $(MKDIRHIER) $(DESTDIR)$(XFIGLIBDIR)/bitmaps ); fi ; \
echo Copying bitmap files for tk to $(DESTDIR)$(XFIGLIBDIR)/bitmaps ; \
for f in * ; do \
- $(INSTALL) -c $$f $(DESTDIR)$(XFIGLIBDIR)/bitmaps ; \
+ $(INSTALL) -m644 $$f $(DESTDIR)$(XFIGLIBDIR)/bitmaps ; \
done) ;
install.all::
--- fig2dev/fig2dev.c
+++ fig2dev/fig2dev.c 2006-07-31 18:26:56.000000000 +0200
@@ -24,14 +24,20 @@
#include <sys/types.h>
#endif
#include <sys/file.h>
+#include <locale.h>
#include "fig2dev.h"
#include "alloc.h"
#include "object.h"
#include "drivers.h"
+#ifndef __GLIBC__
extern int fig_getopt();
extern char *optarg;
extern int optind;
+#else
+# include <unistd.h>
+# define fig_getopt getopt
+#endif
char lang[40];
int parse_gridspec();
@@ -345,6 +351,7 @@ char *argv[];
F_compound objects;
int status;
+ setlocale(LC_CTYPE, "");
#ifdef HAVE_SETMODE
setmode(1,O_BINARY); /* stdout is binary */
#endif
--- fig2dev/fig2dev.h
+++ fig2dev/fig2dev.h 2006-07-31 18:26:56.000000000 +0200
@@ -22,7 +22,7 @@
#include <sys/file.h>
#include <signal.h>
#include <string.h>
-#include <varargs.h>
+#include <stdarg.h>
#include <pwd.h>
#include <errno.h>
#include <time.h>
@@ -57,7 +57,7 @@ typedef char Boolean;
#ifndef X_NOT_STDC_ENV
# include <string.h>
#else
-# ifdef SYSV
+# if defined(SYSV) || defined(__GLIBC__)
# include <string.h>
# else
# include <strings.h>
--- fig2dev/fig2ps2tex.script
+++ fig2dev/fig2ps2tex.script 2006-07-31 18:26:56.000000000 +0200
@@ -3,6 +3,7 @@
# Fig2ps2tex - generate a TeX file for including a PostScript file
# involves calculating the bounding box from fig2ps output
#
+set echo_style=bsd
set bbox = `grep "^%%BoundingBox:" $1`
set xsp = `echo "3k $bbox[4] $bbox[2] - 72 / p" | dc`
--- fig2dev/getopt.c
+++ fig2dev/getopt.c 2006-07-31 18:26:56.000000000 +0200
@@ -35,6 +35,7 @@ static char sccsfid[] = "@(#) getopt.c 5
#define EMSG ""
#define ENDARGS "--"
+#ifndef __GLIBC__
/* this is included because index is not on some UNIX systems */
static char *
index (s, c)
@@ -46,7 +47,9 @@ index (s, c)
else s++;
return (NULL);
}
+#endif
+#ifndef __GLIBC__
/*
* get option letter from argument vector
*/
@@ -94,4 +97,10 @@ fig_getopt(nargc,nargv,ostr)
}
return(optopt); /* dump back option letter */
}
-
+#else
+#include <unistd.h>
+fig_getopt(int nargc, char * const nargv[], const char *ostr)
+{
+ return getopt(nargc, nargv, ostr);
+}
+#endif
--- fig2dev/dev/genps.c
+++ fig2dev/dev/genps.c 2006-07-31 18:26:56.000000000 +0200
@@ -37,6 +37,8 @@
*/
#include <sys/stat.h>
+#include <locale.h>
+#include <langinfo.h>
#include "fig2dev.h"
#include "figure.h"
#include "object.h"
@@ -803,23 +805,45 @@ F_compound *objects;
fprintf(tfp, "%s\n", SPLINE_PS);
#ifdef I18N
if (support_i18n && iso_text_exist(objects)) {
- char *libdir, *locale;
+ char *libdir, *locale, *codeset;
char localefile[512], str[512];
FILE *fp;
+ size_t llen;
libdir = getenv("FIG2DEV_LIBDIR");
if (libdir == NULL)
libdir = FIG2DEV_LIBDIR;
- locale = getenv("LANG");
+ locale = setlocale(LC_CTYPE, NULL);
+ llen = strcspn(locale, ".@");
+ codeset = nl_langinfo(CODESET);
if (locale == NULL) {
fprintf(stderr, "fig2dev: LANG not defined; assuming C locale\n");
locale = "C";
}
- sprintf(localefile, "%s/%s.ps", libdir, locale);
+
+ snprintf(localefile, sizeof(localefile)-1, "%s/%s.ps", libdir, locale);
/* get filename like ``/usr/local/lib/fig2dev/japanese.ps'' */
fp = fopen(localefile, "rb");
- if (fp == NULL) {
- fprintf(stderr, "fig2dev: can't open file: %s\n", localefile);
- } else {
+ if (fp == NULL)
+ fprintf(stderr, "fig2dev: A can't open file: %s\n", localefile);
+
+ if (fp == NULL && strlen(locale) != llen) {
+ locale[llen] = '\0';
+ /* get filename like ``/usr/local/lib/fig2dev/de_DE.ps'' */
+ snprintf(localefile, sizeof(localefile)-1, "%s/%s.ps", libdir, locale);
+ fp = fopen(localefile, "rb");
+ if (fp == NULL)
+ fprintf(stderr, "fig2dev: B can't open file: %s\n", localefile);
+ }
+
+ if (fp == NULL && codeset) {
+ /* get filename like ``/usr/local/lib/fig2dev/ISO-8859-9.ps'' */
+ snprintf(localefile, sizeof(localefile)-1, "%s/%s.ps", libdir, codeset);
+ fp = fopen(localefile, "rb");
+ if (fp == NULL)
+ fprintf(stderr, "fig2dev: C can't open file: %s\n", localefile);
+ }
+
+ if (fp) {
while (fgets(str, sizeof(str), fp)) {
if (strstr(str, "CompositeRoman")) enable_composite_font = True;
fputs(str, tfp);
--- fig2dev/dev/genpstex.c
+++ fig2dev/dev/genpstex.c 2006-07-31 18:26:56.000000000 +0200
@@ -62,10 +62,13 @@ extern void
genps_spline (),
genlatex_option (),
genlatex_text (),
- genps_text ();
+ genps_text (),
+ genpdf_option(),
+ genpdf_start();
extern int
genlatex_end (),
- genps_end ();
+ genps_end (),
+ genpdf_end();
static char pstex_file[1000] = "";
--- fig2dev/dev/gensvg.c
+++ fig2dev/dev/gensvg.c 2006-07-31 18:26:56.000000000 +0200
@@ -692,18 +692,18 @@ gensvg_text (t)
if (t->angle != 0) {
fprintf (tfp, "<g transform=\"translate(%d,%d) rotate(%d)\" >\n",
(int) (t->base_x * mag), (int) (t->base_y * mag), degrees (t->angle));
- fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\" font-family=\"%s\"
- font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- rgbColorVal (t->color), family[(int) ceil ((t->font + 1) / 4)],
+ fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\" font-family=\"%s\" ",
+ rgbColorVal (t->color), family[(int) ceil ((t->font + 1) / 4)]);
+ fprintf (tfp, "font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
(t->font % 2 == 0 ? "normal" : "italic"),
(t->font % 4 < 2 ? "normal" : "bold"), (int) (ceil (t->size * 12 * mag)),
anchor[t->type]);
}
else
- fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\" font-family=\"%s\"
- font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
+ fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\" font-family=\"%s\" ",
(int) (t->base_x * mag), (int) (t->base_y * mag), rgbColorVal (t->color),
- family[(int) ceil ((t->font + 1) / 4)],
+ family[(int) ceil ((t->font + 1) / 4)]);
+ fprintf (tfp, "font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
(t->font % 2 == 0 ? "normal" : "italic"),
(t->font % 4 < 2 ? "normal" : "bold"), (int) (ceil (t->size * 12 * mag)),
anchor[t->type]);
--- transfig/Imakefile
+++ transfig/Imakefile 2006-07-31 18:26:56.000000000 +0200
@@ -18,7 +18,7 @@ XCOMM Uncomment the USELATEX2E flag in t
XCOMM \\usepackage{} command for LaTeX2e.
XCOMM The default is to use \\documentstyle{} for LaTeX209.
-XCOMM USELATEX2E = -DLATEX2E
+USELATEX2E = -DLATEX2E
XCOMM ******* DON'T CHANGE ANYTHIN BELOW THIS POINT *******
--- transfig/sys.c
+++ transfig/sys.c 2006-07-31 18:26:56.000000000 +0200
@@ -15,6 +15,8 @@
*/
#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
#include "transfig.h"
#define MAXSYS 10000
--- transfig/transfig.c
+++ transfig/transfig.c 2006-07-31 18:26:56.000000000 +0200
@@ -25,6 +25,8 @@
*/
#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
#include "patchlevel.h"
#include "transfig.h"