SHA256
1
0
forked from pool/transfig

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

@ -13,7 +13,7 @@ Description: fig2mpdf 1.2 documentation
+ pdflatex sample-presentation
+
+clean:
+ rm -f overlay-sample-?.pdf
+ rm -f overlay-sample-?.pdf
+ rm -f *.aux *.log *.nav *.out *.snm *.toc sample-presentation.pdf
--- /dev/null
+++ b/fig2mpdf/doc/XFig-LaTeX-together.jpg.uue
@ -1874,12 +1874,12 @@ Description: fig2mpdf 1.2 documentation
+a.hmenulink:link, a.hmenulink:visited
+{
+ display: block;
+ color: white; background-color: #d92819;
+ color: white; background-color: #d92819;
+ width: 130px; line-height: 20px; font-size: 11px;
+ margin-left: 0px; margin-right: 0px; margin-bottom: 0px; margin-top: 0px;
+ margin-left: 0px; margin-right: 0px; margin-bottom: 0px; margin-top: 0px;
+ font-style: normal;
+
+ text-align: center;
+
+ text-align: center;
+}
+a.hmenulink:link:hover, a.hmenulink:visited:hover
+{
@ -1908,13 +1908,13 @@ Description: fig2mpdf 1.2 documentation
+/* border: thin dashed black;*/
+ color: #ffffff;
+ background-color: #ae1e12;
+ font-size: 8pt;
+ font-size: 8pt;
+ margin-left: 5px;
+}
+
+
+div#tmain {
+ font-size: 10pt;
+ font-size: 10pt;
+ text-align: justify;
+ font-family: arial,helvetica,sans-serif;
+}
@ -1940,7 +1940,7 @@ Description: fig2mpdf 1.2 documentation
+ color: #000000;
+ text-align: justify;
+ font-family: arial,helvetica,sans-serif;
+ padding: 1px;
+ padding: 1px;
+ margin-left: 15px;
+}
+
@ -1953,7 +1953,7 @@ Description: fig2mpdf 1.2 documentation
+#sidebar {
+ color: #ffffff;
+ background-color: #ae1e12;
+ font-size: 8pt;
+ font-size: 8pt;
+ margin-left: 0px;
+/* min-height: 625px*/
+}
@ -2098,7 +2098,7 @@ Description: fig2mpdf 1.2 documentation
+ <TD WIDTH=40></TD>
+ <TD></TD></TR>
+</TABLE></CENTER></P>
+
+
+
+<H2>Overlay techniques for presentations with xfig</H2>
+
@ -2106,13 +2106,13 @@ Description: fig2mpdf 1.2 documentation
+it's really common to do beamer presentations instead of using the good
+old foil hardware. In contrast to PowerPoint presentations you can run
+PDF presentations, probably created with the beamer package and
+pdflatex, on nearly every computer of the world.
+pdflatex, on nearly every computer of the world.
+ </p>
+
+<p>With beamer presentations you can insert effects for example
+to lead the attention to a specific part of an figure e.g. if you are
+presenting a system in your figure and you are just talking about a
+part of this system.
+part of this system.
+
+The <b>pdflatex</b>-<b>beamer</b> user has
+to produce a set of figures who are overlayed step by step by using
@ -2136,7 +2136,7 @@ Description: fig2mpdf 1.2 documentation
+ <TD WIDTH=40></TD>
+ <TD></TD></TR>
+</TABLE></CENTER></P>
+
+
+
+
+
@ -3196,7 +3196,7 @@ Description: fig2mpdf 1.2 documentation
+Landscape
+Center
+Metric
+A4
+A4
+100.00
+Single
+-2
@ -4744,7 +4744,7 @@ Description: fig2mpdf 1.2 documentation
+ pdfkeywords={multiinclude, figures, fig2mpdf, multilayer, graphics},
+ colorlinks,
+ linkcolor=black,
+ urlcolor=black,
+ urlcolor=black,
+ citecolor=black,
+ pdfpagemode={None}, % only text is shown
+ pdfstartview={FitH}, % View->FinInWindow
@ -4771,8 +4771,8 @@ Description: fig2mpdf 1.2 documentation
+ \item<+-|alert@+> Normal working in state A
+ \item<+-|alert@+> An alarm occured (e.g. temperature too high)
+ \item<+-|alert@+> Alarm behavour executed in State B
+ \item<+-|alert@+> Got all clear signal
+ \item<+-> Returned back to normal working state
+ \item<+-|alert@+> Got all clear signal
+ \item<+-> Returned back to normal working state
+ \end{itemize}
+ \end{column}
+\end{columns}

View File

@ -3,27 +3,35 @@ Description: creating multilayered or singlelayer PDF or EPS figures for
including into LaTeX documents.
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
+++ b/fig2dev-3.2.6a/fig2dev/dev/genpstex.c
@@ -49,6 +49,7 @@
+++ b/fig2dev-3.2.6a/fig2dev/dev/genpstex.c 2018-05-07 10:01:03.485164209 +0000
@@ -48,9 +48,12 @@
#include <string.h>
#include <ctype.h>
#include <sys/stat.h>
+#include <stdlib.h>
#include "fig2dev.h"
#include "object.h" /* does #include <X11/xpm.h> */
+#include "texfonts.h"
+#include "setfigfont.h"
extern double rad2deg;
@@ -76,7 +77,307 @@ extern int genpdf_end(void); /* genpdf
extern void genps_grid(float major, float minor);
@@ -79,6 +82,308 @@ extern void genps_grid(float major, floa
static char pstex_file[1000] = "";
+static int iObjectsRead = 0;
+static int iTextRead = 0;
+static int iObjectsFileNumber = 0;
@ -37,7 +45,7 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+#ifdef never
+static double unitlength;
+static double dash_mag = 1.0;
+
+
+static int (*translate_coordinates)() = NULL;
+static int (*translate_coordinates_d)() = NULL;
+#else
@ -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)
+ 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);
+ }
+
+static
+static int
+translate1_d(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;
+ }
+
+static
+static int
+translate2_d(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)
+char opt, *optarg;
+void
+genpstex_p_option(char opt, char *optarg)
+{
+ 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);
+ 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, "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 */
+ 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");
+ if (iPdfOutputs)
+ {
+ fprintf(ptCreateFile, " %s -L pstex -D +%d:%d %s", prog, depth, iStartDepth, from, szFileName);
+ fprintf(ptCreateFile, " | epstopdf -f > %s.pdf\n", szFileName, szFileName);
+ fprintf(ptCreateFile, " %s -L pstex -D +%d:%d %s", prog, depth, iStartDepth, from);
+ fprintf(ptCreateFile, " | epstopdf -f > %s.pdf\n", szFileName);
+ }
+ else
+ 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
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);
}
+struct driver dev_pstex_p = {
+ genpstex_p_option,
+ genpstex_p_option,
+ genpstex_p_start,
+ gendev_null,
+ (void(*)(float,float))gendev_null,
+ genpstex_p_arc,
+ genpstex_p_ellipse,
+ genpstex_p_line,
@ -346,9 +355,9 @@ diff --git a/fig2dev-3.2.6a/fig2dev/dev/genpstex.c b/fig2dev-3.2.6a/fig2dev/dev/
+};
+
+struct driver dev_pdftex_p = {
+ genpstex_p_option,
+ genpstex_p_option,
+ genpdftex_p_start,
+ gendev_null,
+ (void(*)(float,float))gendev_null,
+ genpstex_p_arc,
+ genpstex_p_ellipse,
+ 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 = {
genpstex_t_option,
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
+++ b/fig2dev-3.2.6a/fig2dev/drivers.h
@@ -32,8 +32,10 @@ extern struct driver dev_eps;
+++ b/fig2dev-3.2.6a/fig2dev/drivers.h 2018-05-07 10:00:19.621980757 +0000
@@ -33,8 +33,10 @@ extern struct driver dev_eps;
extern struct driver dev_pdf;
extern struct driver dev_pdftex;
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},
{"ptk", &dev_ptk},
{"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
+++ b/fig2dev-3.2.6a/fig2dev/fig2dev.c
@@ -691,6 +691,18 @@ help_msg(void)
#endif /* NFSS */
puts(" -p name name of the PostScript file to be overlaid");
+++ b/fig2dev-3.2.6a/fig2dev/fig2dev.c 2018-05-07 10:00:19.621980757 +0000
@@ -823,6 +823,23 @@ help_msg(void)
);
}
+ puts("PSTEX_P and PDFTEX_P Options:\n");
+ puts(" -p name basename of the files to be created\n");
+ if (dev == NULL || !strcmp(lang, "pstex_p") ||
+ !strcmp(lang, "pdftex_p")) {
+ puts(
+"PSTEX_P and PDFTEX_P Options:\n"
+" -p name basename of the files to be created\n"
+#ifdef NFSS
+ puts(" -F don't set font family/series/shape, so you can");
+ puts(" set it from latex");
+" -F don't set font family/series/shape, so you can\n"
+" set it from latex\n"
+#endif /* NFSS */
+ puts(" -d dmag set separate magnification for length of line dashes to dmag\n");
+ puts(" -E num set encoding for text translation (0 = no translation,");
+ puts(" 1 = ISO-8859-1, 2 = ISO-8859-2)");
+ puts(" -l lwidth set threshold between thin and thick lines to lwidth\n");
+ puts(" -v verbose mode\n");
+" -d dmag set separate magnification for length of line dashes to dmag\n"
+" -E num set encoding for text translation (0 no translation,\n"
+" 1 ISO-8859-1, 2 ISO-8859-2)\n"
+" -l lwidth set threshold between thin and thick lines to lwidth\n"
+" -v verbose mode\n"
+ );
+ }
+
puts("SHAPE (ShapePar driver) Options:");
puts(" -n name Set basename of the macro");
puts(" (e.g. \"face\" gives faceshape and facepar)");
@@ -830,6 +842,12 @@ gendev_objects(F_compound *objects, stru
if (dev == NULL || !strcmp(lang, "shape")) {
puts(
"SHAPE (ShapePar driver) Options:\n"
@@ -1008,6 +1025,12 @@ gendev_objects(F_compound *objects, stru
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);
}
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
+++ 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 @@
+The following files contain copyright and license info for
+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
+ 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
+++ 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 @@
+.TH fig2mpdf 1 "Jun 2006" "" "Including xfig figures into LaTeX documents"
+.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 latex(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
+++ 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 @@
+#!/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
+++ 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.
Valid languages are
\fBbox, cgm, dxf, epic, eepic, eepicemu, emf, eps, gbx (Gerber beta
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),
+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),
shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg (beta
driver), textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm\fR.
shape (LaTeX shaped paragraphs), sld (AutoCad slide format), svg,
textyl, tiff, tikz, tk (tcl/tk), tpic, xbm and xpm\fR.
@@ -1149,6 +1149,61 @@ PostScript file generated using
.B pstex.
(see above)
@@ -1165,6 +1165,61 @@ text flagged as "TeX Text".
The pstex and pdftex drivers accept the same options that the EPS driver
accepts.
+.SH PSTEX_P and PDFTEX_P OPTIONS
+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").
+
.TP
.B \-E num
Set encoding for latex text translation
@@ -1542,6 +1597,13 @@ which aren't scaled at all.
.PP
Rotated text is only supported in the IBM-GL (HP/GL) and PostScript (including eps)
languages.
+.PP
.B \-n name
Set the Title part of the PostScript output to
@@ -1588,6 +1643,12 @@ The string \fIfont\fR can be one of
.SH BUGS and RESTRICTIONS
+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
+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
+rectangle (line width 0) around the text or the entire figure.
+
.SH COPYRIGHT
Copyright (c) 1991 Micah Beck
+.PP
Please send bug reports, fixes, new features etc. to:
.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
.br
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>
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
+++ b/fig2dev/colors.c
@@ -27,6 +27,7 @@
#include "pi.h"
#include "fig2dev.h"
+#include <stdlib.h>
struct color_db {
char *name;
@@ -108,10 +109,15 @@ read_colordb(void)
@@ -110,10 +110,15 @@ read_colordb(void)
char s[100], s1[100], *c1, *c2;
unsigned short r,g,b;
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,80 +1,83 @@
---
fig2dev/dev/genps.c | 26 +++++++++++++++++++++++---
fig2dev/dev/genps.c | 29 ++++++++++++++++++++++++-----
fig2dev/dev/genpstex.c | 8 ++++++--
fig2dev/fig2ps2tex.csh | 2 +-
fig2dev/getopt.c | 10 ++++++++++
fig2dev/getopt.c | 9 +++++++++
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 2017-02-02 13:47:11.888588548 +0000
@@ -56,6 +56,7 @@
+++ fig2dev/dev/genps.c 2018-05-07 08:16:40.161130640 +0000
@@ -59,6 +59,7 @@
#include <pwd.h>
#endif
#include <locale.h>
+#include <langinfo.h>
#include "bool.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);
#ifdef I18N
if (support_i18n && iso_text_exist(objects)) {
- char *libdir, *locale;
+ char *libdir, *locale, *codeset;
char localefile[512], str[512];
+ size_t llen;
FILE *fp;
libdir = getenv("FIG2DEV_LIBDIR");
- char *libdir, *locale;
+ char *libdir, *locale, *codeset;
char localefile[512], str[512];
+ size_t llen;
FILE *fp;
libdir = getenv("FIG2DEV_LIBDIR");
#ifdef I18N_DATADIR
@@ -810,16 +812,34 @@ genps_start(F_compound *objects)
libdir = I18N_DATADIR;
@@ -851,18 +853,35 @@ genps_start(F_compound *objects)
libdir = I18N_DATADIR;
#endif
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 && 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);
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 not open file: %s\n",
- localefile);
- } else {
+ fprintf(stderr, "fig2dev: can not 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;
--- fig2dev/dev/genpstex.c
+++ fig2dev/dev/genpstex.c 2017-02-02 13:47:38.580050694 +0000
@@ -44,6 +44,7 @@
+++ fig2dev/dev/genpstex.c 2018-05-07 08:10:27.872048970 +0000
@@ -47,6 +47,7 @@
#include <stdio.h>
#include <string.h>
#include <ctype.h>
+#include <sys/stat.h>
#include "bool.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),
genlatex_option(char opt, char *optarg),
genlatex_text(F_text *t),
@ -91,19 +94,19 @@
extern void genpdf_option(char opt, char *optarg); /* genpdf.c */
extern void genpdf_start(F_compound *objects); /* genpdf.c */
--- fig2dev/fig2ps2tex.csh
+++ fig2dev/fig2ps2tex.csh 2017-02-02 13:43:20.089154382 +0000
@@ -21,7 +21,7 @@
#
+++ fig2dev/fig2ps2tex.csh 2018-05-07 08:11:38.206742453 +0000
@@ -22,7 +22,7 @@
# 2016-07-07 Thomas Loimer
# * use here-document, instead of echo
#
-
+set echo_style=bsd
+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 2017-02-02 13:43:20.089154382 +0000
@@ -45,6 +45,7 @@ static char sccsfid[] = "@(#) getopt.c 5
+++ fig2dev/getopt.c 2018-05-07 08:13:44.400397232 +0000
@@ -48,6 +48,7 @@ static char sccsfid[] = "@(#) getopt.c 5
#define EMSG ""
#define ENDARGS "--"
@ -111,9 +114,9 @@
/*
* 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
+#include <unistd.h>
@ -123,9 +126,8 @@
+ return getopt(nargc, nargv, ostr);
+}
+#endif
+
--- 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 @@
#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.6a/fig2dev/read1_3.c | 2 ++
2 files changed, 12 insertions(+), 10 deletions(-)
fig2dev-3.2.7a/fig2dev/alloc.h | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
--- fig2dev-3.2.6a/fig2dev/alloc.h
+++ fig2dev-3.2.6a/fig2dev/alloc.h 2017-02-02 13:53:24.529089166 +0000
@@ -13,15 +13,15 @@
* notice remain intact.
--- fig2dev-3.2.7a/fig2dev/alloc.h
+++ fig2dev-3.2.7a/fig2dev/alloc.h 2018-05-07 08:49:32.048501663 +0000
@@ -16,15 +16,15 @@
*
*/
-#define Line_malloc(z) z = (F_line*)malloc(LINOBJ_SIZE)
-#define Pic_malloc(z) z = (F_pic*)malloc(PIC_SIZE)
-#define Spline_malloc(z) z = (F_spline*)malloc(SPLOBJ_SIZE)
-#define Ellipse_malloc(z) z = (F_ellipse*)malloc(ELLOBJ_SIZE)
-#define Arc_malloc(z) z = (F_arc*)malloc(ARCOBJ_SIZE)
-#define Compound_malloc(z) z = (F_compound*)malloc(COMOBJ_SIZE)
-#define Text_malloc(z) z = (F_text*)malloc(TEXOBJ_SIZE)
-#define Point_malloc(z) z = (F_point*)malloc(POINT_SIZE)
-#define Control_malloc(z) z = (F_control*)malloc(CONTROL_SIZE)
-#define Arrow_malloc(z) z = (F_arrow*)malloc(ARROW_SIZE)
+#define Line_malloc(z) z = (F_line*)calloc(LINOBJ_SIZE,1)
+#define Pic_malloc(z) z = (F_pic*)calloc(PIC_SIZE,1)
+#define Spline_malloc(z) z = (F_spline*)calloc(SPLOBJ_SIZE,1)
+#define Ellipse_malloc(z) z = (F_ellipse*)calloc(ELLOBJ_SIZE,1)
+#define Arc_malloc(z) z = (F_arc*)calloc(ARCOBJ_SIZE,1)
+#define Compound_malloc(z) z = (F_compound*)calloc(COMOBJ_SIZE,1)
+#define Text_malloc(z) z = (F_text*)calloc(TEXOBJ_SIZE,1)
+#define Point_malloc(z) z = (F_point*)calloc(POINT_SIZE,1)
+#define Control_malloc(z) z = (F_control*)calloc(CONTROL_SIZE,1)
+#define Arrow_malloc(z) z = (F_arrow*)calloc(ARROW_SIZE,1)
-#define Line_malloc(z) z = malloc(LINOBJ_SIZE)
-#define Pic_malloc(z) z = malloc(PIC_SIZE)
-#define Spline_malloc(z) z = malloc(SPLOBJ_SIZE)
-#define Ellipse_malloc(z) z = malloc(ELLOBJ_SIZE)
-#define Arc_malloc(z) z = malloc(ARCOBJ_SIZE)
-#define Compound_malloc(z) z = malloc(COMOBJ_SIZE)
-#define Text_malloc(z) z = malloc(TEXOBJ_SIZE)
-#define Point_malloc(z) z = malloc(POINT_SIZE)
-#define Control_malloc(z) z = malloc(CONTROL_SIZE)
-#define Arrow_malloc(z) z = malloc(ARROW_SIZE)
+#define Line_malloc(z) z = calloc(LINOBJ_SIZE,1)
+#define Pic_malloc(z) z = calloc(PIC_SIZE,1)
+#define Spline_malloc(z) z = calloc(SPLOBJ_SIZE,1)
+#define Ellipse_malloc(z) z = calloc(ELLOBJ_SIZE,1)
+#define Arc_malloc(z) z = calloc(ARCOBJ_SIZE,1)
+#define Compound_malloc(z) z = calloc(COMOBJ_SIZE,1)
+#define Text_malloc(z) z = calloc(TEXOBJ_SIZE,1)
+#define Point_malloc(z) z = calloc(POINT_SIZE,1)
+#define Control_malloc(z) z = calloc(CONTROL_SIZE,1)
+#define Arrow_malloc(z) z = calloc(ARROW_SIZE,1)
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(-)
--- fig2dev/dev/readeps.c
+++ fig2dev/dev/readeps.c 2017-02-02 13:52:46.733848874 +0000
@@ -75,16 +75,22 @@ read_eps_pdf(FILE *file, int filetype, F
while (fgets(buf, 512, file) != NULL) {
+++ fig2dev/dev/readeps.c 2018-05-07 08:45:37.772825723 +0000
@@ -83,9 +83,11 @@ read_eps_pdf(FILE *file, int filetype, F
while (fgets(buf, BUFSIZ, file) != NULL) {
/* look for /MediaBox for pdf file */
if (pdf_flag) {
+ char *s;
+ for(s=buf; (s=strchr(s,'/')); s++) {
if (!strncmp(buf, "/MediaBox", 8)) { /* look for the MediaBox spec */
- c = strchr(buf,'[')+1;
- if (c && sscanf(c,"%d %d %d %d",llx,lly,&urx,&ury) < 4) {
+ c = strchr(s,'[');
+ if (c && sscanf(c+1,"%d %d %d %d",llx,lly,&urx,&ury) < 4) {
if (!strncmp(buf, "/MediaBox", 9)) { /* look for the MediaBox spec */
- c = strchr(buf, '[') + 1;
- if (c && sscanf(c, "%d %d %d %d", llx, lly, &urx, &ury) < 4)
+ c = strchr(s, '[');
+ if (c && sscanf(c+1, "%d %d %d %d", llx, lly, &urx, &ury) < 4)
{
*llx = *lly = 0;
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",
pic->file, metric? "A4" : "Letter" );
}
@ -28,4 +29,4 @@
+ }
/* look for bounding box for EPS file */
} 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

View File

@ -45,7 +45,7 @@ Requires: ghostscript-fonts-std
Requires: ghostscript-library
Requires: netpbm
Requires: texlive-epstopdf
Version: 3.2.6a
Version: 3.2.7a
Release: 0
Summary: Graphic Converter
#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
Patch3: transfig.3.2.5d-mediaboxrealnb.dif
Patch4: transfig-fix-afl.patch
Patch42: fig2dev-3.2.6-genps_oldpatterns.patch
Patch43: fig2dev-3.2.6-fig2mpdf.patch
Patch44: fig2dev-3.2.6-fig2mpdf-doc.patch
Patch45: fig2dev-3.2.6a-RGBFILE.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
%{expand: %%global _exec_prefix %(type -p pkg-config &>/dev/null && pkg-config --variable prefix x11 || echo /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
%patch3 -p0 -b .mbox
%patch4 -p1 -b .afl
%patch42 -p2 -b .oldp
%patch43 -p2 -b .mpdf
%patch44 -p1 -b .mpdfdoc
%patch45 -p1 -b .p45
%patch46 -p1 -b .p46
%patch47 -p1 -b .p47
%patch48 -p1 -b .p48
%build
CC=gcc