Update to fig2dev-3.2.7a

OBS-URL: https://build.opensuse.org/package/show/Publishing/transfig?expand=0&rev=47
This commit is contained in:
Dr. Werner Fink 2018-05-07 10:32:51 +00:00 committed by Git OBS Bridge
parent 2f9781b750
commit 82b79c281c
13 changed files with 261 additions and 1940 deletions

View File

@ -3,27 +3,35 @@ Description: creating multilayered or singlelayer PDF or EPS figures for
including into LaTeX documents. including into LaTeX documents.
Origin: http://p3f.gmxhome.de/fig2mpdf/fig2mpdf.html Origin: http://p3f.gmxhome.de/fig2mpdf/fig2mpdf.html
---
fig2dev/dev/genpstex.c | 331 ++++++++++++++++++++++++
fig2dev/drivers.h | 4
fig2dev/fig2dev.c | 23 +
fig2mpdf/copyright.txt | 25 +
fig2mpdf/fig2mpdf | 653 +++++++++++++++++++++++++++++++++++++++++++++++++
fig2mpdf/fig2mpdf.1 | 208 +++++++++++++++
man/fig2dev.1.in | 69 +++++
7 files changed, 1311 insertions(+), 2 deletions(-)
diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/genpstex.c
--- a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c --- a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c
+++ b/fig2dev-3.2.6a/fig2dev/dev/genpstex.c +++ b/fig2dev-3.2.6a/fig2dev/dev/genpstex.c 2018-05-07 10:01:03.485164209 +0000
@@ -49,6 +49,7 @@ @@ -48,9 +48,12 @@
#include <string.h>
#include <ctype.h>
#include <sys/stat.h>
+#include <stdlib.h>
#include "fig2dev.h" #include "fig2dev.h"
#include "object.h" /* does #include <X11/xpm.h> */ #include "object.h" /* does #include <X11/xpm.h> */
+#include "texfonts.h" +#include "texfonts.h"
+#include "setfigfont.h"
extern double rad2deg; extern double rad2deg;
@@ -76,7 +77,307 @@ extern int genpdf_end(void); /* genpdf @@ -79,6 +82,308 @@ extern void genps_grid(float major, floa
extern void genps_grid(float major, float minor);
static char pstex_file[1000] = ""; static char pstex_file[1000] = "";
+static int iObjectsRead = 0; +static int iObjectsRead = 0;
+static int iTextRead = 0; +static int iTextRead = 0;
+static int iObjectsFileNumber = 0; +static int iObjectsFileNumber = 0;
@ -59,7 +67,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ +
+/************************************************************************* +/*************************************************************************
+ *************************************************************************/ + *************************************************************************/
+static +static int
+translate2(xp, yp) +translate2(xp, yp)
+ int *xp, *yp; + int *xp, *yp;
+{ +{
@ -67,7 +75,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ *yp = (double)(TOP - *yp -1); + *yp = (double)(TOP - *yp -1);
+ } + }
+ +
+static +static int
+translate1_d(xp, yp) +translate1_d(xp, yp)
+ double *xp, *yp; + double *xp, *yp;
+{ +{
@ -75,7 +83,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ *yp = *yp + 1.0; + *yp = *yp + 1.0;
+ } + }
+ +
+static +static int
+translate2_d(xp, yp) +translate2_d(xp, yp)
+ double *xp, *yp; + double *xp, *yp;
+{ +{
@ -85,8 +93,8 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ +
+/************************************************************************* +/*************************************************************************
+ *************************************************************************/ + *************************************************************************/
+void genpstex_p_option(opt, optarg) +void
+char opt, *optarg; +genpstex_p_option(char opt, char *optarg)
+{ +{
+ if (opt == 'p') + if (opt == 'p')
+ { + {
@ -125,7 +133,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ } + }
+ fstat(fileno(ptCreateFile), & tStat); + fstat(fileno(ptCreateFile), & tStat);
+ fchmod (fileno(ptCreateFile), tStat.st_mode | ((tStat.st_mode & (S_IRUSR | S_IRGRP | S_IROTH)) >> 2)); + fchmod (fileno(ptCreateFile), tStat.st_mode | ((tStat.st_mode & (S_IRUSR | S_IRGRP | S_IROTH)) >> 2));
+ fprintf(ptCreateFile, "#!/bin/bash\n\n", szFileName); + fprintf(ptCreateFile, "#!/bin/bash\n\n");
+ +
+ fprintf(ptCreateFile, "while getopts \"r\" Option\n"); + fprintf(ptCreateFile, "while getopts \"r\" Option\n");
+ fprintf(ptCreateFile, "do\n"); + fprintf(ptCreateFile, "do\n");
@ -208,7 +216,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ /* all ok */ + /* all ok */
+ return 0; + return 0;
+} +}
+
+ +
+/************************************************************************* +/*************************************************************************
+ *************************************************************************/ + *************************************************************************/
@ -226,8 +234,8 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n"); + fprintf(ptCreateFile, "if [ \"$iOptRemove\" == \"\" ]; then\n");
+ if (iPdfOutputs) + if (iPdfOutputs)
+ { + {
+ fprintf(ptCreateFile, " %s -L pstex -D +%d:%d %s", prog, depth, iStartDepth, from, szFileName); + fprintf(ptCreateFile, " %s -L pstex -D +%d:%d %s", prog, depth, iStartDepth, from);
+ fprintf(ptCreateFile, " | epstopdf -f > %s.pdf\n", szFileName, szFileName); + fprintf(ptCreateFile, " | epstopdf -f > %s.pdf\n", szFileName);
+ } + }
+ else + else
+ fprintf(ptCreateFile, "%s -L pstex -D +%d:%d %s %s.eps\n", prog, depth, iStartDepth, from, szFileName); + fprintf(ptCreateFile, "%s -L pstex -D +%d:%d %s %s.eps\n", prog, depth, iStartDepth, from, szFileName);
@ -325,17 +333,18 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+ +
+/************************************************************************* +/*************************************************************************
+ *************************************************************************/ + *************************************************************************/
+
void void
genpstex_t_option(char opt, char *optarg) genpstex_t_option(char opt, char *optarg)
{ {
@@ -130,6 +431,32 @@ genpstex_option(char opt, char *optarg) @@ -132,6 +437,32 @@ genpstex_option(char opt, char *optarg)
genlatex_option(opt, optarg); genlatex_option(opt, optarg);
} }
+struct driver dev_pstex_p = { +struct driver dev_pstex_p = {
+ genpstex_p_option, + genpstex_p_option,
+ genpstex_p_start, + genpstex_p_start,
+ gendev_null, + (void(*)(float,float))gendev_null,
+ genpstex_p_arc, + genpstex_p_arc,
+ genpstex_p_ellipse, + genpstex_p_ellipse,
+ genpstex_p_line, + genpstex_p_line,
@ -348,7 +357,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+struct driver dev_pdftex_p = { +struct driver dev_pdftex_p = {
+ genpstex_p_option, + genpstex_p_option,
+ genpdftex_p_start, + genpdftex_p_start,
+ gendev_null, + (void(*)(float,float))gendev_null,
+ genpstex_p_arc, + genpstex_p_arc,
+ genpstex_p_ellipse, + genpstex_p_ellipse,
+ genpstex_p_line, + genpstex_p_line,
@ -361,10 +370,9 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
struct driver dev_pstex_t = { struct driver dev_pstex_t = {
genpstex_t_option, genpstex_t_option,
genpstex_t_start, genpstex_t_start,
diff --git a/fig2dev-3.2.6a/fig2dev/drivers.h b/fig2dev-3.2.6a/fig2dev/drivers.h
--- a/fig2dev-3.2.6a/fig2dev/drivers.h --- a/fig2dev-3.2.6a/fig2dev/drivers.h
+++ b/fig2dev-3.2.6a/fig2dev/drivers.h +++ b/fig2dev-3.2.6a/fig2dev/drivers.h 2018-05-07 10:00:19.621980757 +0000
@@ -32,8 +32,10 @@ extern struct driver dev_eps; @@ -33,8 +33,10 @@ extern struct driver dev_eps;
extern struct driver dev_pdf; extern struct driver dev_pdf;
extern struct driver dev_pdftex; extern struct driver dev_pdftex;
extern struct driver dev_pdftex_t; extern struct driver dev_pdftex_t;
@ -391,29 +399,33 @@ diff --git a/fig2dev-3.2.6a/fig2dev/drivers.h b/fig2dev-3.2.6a/fig2dev/drivers.h
{"pstricks", &dev_pstricks}, {"pstricks", &dev_pstricks},
{"ptk", &dev_ptk}, {"ptk", &dev_ptk},
{"shape", &dev_shape}, {"shape", &dev_shape},
diff --git a/fig2dev-3.2.6a/fig2dev/fig2dev.c b/fig2dev-3.2.6a/fig2dev/fig2dev.c
--- a/fig2dev-3.2.6a/fig2dev/fig2dev.c --- a/fig2dev-3.2.6a/fig2dev/fig2dev.c
+++ b/fig2dev-3.2.6a/fig2dev/fig2dev.c +++ b/fig2dev-3.2.6a/fig2dev/fig2dev.c 2018-05-07 10:00:19.621980757 +0000
@@ -691,6 +691,18 @@ help_msg(void) @@ -823,6 +823,23 @@ help_msg(void)
#endif /* NFSS */ );
puts(" -p name name of the PostScript file to be overlaid"); }
+ puts("PSTEX_P and PDFTEX_P Options:\n"); + if (dev == NULL || !strcmp(lang, "pstex_p") ||
+ puts(" -p name basename of the files to be created\n"); + !strcmp(lang, "pdftex_p")) {
+ puts(
+"PSTEX_P and PDFTEX_P Options:\n"
+" -p name basename of the files to be created\n"
+#ifdef NFSS +#ifdef NFSS
+ puts(" -F don't set font family/series/shape, so you can"); +" -F don't set font family/series/shape, so you can\n"
+ puts(" set it from latex"); +" set it from latex\n"
+#endif /* NFSS */ +#endif /* NFSS */
+ puts(" -d dmag set separate magnification for length of line dashes to dmag\n"); +" -d dmag set separate magnification for length of line dashes to dmag\n"
+ puts(" -E num set encoding for text translation (0 = no translation,"); +" -E num set encoding for text translation (0 no translation,\n"
+ puts(" 1 = ISO-8859-1, 2 = ISO-8859-2)"); +" 1 ISO-8859-1, 2 ISO-8859-2)\n"
+ puts(" -l lwidth set threshold between thin and thick lines to lwidth\n"); +" -l lwidth set threshold between thin and thick lines to lwidth\n"
+ puts(" -v verbose mode\n"); +" -v verbose mode\n"
+ );
+ }
+ +
puts("SHAPE (ShapePar driver) Options:"); if (dev == NULL || !strcmp(lang, "shape")) {
puts(" -n name Set basename of the macro"); puts(
puts(" (e.g. \"face\" gives faceshape and facepar)"); "SHAPE (ShapePar driver) Options:\n"
@@ -830,6 +842,12 @@ gendev_objects(F_compound *objects, stru @@ -1008,6 +1025,12 @@ gendev_objects(F_compound *objects, stru
int rec_comp(struct obj_rec *r1, struct obj_rec *r2) int rec_comp(struct obj_rec *r1, struct obj_rec *r2)
{ {
@ -426,9 +438,8 @@ diff --git a/fig2dev-3.2.6a/fig2dev/fig2dev.c b/fig2dev-3.2.6a/fig2dev/fig2dev.c
return (r2->depth - r1->depth); return (r2->depth - r1->depth);
} }
diff --git a/fig2dev-3.2.6a/fig2mpdf/copyright.txt b/fig2dev-3.2.6a/fig2mpdf/copyright.txt
--- a/fig2dev-3.2.6a/fig2mpdf/copyright.txt --- a/fig2dev-3.2.6a/fig2mpdf/copyright.txt
+++ b/fig2dev-3.2.6a/fig2mpdf/copyright.txt +++ b/fig2dev-3.2.6a/fig2mpdf/copyright.txt 2018-05-07 10:00:19.625980684 +0000
@@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
+The following files contain copyright and license info for +The following files contain copyright and license info for
+the code they contain: +the code they contain:
@ -455,9 +466,8 @@ diff --git a/fig2dev-3.2.6a/fig2mpdf/copyright.txt b/fig2dev-3.2.6a/fig2mpdf/cop
+ +
+ (Author's note: the license is in the file gpl.txt, which is included + (Author's note: the license is in the file gpl.txt, which is included
+ in the archive.) + in the archive.)
diff --git a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1 b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1
--- a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1 --- a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1
+++ b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1 +++ b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1 2018-05-07 10:00:19.625980684 +0000
@@ -0,0 +1,208 @@ @@ -0,0 +1,208 @@
+.TH fig2mpdf 1 "Jun 2006" "" "Including xfig figures into LaTeX documents" +.TH fig2mpdf 1 "Jun 2006" "" "Including xfig figures into LaTeX documents"
+.SH NAME +.SH NAME
@ -667,9 +677,8 @@ diff --git a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf.1 b/fig2dev-3.2.6a/fig2mpdf/fig2mp
+.IR pdflatex(1) +.IR pdflatex(1)
+.IR latex(1) +.IR latex(1)
+.IR dvips(1) +.IR dvips(1)
diff --git a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf
--- a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf --- a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf
+++ b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf +++ b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf 2018-05-07 10:00:19.625980684 +0000
@@ -0,0 +1,653 @@ @@ -0,0 +1,653 @@
+#!/bin/sh +#!/bin/sh
+ +
@ -1324,23 +1333,22 @@ diff --git a/fig2dev-3.2.6a/fig2mpdf/fig2mpdf b/fig2dev-3.2.6a/fig2mpdf/fig2mpdf
+} +}
+' -- $* +' -- $*
+ +
diff --git a/fig2dev-3.2.6a/man/fig2dev.1.in b/fig2dev-3.2.6a/man/fig2dev.1.in
--- a/fig2dev-3.2.6a/man/fig2dev.1.in --- a/fig2dev-3.2.6a/man/fig2dev.1.in
+++ b/fig2dev-3.2.6a/man/fig2dev.1.in +++ b/fig2dev-3.2.6a/man/fig2dev.1.in 2018-05-07 10:15:07.453476364 +0000
@@ -64,8 +64,8 @@ Set the output graphics language. @@ -64,8 +64,8 @@ Set the output graphics language.
Valid languages are Valid languages are
\fBbox, cgm, dxf, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta \fBbox, cgm, dxf, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta
driver), gif, ibmgl, jpeg, latex, map (HTML image map), mf (MetaFont), driver), gif, ibmgl, jpeg, latex, map (HTML image map), mf (MetaFont),
-mp (MetaPost), mmp (Multi-MetaPost), pcx, pdf, pdftex, pdftex_t, pic, -mp (MetaPost), pcx, pdf, pdftex, pdftex_t, pic,
-pict2e, pictex, png, ppm, ps, pstex, pstex_t, pstricks, ptk (Perl/tk), -pict2e, pictex, png, ppm, ps, pstex, pstex_t, pstricks, ptk (Perl/tk),
+mp (MetaPost), mmp (Multi-MetaPost), pcx, pdf, pdftex, pdftex_t, pdftex_p, pic, +mp (MetaPost), pcx, pdf, pdftex, pdftex_t, pdftex_p, pic,
+pict2e, pictex, png, ppm, ps, pstex, pstex_t, pstex_p, pstricks, ptk (Perl/tk), +pict2e, pictex, png, ppm, ps, pstex, pstex_t, pstex_p, pstricks, ptk (Perl/tk),
shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg (beta shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg,
driver), textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm\fR. textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm\fR.
@@ -1149,6 +1149,61 @@ PostScript file generated using @@ -1165,6 +1165,61 @@ text flagged as "TeX Text".
.B pstex. The pstex and pdftex drivers accept the same options that the EPS driver
(see above) accepts.
+.SH PSTEX_P and PDFTEX_P OPTIONS +.SH PSTEX_P and PDFTEX_P OPTIONS
+The \fBpstex_p\fR language has the same intention as +The \fBpstex_p\fR language has the same intention as
@ -1398,23 +1406,22 @@ diff --git a/fig2dev-3.2.6a/man/fig2dev.1.in b/fig2dev-3.2.6a/man/fig2dev.1.in
+document (like "\fB\\sfshape \\input picture.eepic\fR"). +document (like "\fB\\sfshape \\input picture.eepic\fR").
+ +
.TP .TP
.B \-E num .B \-n name
Set encoding for latex text translation Set the Title part of the PostScript output to
@@ -1542,6 +1597,13 @@ which aren't scaled at all. @@ -1588,6 +1643,12 @@ The string \fIfont\fR can be one of
.PP
Rotated text is only supported in the IBM-GL (HP/GL) and PostScript (including eps)
languages. .SH BUGS and RESTRICTIONS
+.PP
+In \fBpdftex_p\fR language \fIfig2dev\fR can not determine the exact sizes of +In \fBpdftex_p\fR language \fIfig2dev\fR can not determine the exact sizes of
+the special texts set by pdflatex afterwards. If these texts are bigger than +the special texts set by pdflatex afterwards. If these texts are bigger than
+expected the calculated bounding box might be too small so that some texts passes +expected the calculated bounding box might be too small so that some texts passes
+over the figure boundaries. If this happen you have to put an invisible +over the figure boundaries. If this happen you have to put an invisible
+rectangle (line width 0) around the text or the entire figure. +rectangle (line width 0) around the text or the entire figure.
+ +.PP
.SH COPYRIGHT Please send bug reports, fixes, new features etc. to:
Copyright (c) 1991 Micah Beck
.br .br
@@ -1624,3 +1686,7 @@ Michael Schrick (m_schrick@hotmail.com) \&@PACKAGE_BUGREPORT@
@@ -1677,3 +1738,7 @@ Michael Schrick (m_schrick@hotmail.com)
The GBX (Gerber) driver was written by The GBX (Gerber) driver was written by
.br .br
Edward Grace (ej.grace@imperial.ac.uk). Edward Grace (ej.grace@imperial.ac.uk).

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,11 @@
From: Roland Rosenfeld <roland@debian.org> From: Roland Rosenfeld <roland@debian.org>
Subject: rgb.txt can not be located via FIG2DEV_RGBFILE environment variable. Subject: rgb.txt can not be located via FIG2DEV_RGBFILE environment variable.
This allows to run the test suite without the package being installed before. This allows one to run the test suite without the package being
installed before.
--- a/fig2dev/colors.c --- a/fig2dev/colors.c
+++ b/fig2dev/colors.c +++ b/fig2dev/colors.c
@@ -27,6 +27,7 @@ @@ -110,10 +110,15 @@ read_colordb(void)
#include "pi.h"
#include "fig2dev.h"
+#include <stdlib.h>
struct color_db {
char *name;
@@ -108,10 +109,15 @@ read_colordb(void)
char s[100], s1[100], *c1, *c2; char s[100], s1[100], *c1, *c2;
unsigned short r,g,b; unsigned short r,g,b;
struct color_db *col; struct color_db *col;

View File

@ -1,41 +0,0 @@
Description: Some input sanitizing when reading FIG files.
Bug-Debian: https://bugs.debian.org/881143
Bug-Debian: https://bugs.debian.org/881144
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
--- a/fig2dev/read.c
+++ b/fig2dev/read.c
@@ -1329,8 +1329,14 @@ read_textobject(FILE *fp)
| PSFONT_TEXT;
/* keep the font number reasonable */
- if (t->font > MAXFONT(t))
+ if (t->font > MAXFONT(t)) {
t->font = MAXFONT(t);
+ } else if (t->font < 0 ) {
+ if (psfont_text(t) && t->font < -1)
+ t->font = -1;
+ else
+ t->font = 0;
+ }
fix_and_note_color(&t->color);
t->comments = attach_comments(); /* attach any comments */
return t;
--- a/fig2dev/read1_3.c
+++ b/fig2dev/read1_3.c
@@ -470,6 +470,15 @@ read_textobject(FILE *fp)
free((char*) t);
return(NULL);
}
+ /* keep the font number within valid range */
+ if (t->font > MAXFONT(t)) {
+ t->font = MAXFONT(t);
+ } else if (t->font < 0 ) {
+ if (psfont_text(t) && t->font < -1)
+ t->font = -1;
+ else
+ t->font = 0;
+ }
(void)strcpy(t->cstring, buf);
if (t->size == 0) t->size = 18;
return(t);

View File

@ -1,47 +0,0 @@
Description: Sanitize input of fill patterns.
Bug-Debian: https://bugs.debian.org/881396
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
--- a/fig2dev/read.c
+++ b/fig2dev/read.c
@@ -71,6 +71,8 @@ static int save_comment(void);
#define FILL_CONVERT(f) ((v2_flag || (f) < WHITE_FILL) \
? (v30_flag? f: (f-1)) : 20 - ((f)-1)*5)
+#define FILL_SANITIZE(f) ((f) < UNFILLED || (f) >= \
+ NUMSHADES + NUMTINTS + NUMPATTERNS) ? UNFILLED : f
/* input buffer size */
#define BUF_SIZE 1024
@@ -547,6 +549,7 @@ read_arcobject(FILE *fp)
}
a->thickness *= round(THICK_SCALE);
a->fill_style = FILL_CONVERT(a->fill_style);
+ a->fill_style = FILL_SANITIZE(a->fill_style);
NOTE_FILL(a);
fix_and_note_color(&a->pen_color);
if (fa) {
@@ -730,6 +733,7 @@ read_ellipseobject(void)
fix_and_note_color(&e->pen_color);
e->thickness *= round(THICK_SCALE);
e->fill_style = FILL_CONVERT(e->fill_style);
+ e->fill_style = FILL_SANITIZE(e->fill_style);
NOTE_FILL(e);
e->comments = attach_comments(); /* attach any comments */
return e;
@@ -895,6 +899,7 @@ read_lineobject(FILE *fp)
l->radius *= round(THICK_SCALE);
l->thickness *= round(THICK_SCALE);
l->fill_style = FILL_CONVERT(l->fill_style);
+ l->fill_style = FILL_SANITIZE(l->fill_style);
NOTE_FILL(l);
fix_and_note_color(&l->pen_color);
if (fa) {
@@ -1051,6 +1056,7 @@ read_splineobject(FILE *fp)
}
s->thickness *= round(THICK_SCALE);
s->fill_style = FILL_CONVERT(s->fill_style);
+ s->fill_style = FILL_SANITIZE(s->fill_style);
NOTE_FILL(s);
fix_and_note_color(&s->pen_color);
if (fa) {

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e61a3d9a4f83db4b3199ee82dd54bb65b544369f1e8e38a2606c44cf71667a7
size 507820

3
fig2dev-3.2.7a.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bda219a15efcdb829e6cc913a4174f5a4ded084bf91565c783733b34a89bfb28
size 507288

View File

@ -1,22 +1,22 @@
--- ---
fig2dev/dev/genps.c | 26 +++++++++++++++++++++++--- fig2dev/dev/genps.c | 29 ++++++++++++++++++++++++-----
fig2dev/dev/genpstex.c | 8 ++++++-- fig2dev/dev/genpstex.c | 8 ++++++--
fig2dev/fig2ps2tex.csh | 2 +- fig2dev/fig2ps2tex.csh | 2 +-
fig2dev/getopt.c | 10 ++++++++++ fig2dev/getopt.c | 9 +++++++++
transfig/transfig.c | 2 ++ transfig/transfig.c | 2 ++
5 files changed, 42 insertions(+), 6 deletions(-) 5 files changed, 42 insertions(+), 8 deletions(-)
--- fig2dev/dev/genps.c --- fig2dev/dev/genps.c
+++ fig2dev/dev/genps.c 2017-02-02 13:47:11.888588548 +0000 +++ fig2dev/dev/genps.c 2018-05-07 08:16:40.161130640 +0000
@@ -56,6 +56,7 @@ @@ -59,6 +59,7 @@
#include <pwd.h> #include <pwd.h>
#endif #endif
#include <locale.h> #include <locale.h>
+#include <langinfo.h> +#include <langinfo.h>
#include "bool.h"
#include "pi.h" #include "pi.h"
@@ -801,8 +802,9 @@ genps_start(F_compound *objects) #include "fig2dev.h" /* includes "bool.h" */
@@ -842,8 +843,9 @@ genps_start(F_compound *objects)
fprintf(tfp, "%s\n", SPLINE_PS); fprintf(tfp, "%s\n", SPLINE_PS);
#ifdef I18N #ifdef I18N
if (support_i18n && iso_text_exist(objects)) { if (support_i18n && iso_text_exist(objects)) {
@ -27,14 +27,15 @@
FILE *fp; FILE *fp;
libdir = getenv("FIG2DEV_LIBDIR"); libdir = getenv("FIG2DEV_LIBDIR");
#ifdef I18N_DATADIR #ifdef I18N_DATADIR
@@ -810,16 +812,34 @@ genps_start(F_compound *objects) @@ -851,18 +853,35 @@ genps_start(F_compound *objects)
libdir = I18N_DATADIR; libdir = I18N_DATADIR;
#endif #endif
locale = setlocale(LC_CTYPE, NULL); locale = setlocale(LC_CTYPE, NULL);
+ llen = strcspn(locale, ".@"); + llen = strcspn(locale, ".@");
+ codeset = nl_langinfo(CODESET); + codeset = nl_langinfo(CODESET);
if (locale == NULL) { if (locale == NULL) {
fprintf(stderr, "fig2dev: LANG not defined; assuming C locale\n"); fprintf(stderr,
"fig2dev: LANG not defined; assuming C locale\n");
locale = "C"; locale = "C";
} }
- sprintf(localefile, "%s/%s.ps", libdir, locale); - sprintf(localefile, "%s/%s.ps", libdir, locale);
@ -42,8 +43,10 @@
/* get filename like ``/usr/local/lib/fig2dev/japanese.ps'' */ /* get filename like ``/usr/local/lib/fig2dev/japanese.ps'' */
fp = fopen(localefile, "rb"); fp = fopen(localefile, "rb");
if (fp == NULL) { if (fp == NULL) {
fprintf(stderr, "fig2dev: can't open file: %s\n", localefile); - fprintf(stderr, "fig2dev: can not open file: %s\n",
- localefile);
- } else { - } else {
+ fprintf(stderr, "fig2dev: can not open file: %s\n", localefile);
+ } + }
+ if (fp == NULL && strlen(locale) != llen) { + if (fp == NULL && strlen(locale) != llen) {
+ locale[llen] = '\0'; + locale[llen] = '\0';
@ -62,19 +65,19 @@
+ } + }
+ if (fp) { + if (fp) {
while (fgets(str, sizeof(str), fp)) { while (fgets(str, sizeof(str), fp)) {
if (strstr(str, "CompositeRoman")) enable_composite_font = true; if (strstr(str, "CompositeRoman"))
fputs(str, tfp); enable_composite_font = true;
--- fig2dev/dev/genpstex.c --- fig2dev/dev/genpstex.c
+++ fig2dev/dev/genpstex.c 2017-02-02 13:47:38.580050694 +0000 +++ fig2dev/dev/genpstex.c 2018-05-07 08:10:27.872048970 +0000
@@ -44,6 +44,7 @@ @@ -47,6 +47,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <ctype.h> #include <ctype.h>
+#include <sys/stat.h> +#include <sys/stat.h>
#include "bool.h"
#include "fig2dev.h" #include "fig2dev.h"
@@ -61,10 +62,13 @@ extern void #include "object.h" /* does #include <X11/xpm.h> */
@@ -63,10 +64,13 @@ extern void
genps_spline(F_spline *s), genps_spline(F_spline *s),
genlatex_option(char opt, char *optarg), genlatex_option(char opt, char *optarg),
genlatex_text(F_text *t), genlatex_text(F_text *t),
@ -91,19 +94,19 @@
extern void genpdf_option(char opt, char *optarg); /* genpdf.c */ extern void genpdf_option(char opt, char *optarg); /* genpdf.c */
extern void genpdf_start(F_compound *objects); /* genpdf.c */ extern void genpdf_start(F_compound *objects); /* genpdf.c */
--- fig2dev/fig2ps2tex.csh --- fig2dev/fig2ps2tex.csh
+++ fig2dev/fig2ps2tex.csh 2017-02-02 13:43:20.089154382 +0000 +++ fig2dev/fig2ps2tex.csh 2018-05-07 08:11:38.206742453 +0000
@@ -21,7 +21,7 @@ @@ -22,7 +22,7 @@
#
# 2016-07-07 Thomas Loimer # 2016-07-07 Thomas Loimer
# * use here-document, instead of echo # * use here-document, instead of echo
#
- -
+set echo_style=bsd +set echo_style = bsd
set bbox = `grep "^%%BoundingBox:" $1` set bbox = `grep "^%%BoundingBox:" $1`
set xsp = `echo "3k $bbox[4] $bbox[2] - 72 / p" | dc` set xsp = `echo "3k $bbox[4] $bbox[2] - 72 / p" | dc`
--- fig2dev/getopt.c --- fig2dev/getopt.c
+++ fig2dev/getopt.c 2017-02-02 13:43:20.089154382 +0000 +++ fig2dev/getopt.c 2018-05-07 08:13:44.400397232 +0000
@@ -45,6 +45,7 @@ static char sccsfid[] = "@(#) getopt.c 5 @@ -48,6 +48,7 @@ static char sccsfid[] = "@(#) getopt.c 5
#define EMSG "" #define EMSG ""
#define ENDARGS "--" #define ENDARGS "--"
@ -111,9 +114,9 @@
/* /*
* get option letter from argument vector * get option letter from argument vector
*/ */
@@ -89,3 +90,12 @@ fig_getopt(int nargc, char **nargv, char @@ -94,3 +95,11 @@ fig_getopt(int nargc, char **nargv, char
} }
return(optc); /* dump back option letter */ return optc; /* dump back option letter */
} }
+#else +#else
+#include <unistd.h> +#include <unistd.h>
@ -123,9 +126,8 @@
+ return getopt(nargc, nargv, ostr); + return getopt(nargc, nargv, ostr);
+} +}
+#endif +#endif
+
--- transfig/transfig.c --- transfig/transfig.c
+++ transfig/transfig.c 2017-02-02 13:43:20.089154382 +0000 +++ transfig/transfig.c 2018-05-07 08:01:42.105796359 +0000
@@ -26,6 +26,8 @@ @@ -26,6 +26,8 @@
#include <stdio.h> #include <stdio.h>

View File

@ -1,53 +1,32 @@
Index: transfig.3.2.5e/fig2dev/read1_3.c
===================================================================
--- ---
fig2dev-3.2.6a/fig2dev/alloc.h | 20 ++++++++++---------- fig2dev-3.2.7a/fig2dev/alloc.h | 20 ++++++++++----------
fig2dev-3.2.6a/fig2dev/read1_3.c | 2 ++ 1 file changed, 10 insertions(+), 10 deletions(-)
2 files changed, 12 insertions(+), 10 deletions(-)
--- fig2dev-3.2.6a/fig2dev/alloc.h --- fig2dev-3.2.7a/fig2dev/alloc.h
+++ fig2dev-3.2.6a/fig2dev/alloc.h 2017-02-02 13:53:24.529089166 +0000 +++ fig2dev-3.2.7a/fig2dev/alloc.h 2018-05-07 08:49:32.048501663 +0000
@@ -13,15 +13,15 @@ @@ -16,15 +16,15 @@
* notice remain intact. *
*/ */
-#define Line_malloc(z) z = (F_line*)malloc(LINOBJ_SIZE) -#define Line_malloc(z) z = malloc(LINOBJ_SIZE)
-#define Pic_malloc(z) z = (F_pic*)malloc(PIC_SIZE) -#define Pic_malloc(z) z = malloc(PIC_SIZE)
-#define Spline_malloc(z) z = (F_spline*)malloc(SPLOBJ_SIZE) -#define Spline_malloc(z) z = malloc(SPLOBJ_SIZE)
-#define Ellipse_malloc(z) z = (F_ellipse*)malloc(ELLOBJ_SIZE) -#define Ellipse_malloc(z) z = malloc(ELLOBJ_SIZE)
-#define Arc_malloc(z) z = (F_arc*)malloc(ARCOBJ_SIZE) -#define Arc_malloc(z) z = malloc(ARCOBJ_SIZE)
-#define Compound_malloc(z) z = (F_compound*)malloc(COMOBJ_SIZE) -#define Compound_malloc(z) z = malloc(COMOBJ_SIZE)
-#define Text_malloc(z) z = (F_text*)malloc(TEXOBJ_SIZE) -#define Text_malloc(z) z = malloc(TEXOBJ_SIZE)
-#define Point_malloc(z) z = (F_point*)malloc(POINT_SIZE) -#define Point_malloc(z) z = malloc(POINT_SIZE)
-#define Control_malloc(z) z = (F_control*)malloc(CONTROL_SIZE) -#define Control_malloc(z) z = malloc(CONTROL_SIZE)
-#define Arrow_malloc(z) z = (F_arrow*)malloc(ARROW_SIZE) -#define Arrow_malloc(z) z = malloc(ARROW_SIZE)
+#define Line_malloc(z) z = (F_line*)calloc(LINOBJ_SIZE,1) +#define Line_malloc(z) z = calloc(LINOBJ_SIZE,1)
+#define Pic_malloc(z) z = (F_pic*)calloc(PIC_SIZE,1) +#define Pic_malloc(z) z = calloc(PIC_SIZE,1)
+#define Spline_malloc(z) z = (F_spline*)calloc(SPLOBJ_SIZE,1) +#define Spline_malloc(z) z = calloc(SPLOBJ_SIZE,1)
+#define Ellipse_malloc(z) z = (F_ellipse*)calloc(ELLOBJ_SIZE,1) +#define Ellipse_malloc(z) z = calloc(ELLOBJ_SIZE,1)
+#define Arc_malloc(z) z = (F_arc*)calloc(ARCOBJ_SIZE,1) +#define Arc_malloc(z) z = calloc(ARCOBJ_SIZE,1)
+#define Compound_malloc(z) z = (F_compound*)calloc(COMOBJ_SIZE,1) +#define Compound_malloc(z) z = calloc(COMOBJ_SIZE,1)
+#define Text_malloc(z) z = (F_text*)calloc(TEXOBJ_SIZE,1) +#define Text_malloc(z) z = calloc(TEXOBJ_SIZE,1)
+#define Point_malloc(z) z = (F_point*)calloc(POINT_SIZE,1) +#define Point_malloc(z) z = calloc(POINT_SIZE,1)
+#define Control_malloc(z) z = (F_control*)calloc(CONTROL_SIZE,1) +#define Control_malloc(z) z = calloc(CONTROL_SIZE,1)
+#define Arrow_malloc(z) z = (F_arrow*)calloc(ARROW_SIZE,1) +#define Arrow_malloc(z) z = calloc(ARROW_SIZE,1)
extern char Err_mem[]; extern char Err_mem[];
--- fig2dev-3.2.6a/fig2dev/read1_3.c
+++ fig2dev-3.2.6a/fig2dev/read1_3.c 2017-02-02 13:53:24.529089166 +0000
@@ -343,6 +343,7 @@ read_lineobject(FILE *fp)
l->back_arrow = NULL;
l->next = NULL;
l->points = Point_malloc(p);
+ l->points->next = NULL;
n = fscanf(fp, " %d %d %d %lf %d %d %d %d %d %d", &t,
&l->style, &l->thickness, &l->style_val,
&f, &b, &h, &w, &p->x, &p->y);
@@ -401,6 +402,7 @@ read_splineobject(FILE *fp)
s->controls = NULL;
s->next = NULL;
s->points = Point_malloc(p);
+ s->points->next = NULL;
n = fscanf(fp, " %d %d %d %lf %d %d %d %d %d %d",
&t, &s->style, &s->thickness, &s->style_val,
&f, &b,

View File

@ -3,21 +3,22 @@
1 file changed, 8 insertions(+), 2 deletions(-) 1 file changed, 8 insertions(+), 2 deletions(-)
--- fig2dev/dev/readeps.c --- fig2dev/dev/readeps.c
+++ fig2dev/dev/readeps.c 2017-02-02 13:52:46.733848874 +0000 +++ fig2dev/dev/readeps.c 2018-05-07 08:45:37.772825723 +0000
@@ -75,16 +75,22 @@ read_eps_pdf(FILE *file, int filetype, F @@ -83,9 +83,11 @@ read_eps_pdf(FILE *file, int filetype, F
while (fgets(buf, 512, file) != NULL) { while (fgets(buf, BUFSIZ, file) != NULL) {
/* look for /MediaBox for pdf file */ /* look for /MediaBox for pdf file */
if (pdf_flag) { if (pdf_flag) {
+ char *s; + char *s;
+ for(s=buf; (s=strchr(s,'/')); s++) { + for(s=buf; (s=strchr(s,'/')); s++) {
if (!strncmp(buf, "/MediaBox", 8)) { /* look for the MediaBox spec */ if (!strncmp(buf, "/MediaBox", 9)) { /* look for the MediaBox spec */
- c = strchr(buf,'[')+1; - c = strchr(buf, '[') + 1;
- if (c && sscanf(c,"%d %d %d %d",llx,lly,&urx,&ury) < 4) { - if (c && sscanf(c, "%d %d %d %d", llx, lly, &urx, &ury) < 4)
+ c = strchr(s,'['); + c = strchr(s, '[');
+ if (c && sscanf(c+1,"%d %d %d %d",llx,lly,&urx,&ury) < 4) { + if (c && sscanf(c+1, "%d %d %d %d", llx, lly, &urx, &ury) < 4)
{
*llx = *lly = 0; *llx = *lly = 0;
urx = paperdef[0].width*72; urx = paperdef[0].width*72;
ury = paperdef[0].height*72; @@ -93,7 +95,11 @@ read_eps_pdf(FILE *file, int filetype, F
put_msg("Bad MediaBox in imported PDF file %s, assuming %s size", put_msg("Bad MediaBox in imported PDF file %s, assuming %s size",
pic->file, metric? "A4" : "Letter" ); pic->file, metric? "A4" : "Letter" );
} }
@ -28,4 +29,4 @@
+ } + }
/* look for bounding box for EPS file */ /* look for bounding box for EPS file */
} else if (!nested && !strncmp(buf, "%%BoundingBox:", 14)) { } else if (!nested && !strncmp(buf, "%%BoundingBox:", 14)) {
c=buf+14; c = buf + 14;

View File

@ -1,3 +1,59 @@
-------------------------------------------------------------------
Mon May 7 10:28:07 UTC 2018 - werner@suse.de
- Update to fig2dev version 3.2.7a (Patchlevel 7a (April 2018))
o Language previous option current option
------------------------------------------------------------
cgm -b dummy -a
epic -A scale -d scale
eepic -A scale -d scale
eepicemu -A scale -d scale
gbx -i on|off -v
ibmgl -m mag,xoff,yoff -m mag -x xoff -y yoff
mp -I file -d file
ps -S dummy -o
o Print language-specific help text by using fig2dev -L lang -h.
o Add option -M, multipage, for MetaPost output language.
o Add option -P, pagemode, and -z to choose a pagesize for pdf output.
o Add option -W (scaling of figures not possible) for tikz.
o Add option -b, border width, for LaTeX output language.
o Add option -f for pstex_t and pdftex_t output language.
o Add uk_UA and ru_RU encodings for PostScript output. Ticket #12.
o Fix regression whereupon flipped ellipses were not read. Ticket #23.
o Distribute i18n files ru_RU.CP1251.ps and uk_UA.KOI8-U.ps.
o Make test "survive debian bug #890016" succeed on 32 bit systems.
o Distribute the X bitmaps files within fig2dev, no need to install
these files. The files were needed for Tk and Perl/Tk output.
o Add option -w, wrap (create stand-alone perl file) for Perl/Tk output.
o Update help text: Output help for dxf and textyl output language,
add description of -g option for Tk/Tcl and Perl/Tk output, allow -f
option for pstex_t and pdftex_t output language.
o Sanitize input. Do not segfault on malformed input files. Fixes debian
bugs 881143, 881144, 881396, 890015, 890016, 882021 and also 882022.
o Do not put an %%Orientation: comment into PostScript output. Some
viewers would rotate the resulting file, others not.
o Fix build on NetBSD, which has a _setmode() function different from
_setmode() on Windows. Ticket #17. Also, avoid alloca(). Ticket #16.
o tikz output: Omit the semicolon after \pgftext[..]{...};.
o Define PostScript patterns with larger tiles, may render better. #13
o Fix build in case libXpm is missing. Ticket #15.
o Use netpbm programs instead of ghostscript, to produce smaller files.
o Correctly embed eps files with binary preview (epsi, typically
found on Microsoft systems). Also, allow to embed ps-files. Fixes
debian bug 248807, ticket #8.
o For compilation, do not depend on PATH_MAX being defined.
- Remove patches now upstream
fig2dev-3.2.6-genps_oldpatterns.patch
fig2dev-3.2.6a-input-sanitizing.patch
fig2dev-3.2.6a-style-overflow.patch
- Modify patches
fig2dev-3.2.6-fig2mpdf-doc.patch
fig2dev-3.2.6-fig2mpdf.patch
fig2dev-3.2.6a-RGBFILE.patch
transfig-3.2.6.dif
transfig-fix-afl.patch
transfig.3.2.5d-mediaboxrealnb.dif
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Mar 2 15:40:14 UTC 2018 - crrodriguez@opensuse.org Fri Mar 2 15:40:14 UTC 2018 - crrodriguez@opensuse.org

View File

@ -45,7 +45,7 @@ Requires: ghostscript-fonts-std
Requires: ghostscript-library Requires: ghostscript-library
Requires: netpbm Requires: netpbm
Requires: texlive-epstopdf Requires: texlive-epstopdf
Version: 3.2.6a Version: 3.2.7a
Release: 0 Release: 0
Summary: Graphic Converter Summary: Graphic Converter
#Source: http://sourceforge.net/projects/mcj/files/fig2dev-%{version}.tar.xz/download#/fig2dev-%{version}.tar.xz #Source: http://sourceforge.net/projects/mcj/files/fig2dev-%{version}.tar.xz/download#/fig2dev-%{version}.tar.xz
@ -56,13 +56,10 @@ Patch0: transfig-3.2.6.dif
Patch2: transfig.3.2.5-binderman.dif Patch2: transfig.3.2.5-binderman.dif
Patch3: transfig.3.2.5d-mediaboxrealnb.dif Patch3: transfig.3.2.5d-mediaboxrealnb.dif
Patch4: transfig-fix-afl.patch Patch4: transfig-fix-afl.patch
Patch42: fig2dev-3.2.6-genps_oldpatterns.patch
Patch43: fig2dev-3.2.6-fig2mpdf.patch Patch43: fig2dev-3.2.6-fig2mpdf.patch
Patch44: fig2dev-3.2.6-fig2mpdf-doc.patch Patch44: fig2dev-3.2.6-fig2mpdf-doc.patch
Patch45: fig2dev-3.2.6a-RGBFILE.patch Patch45: fig2dev-3.2.6a-RGBFILE.patch
Patch46: fig2dev-3.2.6a-man-typo.patch Patch46: fig2dev-3.2.6a-man-typo.patch
Patch47: fig2dev-3.2.6a-input-sanitizing.patch
Patch48: fig2dev-3.2.6a-style-overflow.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /usr/X11R6)} %{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /usr/X11R6)}
%if "%_exec_prefix" == "/usr/X11R6" %if "%_exec_prefix" == "/usr/X11R6"
@ -103,13 +100,10 @@ find -type f | xargs -r chmod a-x,go-w
%patch2 -p0 -b .bm %patch2 -p0 -b .bm
%patch3 -p0 -b .mbox %patch3 -p0 -b .mbox
%patch4 -p1 -b .afl %patch4 -p1 -b .afl
%patch42 -p2 -b .oldp
%patch43 -p2 -b .mpdf %patch43 -p2 -b .mpdf
%patch44 -p1 -b .mpdfdoc %patch44 -p1 -b .mpdfdoc
%patch45 -p1 -b .p45 %patch45 -p1 -b .p45
%patch46 -p1 -b .p46 %patch46 -p1 -b .p46
%patch47 -p1 -b .p47
%patch48 -p1 -b .p48
%build %build
CC=gcc CC=gcc