Toshaan Bharvani
1 year ago
commit
05d65c0877
20 changed files with 5671 additions and 0 deletions
@ -0,0 +1,17 @@ |
|||||||
|
diff -urNp a/converter/other/pstopnm.c b/converter/other/pstopnm.c |
||||||
|
--- a/converter/other/pstopnm.c 2018-07-23 15:14:51.200658026 +0200 |
||||||
|
+++ b/converter/other/pstopnm.c 2018-07-23 15:18:12.579910612 +0200 |
||||||
|
@@ -896,11 +896,11 @@ execGhostscript(int const |
||||||
|
ghostscriptProg, arg0, |
||||||
|
deviceopt, outfileopt, gopt, ropt, textalphabitsopt, |
||||||
|
"-q", "-dNOPAUSE", |
||||||
|
- "-dSAFER", "-"); |
||||||
|
+ "-dPARANOIDSAFER", "-"); |
||||||
|
} |
||||||
|
|
||||||
|
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt, |
||||||
|
- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL); |
||||||
|
+ "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL); |
||||||
|
|
||||||
|
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)", |
||||||
|
ghostscriptProg, errno, strerror(errno)); |
@ -0,0 +1,26 @@ |
|||||||
|
diff -urNp old/converter/other/svgtopam.c new/converter/other/svgtopam.c |
||||||
|
--- old/converter/other/svgtopam.c 2017-02-08 12:11:02.593690917 +0100 |
||||||
|
+++ new/converter/other/svgtopam.c 2017-02-08 13:49:38.319029371 +0100 |
||||||
|
@@ -771,12 +771,17 @@ createCanvas(unsigned int const width, |
||||||
|
|
||||||
|
MALLOCVAR_NOFAIL(canvasP); |
||||||
|
|
||||||
|
- canvasP->width = width; |
||||||
|
- canvasP->height = height; |
||||||
|
- canvasP->pixels = ppm_allocarray(width, height); |
||||||
|
- canvasP->maxval = maxval; |
||||||
|
+ if(canvasP != NULL){ |
||||||
|
+ canvasP->width = width; |
||||||
|
+ canvasP->height = height; |
||||||
|
+ canvasP->pixels = ppm_allocarray(width, height); |
||||||
|
+ canvasP->maxval = maxval; |
||||||
|
+ |
||||||
|
+ *canvasPP = canvasP; |
||||||
|
+ } else { |
||||||
|
+ pm_error("can't allocate memory for canvas"); |
||||||
|
+ } |
||||||
|
|
||||||
|
- *canvasPP = canvasP; |
||||||
|
} |
||||||
|
|
||||||
|
|
@ -0,0 +1,13 @@ |
|||||||
|
diff --git a/converter/other/bmptopnm.c b/converter/other/bmptopnm.c |
||||||
|
index 3f66634..ca4f944 100644 |
||||||
|
--- a/converter/other/bmptopnm.c |
||||||
|
+++ b/converter/other/bmptopnm.c |
||||||
|
@@ -1494,7 +1494,7 @@ readBmp(FILE * const ifP, |
||||||
|
unsigned int * const cmapSizeP, |
||||||
|
bool const verbose) { |
||||||
|
|
||||||
|
- xel * colormap; /* malloc'ed */ |
||||||
|
+ xel * colormap = NULL; /* malloc'ed */ |
||||||
|
unsigned int pos; |
||||||
|
/* Current byte position in the BMP file */ |
||||||
|
|
@ -0,0 +1,21 @@ |
|||||||
|
diff -up netpbm-10.61.01/converter/pbm/cmuwmtopbm.c.cmuwtopbmfix netpbm-10.61.01/converter/pbm/cmuwmtopbm.c |
||||||
|
--- netpbm-10.61.01/converter/pbm/cmuwmtopbm.c.cmuwtopbmfix 2013-01-02 18:39:57.000000000 +0100 |
||||||
|
+++ netpbm-10.61.01/converter/pbm/cmuwmtopbm.c 2013-01-03 05:41:36.024984241 +0100 |
||||||
|
@@ -18,7 +18,7 @@ |
||||||
|
This program does not check the pad bits at the end of each row. |
||||||
|
*/ |
||||||
|
|
||||||
|
- |
||||||
|
+#include <stdint.h> |
||||||
|
#include "pbm.h" |
||||||
|
|
||||||
|
/*-------------------------- |
||||||
|
@@ -42,7 +42,7 @@ readCmuwmHeader(FILE * const ifP |
||||||
|
"CMU window manager header EOF / read error"; |
||||||
|
uint32_t const cmuwmMagic = 0xf10040bb; |
||||||
|
|
||||||
|
- long l; |
||||||
|
+ uint32_t l; |
||||||
|
short s; |
||||||
|
int rc; |
||||||
|
|
@ -0,0 +1,129 @@ |
|||||||
|
diff --git a/converter/pbm/pbmtoepson.c b/converter/pbm/pbmtoepson.c |
||||||
|
index 122a438..5d67746 100644 |
||||||
|
--- a/converter/pbm/pbmtoepson.c |
||||||
|
+++ b/converter/pbm/pbmtoepson.c |
||||||
|
@@ -75,7 +75,7 @@ parseCommandLine(int argc, |
||||||
|
&dpiSpec, 0); |
||||||
|
OPTENT3(0, "adjacent", OPT_FLAG, NULL, |
||||||
|
&adjacentSpec, 0); |
||||||
|
- OPTENT3(0, "nonadjacent", OPT_FLAG, NULL, |
||||||
|
+ OPTENT3(0, "noadjacent", OPT_FLAG, NULL, |
||||||
|
&nonadjacentSpec, 0); |
||||||
|
|
||||||
|
opt.opt_table = option_def; |
||||||
|
diff --git a/userguide/cameratopam.html b/userguide/cameratopam.html |
||||||
|
index b50bfeb..3af9008 100644 |
||||||
|
--- a/userguide/cameratopam.html |
||||||
|
+++ b/userguide/cameratopam.html |
||||||
|
@@ -24,10 +24,10 @@ cameratopam - convert raw camera image to PAM |
||||||
|
[<b>-balance_camera</b>] |
||||||
|
[<b>-red_scale=</b><i>float</i>] |
||||||
|
[<b>-blue_scale=</b><i>float</i>] |
||||||
|
-[<b>-brightness=</b><i>fraction</i>] |
||||||
|
+[<b>-bright=</b><i>fraction</i>] |
||||||
|
[<b>-no_clip_color</b>] |
||||||
|
[<b>-rgb</b>] |
||||||
|
-[<b>-secondary</b>] |
||||||
|
+[<b>-use_secondary</b>] |
||||||
|
[<b>-linear</b>] |
||||||
|
[<b>-verbose</b>] |
||||||
|
|
||||||
|
@@ -110,7 +110,7 @@ the default. |
||||||
|
<dd>Further adjust the color balance by multiplying the red and blue |
||||||
|
channels by these values. Both default to 1.0. |
||||||
|
|
||||||
|
-<dt><b>-brightness=</b><i>float</i> |
||||||
|
+<dt><b>-bright=</b><i>float</i> |
||||||
|
|
||||||
|
<dd>Change the output brightness. Default is 1.0. |
||||||
|
|
||||||
|
@@ -118,14 +118,14 @@ channels by these values. Both default to 1.0. |
||||||
|
|
||||||
|
<dd>By default, <b>cameratoapm</b> clips all colors to prevent pink |
||||||
|
hues in the highlights. Combine this option with |
||||||
|
-<b>-brightness=0.25</b> to leave the image data completely unclipped. |
||||||
|
+<b>-bright=0.25</b> to leave the image data completely unclipped. |
||||||
|
|
||||||
|
<dt><b>-rgb</b> |
||||||
|
|
||||||
|
<dd>Write raw camera colors to the output file. By default, |
||||||
|
<b>cameratoapm</b> converts to sRGB colorspace. |
||||||
|
|
||||||
|
-<dt><b>-secondary</b> |
||||||
|
+<dt><b>-use_secondary</b> |
||||||
|
|
||||||
|
<dd>For cameras based on the Fuji Super CCD SR, this option causes |
||||||
|
<b>cameratopam</b> to use the secondary sensors, in effect |
||||||
|
diff --git a/userguide/fiascotopnm.html b/userguide/fiascotopnm.html |
||||||
|
index c33f701..fa84441 100644 |
||||||
|
--- a/userguide/fiascotopnm.html |
||||||
|
+++ b/userguide/fiascotopnm.html |
||||||
|
@@ -56,7 +56,7 @@ the output file(s) are written to the first (writable) directory of |
||||||
|
this list. Otherwise, the current directory is used to store the |
||||||
|
output file(s). |
||||||
|
|
||||||
|
-<dt><b>-z</b>, <b>--fast</b> |
||||||
|
+<dt><b>-r</b>, <b>--fast</b> |
||||||
|
<dd> |
||||||
|
Decompress images in the 4:2:0 format; i.e., each chroma channel is |
||||||
|
decompressed to an image of halved width and height. Use this option |
||||||
|
@@ -88,7 +88,7 @@ given amount <i>N</i>. <i>N</i> is 1 (minimum) to 100 (maximum); default |
||||||
|
is 70. When <i>N</i>=0, then the smoothing amount specified in the |
||||||
|
FIASCO file is used (defined by the FIASCO coder). |
||||||
|
|
||||||
|
-<dt><b>-F</b> <i>N</i>, <b>--fps=</b><i>N</i> |
||||||
|
+<dt><b>-F</b> <i>N</i>, <b>--framerate=</b><i>N</i> |
||||||
|
<dd> |
||||||
|
Set number of frames per second to <i>N</i>. When using this option, |
||||||
|
the frame rate specified in the FIASCO file is overridden. |
||||||
|
@@ -118,13 +118,8 @@ following methods (in the specified order): |
||||||
|
<li>--config=<i>name</i> |
||||||
|
</ol> |
||||||
|
|
||||||
|
-<dt><b>-h</b>, <b>--info</b> |
||||||
|
-<dd> |
||||||
|
-Print brief help, then exit. |
||||||
|
- |
||||||
|
-<dt><b>-H</b>, <b>--help</b> |
||||||
|
-<dd> |
||||||
|
-Print detailed help, then exit. |
||||||
|
+<dt><b>-h</b>, <b>--help</b> |
||||||
|
+Print help, then exit. |
||||||
|
|
||||||
|
</dl> |
||||||
|
|
||||||
|
diff --git a/userguide/pamperspective.html b/userguide/pamperspective.html |
||||||
|
index 018f18a..13073d2 100644 |
||||||
|
--- a/userguide/pamperspective.html |
||||||
|
+++ b/userguide/pamperspective.html |
||||||
|
@@ -223,7 +223,7 @@ default rectangle as the "frame." The visible part is always |
||||||
|
a rectangle the axes of which are parallel to those of the frame. |
||||||
|
|
||||||
|
<p>The frame options are additive. All the parts of the image |
||||||
|
-specified by either margin options, <b>--include_frame</b>, or |
||||||
|
+specified by either margin options, <b>--frame_include</b>, or |
||||||
|
<b>--include</b> (or their defaults) are in the visible part. The |
||||||
|
visible part is the smallest possible rectangle that contains the |
||||||
|
parts specified those three ways. |
||||||
|
diff --git a/userguide/pbmtoepson.html b/userguide/pbmtoepson.html |
||||||
|
index baacf7b..e74a7fe 100644 |
||||||
|
--- a/userguide/pbmtoepson.html |
||||||
|
+++ b/userguide/pbmtoepson.html |
||||||
|
@@ -16,7 +16,7 @@ pbmtoepson - convert a PBM image into Epson printer graphics |
||||||
|
[<b>-dpi=</b><i>n</i>] |
||||||
|
[<b>-protocol=</b>{<b>escp9</b>|<b>escp</b>}] |
||||||
|
[<b>-adjacent</b>] |
||||||
|
-[<b>-nonadjacent</b>] |
||||||
|
+[<b>-noadjacent</b>] |
||||||
|
|
||||||
|
[<i>pbmfile</i>] |
||||||
|
|
||||||
|
@@ -75,7 +75,7 @@ print density for you consistent with your other options. |
||||||
|
<p>This option was new in Netpbm 10.23 (July 2004). |
||||||
|
|
||||||
|
<dt><b>-adjacent</b> |
||||||
|
-<dt><b>-nonadjacent</b> |
||||||
|
+<dt><b>-noadjacent</b> |
||||||
|
|
||||||
|
<dd>These options determine whether the output uses "adjacent dot |
||||||
|
printing" or not, whatever that is. |
@ -0,0 +1,22 @@ |
|||||||
|
diff -up netpbm-10.58.01/lib/pm.h.gcc4 netpbm-10.58.01/lib/pm.h |
||||||
|
--- netpbm-10.58.01/lib/pm.h.gcc4 2012-04-09 19:08:08.885137097 +0200 |
||||||
|
+++ netpbm-10.58.01/lib/pm.h 2012-04-09 19:08:08.894136984 +0200 |
||||||
|
@@ -18,6 +18,7 @@ |
||||||
|
#include <sys/types.h> |
||||||
|
#include <ctype.h> |
||||||
|
#include <stdio.h> |
||||||
|
+#include <string.h> |
||||||
|
#include <errno.h> |
||||||
|
#include <setjmp.h> |
||||||
|
#include <sys/stat.h> |
||||||
|
diff -up netpbm-10.58.01/urt/rle.h.gcc4 netpbm-10.58.01/urt/rle.h |
||||||
|
--- netpbm-10.58.01/urt/rle.h.gcc4 2012-04-09 19:08:08.000000000 +0200 |
||||||
|
+++ netpbm-10.58.01/urt/rle.h 2012-04-09 19:08:39.137758887 +0200 |
||||||
|
@@ -34,6 +34,7 @@ |
||||||
|
#define RLE_H |
||||||
|
|
||||||
|
#include <stdio.h> /* Declare FILE. */ |
||||||
|
+#include <string.h> |
||||||
|
|
||||||
|
enum rle_dispatch { |
||||||
|
NO_DISPATCH = -1, |
@ -0,0 +1,13 @@ |
|||||||
|
--- netpbm-10.35/converter/other/pnmtotiffcmyk.c.glibc 2006-09-18 12:20:06.000000000 +0200 |
||||||
|
+++ netpbm-10.35/converter/other/pnmtotiffcmyk.c 2007-08-23 09:18:30.000000000 +0200 |
||||||
|
@@ -974,8 +974,8 @@ int main( int argc, char **argv ) { |
||||||
|
|
||||||
|
if ( (err = parseOpts( argc, argv, rt )) ) goto exit ; |
||||||
|
|
||||||
|
- if ( (err = rt->in->open( rt->in, rt )) ) goto exit ; |
||||||
|
- if ( (err = rt->out->open( rt->out, rt )) ) goto exit ; |
||||||
|
+ if ( (err = (rt->in->open)( rt->in, rt )) ) goto exit ; |
||||||
|
+ if ( (err = (rt->out->open)( rt->out, rt )) ) goto exit ; |
||||||
|
|
||||||
|
while ( rt->in->hasMore( rt->in ) ) { |
||||||
|
if ( (err = rt->in->next( rt->in, &r, &g, &b )) ) goto exit ; |
@ -0,0 +1,62 @@ |
|||||||
|
diff -urNp a/config.mk.in b/config.mk.in |
||||||
|
--- a/config.mk.in 2018-11-21 12:46:22.044790058 +0100 |
||||||
|
+++ b/config.mk.in 2018-11-22 13:13:10.260123268 +0100 |
||||||
|
@@ -128,7 +128,7 @@ INSTALL = $(SRCDIR)/buildtools/install.s |
||||||
|
|
||||||
|
# STRIPFLAG is the option you pass to the above install program to make it |
||||||
|
# strip unnecessary information out of binaries. |
||||||
|
-STRIPFLAG = -s |
||||||
|
+STRIPFLAG = |
||||||
|
# If you don't want to strip the binaries, just leave it null: |
||||||
|
#STRIPFLAG = |
||||||
|
|
||||||
|
@@ -482,12 +482,12 @@ JBIGLIB = $(INTERNAL_JBIGLIB) |
||||||
|
JBIGHDR_DIR = $(INTERNAL_JBIGHDR_DIR) |
||||||
|
|
||||||
|
# The Jasper JPEG-2000 image compression library (aka JasPer): |
||||||
|
-JASPERLIB = $(INTERNAL_JASPERLIB) |
||||||
|
-JASPERHDR_DIR = $(INTERNAL_JASPERHDR_DIR) |
||||||
|
+JASPERLIB = "" |
||||||
|
+JASPERHDR_DIR = "/usr/include/jasper" |
||||||
|
# JASPERDEPLIBS is the libraries (-l options or file names) on which |
||||||
|
# The Jasper library depends -- i.e. what you have to link into any |
||||||
|
# executable that links in the Jasper library. |
||||||
|
-JASPERDEPLIBS = |
||||||
|
+JASPERDEPLIBS = -ljasper |
||||||
|
#JASPERDEPLIBS = -ljpeg |
||||||
|
|
||||||
|
# And the Utah Raster Toolkit (aka URT aka RLE) library: |
||||||
|
diff -urNp a/converter/other/jbig/Makefile b/converter/other/jbig/Makefile |
||||||
|
--- a/converter/other/jbig/Makefile 2018-11-21 12:46:22.075789920 +0100 |
||||||
|
+++ b/converter/other/jbig/Makefile 2018-11-22 13:13:40.837969056 +0100 |
||||||
|
@@ -11,8 +11,9 @@ include $(BUILDDIR)/config.mk |
||||||
|
|
||||||
|
# INTERNAL_JBIGLIB must be relative to the current directory, because it |
||||||
|
# may end up in MERGE_OBJECTS, which must be relative. |
||||||
|
-INTERNAL_JBIGLIB = libjbig/libjbig.a |
||||||
|
-INTERNAL_JBIGHDR_DIR = $(SRCDIR)/$(SUBDIR)/libjbig/include |
||||||
|
+INTERNAL_JBIGLIB = |
||||||
|
+INTERNAL_JBIGHDR_DIR = /usr/include |
||||||
|
+#INTERNAL_JBIGHDR_DIR = $(SRCDIR)/$(SUBDIR)/libjbig/include |
||||||
|
|
||||||
|
EXTERN_INCLUDES = |
||||||
|
ifneq ($(JBIGHDR_DIR),NONE) |
||||||
|
@@ -35,7 +36,6 @@ SCRIPTS = |
||||||
|
|
||||||
|
ifeq ($(JBIGLIB),$(INTERNAL_JBIGLIB)) |
||||||
|
JBIGLIB_DEP = $(JBIGLIB) |
||||||
|
- SUBDIRS += libjbig |
||||||
|
else |
||||||
|
# It's not our internal version; user's on his own to make sure it's built |
||||||
|
endif |
||||||
|
@@ -49,10 +49,3 @@ include $(SRCDIR)/common.mk |
||||||
|
|
||||||
|
$(BINARIES): %: %.o $(JBIGLIB_DEP) $(LIBOPT) |
||||||
|
$(BINARIES): LDFLAGS_TARGET = $(shell $(LIBOPT) $(JBIGLIB)) |
||||||
|
- |
||||||
|
-$(INTERNAL_JBIGLIB): $(BUILDDIR)/$(SUBDIR)/libjbig FORCE |
||||||
|
- $(MAKE) -f $(SRCDIR)/$(SUBDIR)/libjbig/Makefile \ |
||||||
|
- -C $(dir $@) $(notdir $@) |
||||||
|
- |
||||||
|
-.PHONY: FORCE |
||||||
|
-FORCE: |
@ -0,0 +1,48 @@ |
|||||||
|
diff --git a/lib/Makefile b/lib/Makefile |
||||||
|
index bc758df..7f51b41 100644 |
||||||
|
--- a/lib/Makefile |
||||||
|
+++ b/lib/Makefile |
||||||
|
@@ -221,7 +221,7 @@ libpm.o: compile.h |
||||||
|
.PHONY: install.lib |
||||||
|
ifeq ($(NETPBMLIBTYPE),unixshared) |
||||||
|
# install a Unix-style shared library |
||||||
|
-install.lib: $(PKGDIR)/lib $(PKGDIR)/sharedlink |
||||||
|
+install.lib: $(PKGDIR)/lib |
||||||
|
cd $(PKGDIR)/lib ; rm -f libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).* |
||||||
|
$(INSTALL) -c -m $(INSTALL_PERM_LIBD) \ |
||||||
|
libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ).$(MIN) $(PKGDIR)/lib/ |
||||||
|
@@ -263,27 +263,26 @@ $(INTERFACE_HEADERS:%=%_installhdr): $(PKGDIR)/include/netpbm |
||||||
|
$(SRCDIR)/lib/$(@:%_installhdr=%) $(PKGDIR)/include/netpbm/ |
||||||
|
|
||||||
|
.PHONY: install.staticlib |
||||||
|
-install.staticlib: $(PKGDIR)/staticlink |
||||||
|
+install.staticlib: $(PKGDIR)/lib |
||||||
|
$(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.$(STATICLIBSUFFIX) \ |
||||||
|
- $(PKGDIR)/staticlink |
||||||
|
+ $(PKGDIR)/lib |
||||||
|
|
||||||
|
# Install a shared library stub -- the ".so" file used at link time to |
||||||
|
# prepare a program for dynamically linking a library at run time |
||||||
|
.PHONY: install.sharedlibstub |
||||||
|
-install.sharedlibstub: $(PKGDIR)/sharedlink |
||||||
|
+install.sharedlibstub: $(PKGDIR)/lib |
||||||
|
ifeq ($(NETPBMLIBTYPE),unixshared) |
||||||
|
# install the link-time (.so) links to the runtime libraries |
||||||
|
- cd $(PKGDIR)/sharedlink ; \ |
||||||
|
+ cd $(PKGDIR)/lib ; \ |
||||||
|
rm -f libnetpbm.$(NETPBMLIBSUFFIX); \ |
||||||
|
- $(SYMLINK) ../lib/libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \ |
||||||
|
+ $(SYMLINK) libnetpbm.$(NETPBMLIBSUFFIX).$(MAJ) \ |
||||||
|
libnetpbm.$(NETPBMLIBSUFFIX) |
||||||
|
endif |
||||||
|
ifeq ($(NETPBMLIBTYPE),dll) |
||||||
|
- $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a \ |
||||||
|
- $(PKGDIR)/sharedlink |
||||||
|
+ $(INSTALL) -c -m $(INSTALL_PERM_LIBS) libnetpbm.dll.a $(PKGDIR)/link |
||||||
|
endif |
||||||
|
ifeq ($(NETPBMLIBTYPE),dylib) |
||||||
|
- cd $(PKGDIR)/sharedlink/ ; \ |
||||||
|
+ cd $(PKGDIR)/link/ ; \ |
||||||
|
rm -f libnetpbm.dylib; \ |
||||||
|
$(SYMLINK) ../lib/libnetpbm.$(MAJ).$(MIN).dylib libnetpbm.dylib |
||||||
|
endif |
@ -0,0 +1,541 @@ |
|||||||
|
diff -urNp a/userguide/avstopam.html b/userguide/avstopam.html |
||||||
|
--- a/userguide/avstopam.html 2021-06-02 12:56:59.584286425 +0200 |
||||||
|
+++ b/userguide/avstopam.html 2021-06-02 15:00:33.799300026 +0200 |
||||||
|
@@ -2,12 +2,13 @@ |
||||||
|
<html><head><title>Avstopam User Manual</title></head> |
||||||
|
<body> |
||||||
|
<h1>avstopam</h1> |
||||||
|
-Updated: 07 February 2010 |
||||||
|
-<br> |
||||||
|
-<a href="#index">Table Of Contents</a> |
||||||
|
+ |
||||||
|
+<p>Updated: 07 February 2010</p> |
||||||
|
+ |
||||||
|
+<p><a href="#index">Table Of Contents</a></p> |
||||||
|
<h2>NAME</h2> |
||||||
|
|
||||||
|
-<p>avstopam - convert an AVS X image to a Netpbm image |
||||||
|
+<p>avstopam - convert an AVS X image to a Netpbm image</p> |
||||||
|
|
||||||
|
<h2 id="synopsis">SYNOPSIS</h2> |
||||||
|
|
||||||
|
@@ -16,40 +17,40 @@ Updated: 07 February 2010 |
||||||
|
|
||||||
|
<h2 id="description">DESCRIPTION</h2> |
||||||
|
|
||||||
|
-<p>This program is part of <a href="index.html">Netpbm</a>. |
||||||
|
+<p>This program is part of <a href="index.html">Netpbm</a>.</p> |
||||||
|
|
||||||
|
<p><b>avstopam</b> reads a Stardent <abbr title="Application |
||||||
|
Visualization System">AVS</abbr> X image as input and produces a Netpbm |
||||||
|
-image as output. |
||||||
|
+image as output.</p> |
||||||
|
|
||||||
|
<p><i>avsfile</i> is the input file, which defaults to Standard Input. |
||||||
|
-Output is always on Standard Output. |
||||||
|
+Output is always on Standard Output.</p> |
||||||
|
|
||||||
|
<h2 id="options">OPTIONS</h2> |
||||||
|
|
||||||
|
<p>There are no command line options defined specifically |
||||||
|
for <b>avstopam</b>, but it recognizes the options common to all |
||||||
|
programs based on libnetpbm (See <a href="index.html#commonoptions"> |
||||||
|
-Common Options</a>.) |
||||||
|
+Common Options</a>.)</p> |
||||||
|
|
||||||
|
<h2 id="author">AUTHOR</h2> |
||||||
|
|
||||||
|
<p>Copyright © 2010 Scott Pakin, |
||||||
|
-<a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a> |
||||||
|
+<a href="mailto:scott+pbm@pakin.org">scott+pbm@pakin.org</a></p> |
||||||
|
|
||||||
|
<h2 id="seealso">SEE ALSO</h2> |
||||||
|
|
||||||
|
-<p><a href="pamtoavs.html">pamtoavs</a>, <a href="pam.html">pam</a> |
||||||
|
+<p><a href="pamtoavs.html">pamtoavs</a>, <a href="pam.html">pam</a></p> |
||||||
|
|
||||||
|
<hr> |
||||||
|
|
||||||
|
<h2 id="index">Table Of Contents</h2> |
||||||
|
<ul> |
||||||
|
-<li><a href="#synopsis">SYNOPSIS</a> |
||||||
|
-<li><a href="#description">DESCRIPTION</a> |
||||||
|
-<li><a href="#options">OPTIONS</a> |
||||||
|
-<li><a href="#author">AUTHOR</a> |
||||||
|
-<li><a href="#seealso">SEE ALSO</a> |
||||||
|
+<li><a href="#synopsis">SYNOPSIS</a></li> |
||||||
|
+<li><a href="#description">DESCRIPTION</a></li> |
||||||
|
+<li><a href="#options">OPTIONS</a></li> |
||||||
|
+<li><a href="#author">AUTHOR</a></li> |
||||||
|
+<li><a href="#seealso">SEE ALSO</a></li> |
||||||
|
</ul> |
||||||
|
</body> |
||||||
|
</html> |
||||||
|
diff -urNp a/userguide/faxformat.html b/userguide/faxformat.html |
||||||
|
--- a/userguide/faxformat.html 2021-06-02 12:56:59.576286351 +0200 |
||||||
|
+++ b/userguide/faxformat.html 2021-06-02 15:02:58.710711998 +0200 |
||||||
|
@@ -5,10 +5,11 @@ |
||||||
|
Updated: 03 December 2008 |
||||||
|
<br> |
||||||
|
|
||||||
|
+<h2>SYNOPSIS</h2> |
||||||
|
<p>This page, part of the <a href="index.html">Netpbm user's guide</a>, |
||||||
|
describes FAX formats in relation to Netpbm facilities. |
||||||
|
|
||||||
|
- |
||||||
|
+<h2>DESCRIPTION</h2> |
||||||
|
<p>The ITU (formerly CCITT) publishes standards for operation of fax machines |
||||||
|
(the idea is to provide a way to be sure that a fax machine is able to receive |
||||||
|
a fax sent by another). These standards incidentally specify graphics file |
||||||
|
diff -urNp a/userguide/libnetpbm_ug.html b/userguide/libnetpbm_ug.html |
||||||
|
--- a/userguide/libnetpbm_ug.html 2021-06-02 12:56:59.584286425 +0200 |
||||||
|
+++ b/userguide/libnetpbm_ug.html 2021-06-02 14:36:35.392293125 +0200 |
||||||
|
@@ -374,7 +374,7 @@ plain format. |
||||||
|
<h2 id="reference">Reference</h2> |
||||||
|
|
||||||
|
<p>The <a href="libnetpbm_image.html">Libnetpbm Netpbm Image |
||||||
|
-Processing Manual</a> describes the the <b>libnetpbm</b> functions for |
||||||
|
+Processing Manual</a> describes the <b>libnetpbm</b> functions for |
||||||
|
processing image data. |
||||||
|
|
||||||
|
<p>The <a href="libpm.html">Libnetpbm Utility Manual</a> |
||||||
|
diff -urNp a/userguide/pamfunc.html b/userguide/pamfunc.html |
||||||
|
--- a/userguide/pamfunc.html 2021-06-02 12:56:59.585286434 +0200 |
||||||
|
+++ b/userguide/pamfunc.html 2021-06-02 14:40:09.474375441 +0200 |
||||||
|
@@ -60,7 +60,7 @@ output image. |
||||||
|
and bit string (such as and with 01001000). For the arithmetic functions, the |
||||||
|
function arguments and results are the fraction that a sample is of the |
||||||
|
maxval, i.e. normal interpretation of PAM tuples. But for the bit string |
||||||
|
-functions, the value is the the bit string whose value as a binary cipher is |
||||||
|
+functions, the value is the bit string whose value as a binary cipher is |
||||||
|
the sample value, and the maxval indicates the width of the bit string. |
||||||
|
|
||||||
|
<h4>Arithmetic functions</h4> |
||||||
|
diff -urNp a/userguide/pammixmulti.html b/userguide/pammixmulti.html |
||||||
|
--- a/userguide/pammixmulti.html 2021-06-02 12:56:59.586286443 +0200 |
||||||
|
+++ b/userguide/pammixmulti.html 2021-06-02 14:28:03.105311615 +0200 |
||||||
|
@@ -7,8 +7,8 @@ Updated: 18 November 2018 |
||||||
|
<a href="#index">Table Of Contents</a> |
||||||
|
|
||||||
|
|
||||||
|
-<h2>NAME</h2> |
||||||
|
-<p>pammixmulti - blend together multiple PAM images |
||||||
|
+<h2 id="name">NAME</h2> |
||||||
|
+<p>pammixmulti - blend together multiple PAM images</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="synopsis">SYNOPSIS</h2> |
||||||
|
@@ -22,14 +22,14 @@ Updated: 18 November 2018 |
||||||
|
<p>Minimum unique abbreviation of an option is acceptable. You can use a |
||||||
|
single hyphen instead of double hyphens to denote options. You can use white |
||||||
|
space in place of the equals sign to separate an option name from its |
||||||
|
-value. |
||||||
|
+value.</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="description">DESCRIPTION</h2> |
||||||
|
-<p>This file is part of <a href="index.html">Netpbm</a>. |
||||||
|
+<p>This file is part of <a href="index.html">Netpbm</a>.</p> |
||||||
|
|
||||||
|
<p><b>pammixmulti</b> mixes two or more images to produce a new image. The |
||||||
|
-program provides multiple ways to interpret "mix." |
||||||
|
+program provides multiple ways to interpret "mix."</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="options">OPTIONS</h2> |
||||||
|
@@ -37,7 +37,7 @@ program provides multiple ways to interp |
||||||
|
<p>In addition to the options common to all programs based on libnetpbm |
||||||
|
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> |
||||||
|
Common Options</a>), <b>pammixmulti</b> recognizes the following |
||||||
|
-command line options: |
||||||
|
+command line options:</p> |
||||||
|
|
||||||
|
<dl compact> |
||||||
|
<dt><b>--blend</b>=average|random|mask</dt> |
||||||
|
@@ -50,7 +50,7 @@ output is produced by selecting the corr |
||||||
|
images, chosen at random on a per-pixel basis. With |
||||||
|
<b>--blend</b>=<code>mask</code>, each pixel in the output is produced by a |
||||||
|
weighted average of the corresponding pixels from all the input images based |
||||||
|
-on the grayscale level of an additional mask image. |
||||||
|
+on the grayscale level of an additional mask image.</p> |
||||||
|
</dd> |
||||||
|
|
||||||
|
<dt><b>--maskfile</b>=<i>filename</i></dt> |
||||||
|
@@ -60,7 +60,7 @@ grayscale mask file to control the blend |
||||||
|
not grayscale, the first channel is treated as gray). Where the mask file is |
||||||
|
black, the first image is selected. Where the mask file is white, the last |
||||||
|
image is selected. Intermediate levels of gray select intermediate |
||||||
|
-images. |
||||||
|
+images.</p> |
||||||
|
</dd> |
||||||
|
|
||||||
|
<dt><b>--stdev</b>=<i>number</i></dt> |
||||||
|
@@ -77,7 +77,7 @@ that includes roughly equal amounts of t |
||||||
|
and 2 but less of the corresponding pixel from image 3. As <i>number</i> |
||||||
|
tends towards the number of input images (going beyond that has diminishing |
||||||
|
impact), the output tends to look more |
||||||
|
-like <b>--blend</b>=average. <i>number</i> defaults to 0.25. |
||||||
|
+like <b>--blend</b>=average. <i>number</i> defaults to 0.25.</p> |
||||||
|
</dd> |
||||||
|
|
||||||
|
<dt><b>--randomseed</b> <i>integer</i> |
||||||
|
@@ -85,45 +85,45 @@ like <b>--blend</b>=average. <i>number</ |
||||||
|
<dd>This is the seed for the random number generator used with |
||||||
|
<b>--blend=random</b> |
||||||
|
|
||||||
|
-<p>Use this to ensure you get the same image on separate invocations. |
||||||
|
+<p>Use this to ensure you get the same image on separate invocations.</p> |
||||||
|
|
||||||
|
</dl> |
||||||
|
|
||||||
|
<h2 id="arguments">ARGUMENTS</h2> |
||||||
|
|
||||||
|
-<p>You supply the names of the files to mix as non-option arguments. |
||||||
|
+<p>You supply the names of the files to mix as non-option arguments.</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="examples">EXAMPLES</h2> |
||||||
|
|
||||||
|
-<p>Average a bunch of PPM images to produce a new PAM image: |
||||||
|
+<p>Average a bunch of PPM images to produce a new PAM image:</p> |
||||||
|
<pre><code> |
||||||
|
pammixmulti input*.ppm >output.ppm |
||||||
|
</code></pre> |
||||||
|
|
||||||
|
<p>Mix these same images by taking each pixel from a randomly selected input |
||||||
|
-image: |
||||||
|
+image:</p> |
||||||
|
|
||||||
|
<pre><code> |
||||||
|
pammixmulti --blend=random input*.ppm >output.ppm |
||||||
|
</code></pre> |
||||||
|
|
||||||
|
<p>Use a mask image to control the fading among input images on a |
||||||
|
-pixel-by-pixel basis: |
||||||
|
+pixel-by-pixel basis:</p> |
||||||
|
|
||||||
|
<pre><code> |
||||||
|
pammixmulti --blend=mask --maskfile=mask.pgm >output.pam \ |
||||||
|
one.pam two.pam three.pam four.pam |
||||||
|
</code></pre> |
||||||
|
|
||||||
|
-<p>Do the same but with more abrupt transitions: |
||||||
|
+<p>Do the same but with more abrupt transitions:</p> |
||||||
|
|
||||||
|
<pre><code> |
||||||
|
pammixmulti --blend=mask --maskfile=mask.pgm --stdev=0.0 >output.pam \ |
||||||
|
one.pam two.pam three.pam four.pam |
||||||
|
</code></pre> |
||||||
|
|
||||||
|
-<p>and now with more gradual transitions: |
||||||
|
+<p>and now with more gradual transitions:</p> |
||||||
|
|
||||||
|
<pre><code> |
||||||
|
pammixmulti --blend=mask --maskfile=mask.pgm --stdev=1.0 >output.pam \ |
||||||
|
@@ -133,12 +133,12 @@ pixel-by-pixel basis: |
||||||
|
|
||||||
|
<h2 id="history">HISTORY</h2> |
||||||
|
|
||||||
|
-<p><b>pammixmulti</b> was new in Netpbm 10.85 (December 2018). |
||||||
|
+<p><b>pammixmulti</b> was new in Netpbm 10.85 (December 2018).</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="author">AUTHOR</h2> |
||||||
|
|
||||||
|
-<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org. |
||||||
|
+<p>Copyright 2018 Scott Pakin, scott+pbm@pakin.org.</p> |
||||||
|
|
||||||
|
<h2 id="seealso">SEE ALSO</h2> |
||||||
|
|
||||||
|
@@ -146,20 +146,20 @@ pixel-by-pixel basis: |
||||||
|
<a href="ppmmix.html">ppmmix</a>, |
||||||
|
<a href="pamarith.html">pamarith</a>, |
||||||
|
<a href="pnm.html">pnm</a>, |
||||||
|
-<a href="pam.html">pam</a> |
||||||
|
+<a href="pam.html">pam</a></p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="index">Table Of Contents</h2> |
||||||
|
|
||||||
|
<ul> |
||||||
|
-<li><a href="#synopsis">SYNOPSIS</a> |
||||||
|
-<li><a href="#description">DESCRIPTION</a> |
||||||
|
-<li><a href="#options">OPTIONS</a> |
||||||
|
-<li><a href="#arguments">ARGUMENTS</a> |
||||||
|
-<li><a href="#examples">EXAMPLES</a> |
||||||
|
-<li><a href="#history">HISTORY</a> |
||||||
|
-<li><a href="#author">AUTHOR</a> |
||||||
|
-<li><a href="#seealso">SEE ALSO</a> |
||||||
|
+<li><a href="#synopsis">SYNOPSIS</a></li> |
||||||
|
+<li><a href="#description">DESCRIPTION</a></li> |
||||||
|
+<li><a href="#options">OPTIONS</a></li> |
||||||
|
+<li><a href="#arguments">ARGUMENTS</a></li> |
||||||
|
+<li><a href="#examples">EXAMPLES</a></li> |
||||||
|
+<li><a href="#history">HISTORY</a></li> |
||||||
|
+<li><a href="#author">AUTHOR</a></li> |
||||||
|
+<li><a href="#seealso">SEE ALSO</a></li> |
||||||
|
</ul> |
||||||
|
|
||||||
|
</body> |
||||||
|
diff -urNp a/userguide/pampaintspill.html b/userguide/pampaintspill.html |
||||||
|
--- a/userguide/pampaintspill.html 2021-06-02 12:56:59.575286342 +0200 |
||||||
|
+++ b/userguide/pampaintspill.html 2021-06-02 15:06:31.354767352 +0200 |
||||||
|
@@ -2,12 +2,12 @@ |
||||||
|
<html><head><title>Pampaintspill User Manual</title></head> |
||||||
|
<body> |
||||||
|
<h1>pampaintspill</h1> |
||||||
|
-Updated: 06 March 2021 |
||||||
|
+<p>Updated: 06 March 2021 |
||||||
|
<br> |
||||||
|
-<a href="#index">Table Of Contents</a> |
||||||
|
+<a href="#index">Table Of Contents</a></p> |
||||||
|
|
||||||
|
<h2>NAME</h2> |
||||||
|
-pampaintspill - smoothly spill colors into the background |
||||||
|
+<p>pampaintspill - smoothly spill colors into the background</p> |
||||||
|
|
||||||
|
<h2 id="synopsis">SYNOPSIS</h2> |
||||||
|
|
||||||
|
@@ -17,17 +17,17 @@ pampaintspill - smoothly spill colors in |
||||||
|
[<b>--wrap</b>] [<b>--all</b>] |
||||||
|
[<b>--downsample</b>=<i>number</i>] |
||||||
|
[<b>--power</b>=<i>number</i>] [<i>filename</i>] |
||||||
|
-[<b>-randomseed=</b><i>integer</i>] |
||||||
|
+[<b>-randomseed=</b><i>integer</i>]</p> |
||||||
|
|
||||||
|
|
||||||
|
<p>Minimum unique abbreviations of option are acceptable. You may use |
||||||
|
double hyphens instead of single hyphen to denote options. You may use |
||||||
|
white space in place of the equals sign to separate an option name |
||||||
|
-from its value. |
||||||
|
+from its value.</p> |
||||||
|
|
||||||
|
<h2 id="description">DESCRIPTION</h2> |
||||||
|
|
||||||
|
-<p>This program is part of <a href="index.html">Netpbm</a>. |
||||||
|
+<p>This program is part of <a href="index.html">Netpbm</a>.</p> |
||||||
|
|
||||||
|
<p><b>pampaintspill</b> produces a smooth color gradient from all of the |
||||||
|
non-background-colored pixels in an input image, effectively "spilling |
||||||
|
@@ -38,27 +38,27 @@ paint" onto the background. <b>pampaint |
||||||
|
<li><b>pampaintspill</b> accepts any number of paint |
||||||
|
sources (non-background-colored pixels), which can lie anywhere |
||||||
|
on the canvas. <b>pamgradient</b> accepts exactly |
||||||
|
- four paint sources, one in each corner of the image. |
||||||
|
+ four paint sources, one in each corner of the image.</li> |
||||||
|
|
||||||
|
<li><b>pampaintspill</b> requires an input image while |
||||||
|
<b>pamgradient</b> generates a new image from |
||||||
|
- scratch. |
||||||
|
+ scratch.</li> |
||||||
|
|
||||||
|
<li><b>pampaintspill</b> can produce tileable output and |
||||||
|
can control how tightly the gradient colors bind to their source |
||||||
|
- pixels. |
||||||
|
+ pixels.</li> |
||||||
|
</ul> |
||||||
|
|
||||||
|
<p>Results are generally best when the input image contains just a few, crisp |
||||||
|
spots of color. Use your drawing program's pencil tool — as opposed to a |
||||||
|
-paintbrush or airbrush tool — with a small nib. |
||||||
|
+paintbrush or airbrush tool — with a small nib.</p> |
||||||
|
|
||||||
|
<h2 id="options">OPTIONS</h2> |
||||||
|
|
||||||
|
<p>In addition to the options common to all programs based on libnetpbm |
||||||
|
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> |
||||||
|
Common Options</a>), <b>pampaintspill</b> recognizes the following |
||||||
|
-command line options: |
||||||
|
+command line options:</p> |
||||||
|
|
||||||
|
<dl> |
||||||
|
<dt><b>--bgcolor</b>=<i>color</i></dt> |
||||||
|
@@ -107,42 +107,42 @@ command line options: |
||||||
|
<dd>This is the seed for the random number generator that generates the |
||||||
|
pixels. |
||||||
|
|
||||||
|
- <p>Use this to ensure you get the same image on separate invocations. |
||||||
|
+ <p>Use this to ensure you get the same image on separate invocations.</p> |
||||||
|
|
||||||
|
- <p>This option was new in Netpbm 10.94 (March 2021). |
||||||
|
+ <p>This option was new in Netpbm 10.94 (March 2021).</p> |
||||||
|
</dl> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="seealso">SEE ALSO</h2> |
||||||
|
|
||||||
|
<ul> |
||||||
|
-<li><a href="pamgradient.html"><b>pamgradient</b></a> |
||||||
|
-<li><a href="ppmmake.html"><b>ppmmake</b></a>, |
||||||
|
-<li><a href="ppmrainbow.html"><b>ppmrainbow</b></a>, |
||||||
|
-<li><a href="pgmramp.html"><b>pgmramp</b></a>, |
||||||
|
-<li><a href="ppmpat.html"><b>ppmpat</b></a>, |
||||||
|
-<li><a href="pam.html"><b>pam</b></a> |
||||||
|
+<li><a href="pamgradient.html"><b>pamgradient</b></a></li> |
||||||
|
+<li><a href="ppmmake.html"><b>ppmmake</b></a>,</li> |
||||||
|
+<li><a href="ppmrainbow.html"><b>ppmrainbow</b></a>,</li> |
||||||
|
+<li><a href="pgmramp.html"><b>pgmramp</b></a>,</li> |
||||||
|
+<li><a href="ppmpat.html"><b>ppmpat</b></a>,</li> |
||||||
|
+<li><a href="pam.html"><b>pam</b></a></li> |
||||||
|
</ul> |
||||||
|
|
||||||
|
<h2 id="history">HISTORY</h2> |
||||||
|
|
||||||
|
-<p><b>pampaintspill</b> was new in Netpbm 10.50 (March 2010). |
||||||
|
+<p><b>pampaintspill</b> was new in Netpbm 10.50 (March 2010).</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="copyright">COPYRIGHT</h2> |
||||||
|
|
||||||
|
<p>Copyright © 2010 Scott Pakin, |
||||||
|
-<a href="mailto:scott+pbm@pakin.org"><i>scott+pbm@pakin.org</i></a>. |
||||||
|
+<a href="mailto:scott+pbm@pakin.org"><i>scott+pbm@pakin.org</i></a>.</p> |
||||||
|
|
||||||
|
<h2 id="index">Table Of Contents</h2> |
||||||
|
|
||||||
|
<ul> |
||||||
|
-<li><a href="#synopsis">SYNOPSIS</a> |
||||||
|
-<li><a href="#description">DESCRIPTION</a> |
||||||
|
-<li><a href="#options">OPTIONS</a> |
||||||
|
-<li><a href="#seealso">SEE ALSO</a> |
||||||
|
-<li><a href="#history">HISTORY</a> |
||||||
|
-<li><a href="#copyright">COPYRIGHT</a> |
||||||
|
+<li><a href="#synopsis">SYNOPSIS</a></li> |
||||||
|
+<li><a href="#description">DESCRIPTION</a></li> |
||||||
|
+<li><a href="#options">OPTIONS</a></li> |
||||||
|
+<li><a href="#seealso">SEE ALSO</a></li> |
||||||
|
+<li><a href="#history">HISTORY</a></li> |
||||||
|
+<li><a href="#copyright">COPYRIGHT</a></li> |
||||||
|
</ul> |
||||||
|
|
||||||
|
</body> |
||||||
|
diff -urNp a/userguide/pamrecolor.html b/userguide/pamrecolor.html |
||||||
|
--- a/userguide/pamrecolor.html 2021-06-02 12:56:59.574286333 +0200 |
||||||
|
+++ b/userguide/pamrecolor.html 2021-06-02 15:09:53.837724488 +0200 |
||||||
|
@@ -2,9 +2,9 @@ |
||||||
|
<html><head><title>Pamrecolor User Manual</title></head> |
||||||
|
<body> |
||||||
|
<h1>pamrecolor</h1> |
||||||
|
-Updated: 31 July 2010 |
||||||
|
+<p>Updated: 31 July 2010 |
||||||
|
<br> |
||||||
|
-<a href="#index">Table Of Contents</a> |
||||||
|
+<a href="#index">Table Of Contents</a></p> |
||||||
|
|
||||||
|
<h2>NAME</h2> |
||||||
|
pamrecolor - alter colors without affecting luminance |
||||||
|
@@ -22,15 +22,15 @@ pamrecolor - alter colors without affect |
||||||
|
[<b>-randomseed=</b><i>integer</i>] |
||||||
|
|
||||||
|
[<i>infile</i>] |
||||||
|
- |
||||||
|
+</p> |
||||||
|
|
||||||
|
<p>Minimum unique abbreviation of option is acceptable. You may use double |
||||||
|
hyphens instead of single hyphen to denote options. You may use white |
||||||
|
-space in place of the equals sign to separate an option name from its value. |
||||||
|
+space in place of the equals sign to separate an option name from its value.</p> |
||||||
|
|
||||||
|
<h2 id="description">DESCRIPTION</h2> |
||||||
|
|
||||||
|
-<p>This program is part of <a href="index.html">Netpbm</a>. |
||||||
|
+<p>This program is part of <a href="index.html">Netpbm</a>.</p> |
||||||
|
|
||||||
|
<p><b>pamrecolor</b> changes an image's colors to be as close as |
||||||
|
possible to given target colors but with the constraint that the |
||||||
|
@@ -39,17 +39,17 @@ image will look identical if both are co |
||||||
|
(e.g. with |
||||||
|
<a href="ppmtopgm.html">ppmtopgm</a>). You can have <b>pamrecolor</b> select |
||||||
|
target colors randomly, specify a single hue for the entire image, or take the |
||||||
|
-target colors from a target image. |
||||||
|
+target colors from a target image.</p> |
||||||
|
|
||||||
|
<p>In addition to real Netpbm images, <b>pamrecolor</b> works on pseudo-Netpbm |
||||||
|
images based on arbitrary color spaces. You can define the color space |
||||||
|
-explicitly or choose one of many that <b>pamrecolor</b> knows by name. |
||||||
|
+explicitly or choose one of many that <b>pamrecolor</b> knows by name.</p> |
||||||
|
|
||||||
|
<p>The output is a PAM image on standard output. Options control the |
||||||
|
exact format of the PAM. If you want a PNM (PBM, PGM, or PPM) image, |
||||||
|
use <a href="pamtopnm.html">pamtopnm</a> on the output. There is no |
||||||
|
need to convert if you will use the image as input to a current Netpbm |
||||||
|
-program, but many other programs don't know what a PAM is. |
||||||
|
+program, but many other programs don't know what a PAM is.</p> |
||||||
|
|
||||||
|
|
||||||
|
<h2 id="options">OPTIONS</h2> |
||||||
|
@@ -57,7 +57,7 @@ program, but many other programs don't k |
||||||
|
<p>In addition to the options common to all programs based on libnetpbm |
||||||
|
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> |
||||||
|
Common Options</a>), <b>pamrecolor</b> recognizes the following |
||||||
|
-command line options: |
||||||
|
+command line options:</p> |
||||||
|
|
||||||
|
<dl> |
||||||
|
|
||||||
|
@@ -76,9 +76,9 @@ the raster have different meaning. Many |
||||||
|
images actually use a variation with a different color space. For example, |
||||||
|
<a href="http://www.gimp.org/">GIMP</a> uses sRGB internally and if you |
||||||
|
have GIMP generate a Netpbm image file, it really generates a variation of |
||||||
|
-the format that uses sRGB. |
||||||
|
+the format that uses sRGB.</p> |
||||||
|
|
||||||
|
-<p><b>pamrecolor</b> knows the following color spaces (<i>name</i> values): |
||||||
|
+<p><b>pamrecolor</b> knows the following color spaces (<i>name</i> values):</p> |
||||||
|
|
||||||
|
<dl> |
||||||
|
<dt>adobe</dt> |
||||||
|
@@ -109,7 +109,7 @@ the format that uses sRGB. |
||||||
|
<p>The default is "ntsc" because this is the color space that the Netpbm |
||||||
|
formats and many graphics utilities use. As a counterexample, |
||||||
|
<a href="http://www.gimp.org/">GIMP</a> uses sRGB as its native color |
||||||
|
-space. |
||||||
|
+space.</p> |
||||||
|
|
||||||
|
<p>The luminance values <b>pamrecolor</b> uses for each of the above come from |
||||||
|
Bruce Lindbloom's |
||||||
|
diff -urNp a/userguide/pbmtog3.html b/userguide/pbmtog3.html |
||||||
|
--- a/userguide/pbmtog3.html 2021-06-02 12:56:59.585286434 +0200 |
||||||
|
+++ b/userguide/pbmtog3.html 2021-06-02 14:44:07.715692749 +0200 |
||||||
|
@@ -36,7 +36,7 @@ use those encodings. |
||||||
|
<p>In addition to the options common to all programs based on libnetpbm |
||||||
|
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions"> |
||||||
|
Common Options</a>), <b>pbmtog3</b> recognizes the following |
||||||
|
-command line options: |
||||||
|
+command line options:</p> |
||||||
|
|
||||||
|
<dl> |
||||||
|
<dt><b>-reversebits</b> |
||||||
|
@@ -80,7 +80,7 @@ You cannot specify both. |
||||||
|
<h2 id="history">HISTORY</h2> |
||||||
|
|
||||||
|
<p>Before Netpbm 10.79 (June 2017), there was a different program by the same |
||||||
|
-name in Netpbm, which was written by by Paul Haeberli |
||||||
|
+name in Netpbm, which was written by Paul Haeberli |
||||||
|
<<a href="mailto:paul@manray.sgi.com">paul@manray.sgi.com</a>> in 1989 |
||||||
|
and then modified extensively by others. |
||||||
|
|
||||||
|
diff -urNp a/userguide/ppmtogif.html b/userguide/ppmtogif.html |
||||||
|
--- a/userguide/ppmtogif.html 2021-06-02 12:56:59.574286333 +0200 |
||||||
|
+++ b/userguide/ppmtogif.html 2021-06-02 15:48:19.167930575 +0200 |
||||||
|
@@ -5,17 +5,17 @@ |
||||||
|
|
||||||
|
<h2>NAME</h2> |
||||||
|
|
||||||
|
-ppmtogif - replaced by pamtogif |
||||||
|
- |
||||||
|
-<h2>DESCRIPTION</h2> |
||||||
|
+<p>ppmtogif - replaced by pamtogif</p> |
||||||
|
|
||||||
|
<p>This program is part of <a href="index.html">Netpbm</a>. |
||||||
|
|
||||||
|
+<h2>SYNOPSIS</h2> |
||||||
|
<p><b>ppmtogif</b> was replaced in Netpbm 10.37 (December 2006) by |
||||||
|
<b><a href="pamtogif.html">pamtogif</a></b>. |
||||||
|
|
||||||
|
<p><b>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>. |
||||||
|
|
||||||
|
+<h2>DESCRIPTION</h2> |
||||||
|
<p>One way <b>pamtogif</b> is not backward compatible with <b>ppmtogif</b> |
||||||
|
is that to specify a transparency (alpha) mask with <b>ppmtogif</b>, you |
||||||
|
supply the transparency as a separate pseudo-PGM image and use the |
@ -0,0 +1,11 @@ |
|||||||
|
diff -up netpbm-10.47.04/buildtools/endiangen.c.multilib netpbm-10.47.04/buildtools/endiangen.c |
||||||
|
--- netpbm-10.47.04/buildtools/endiangen.c.multilib 2009-10-21 13:38:54.000000000 +0200 |
||||||
|
+++ netpbm-10.47.04/buildtools/endiangen.c 2009-10-21 14:35:58.000000000 +0200 |
||||||
|
@@ -87,7 +87,6 @@ main(int argc, char **argv) { |
||||||
|
byteOrder() == ENDIAN_LITTLE ? "LITTLE_ENDIAN" : "BIG_ENDIAN"); |
||||||
|
printf("#endif\n"); |
||||||
|
printf("\n"); |
||||||
|
- printf("#define BITS_PER_LONG %u\n", bitsPerLong()); |
||||||
|
|
||||||
|
return 0; |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
diff -up netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c |
||||||
|
--- netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c.pamtojpeg2kfix 2010-04-27 15:47:10.000000000 +0200 |
||||||
|
+++ netpbm-10.47.12/converter/other/jpeg2000/pamtojpeg2k.c 2010-05-03 15:37:49.934269588 +0200 |
||||||
|
@@ -532,7 +532,5 @@ main(int argc, char **argv) |
||||||
|
|
||||||
|
pm_close(ifP); |
||||||
|
|
||||||
|
- pm_close(stdout); |
||||||
|
- |
||||||
|
return 0; |
||||||
|
} |
@ -0,0 +1,57 @@ |
|||||||
|
diff -urNp old/editor/ppmfade new/editor/ppmfade |
||||||
|
--- old/editor/ppmfade 2017-11-01 11:47:49.869611402 +0100 |
||||||
|
+++ new/editor/ppmfade 2017-11-01 11:53:25.524973342 +0100 |
||||||
|
@@ -84,7 +84,7 @@ for ($n = 0; $n < @ARGV; $n++) { |
||||||
|
if (-e $first_file) { |
||||||
|
} else { |
||||||
|
print "I can't find first file '$first_file'\n"; |
||||||
|
- exit 20; |
||||||
|
+ exit 1; |
||||||
|
} |
||||||
|
} elsif ($ARGV[$n] eq "-l") { |
||||||
|
$n++; |
||||||
|
@@ -92,7 +92,7 @@ for ($n = 0; $n < @ARGV; $n++) { |
||||||
|
if (-e $last_file) { |
||||||
|
} else { |
||||||
|
print "I can't find last file '$last_file'\n"; |
||||||
|
- exit 20; |
||||||
|
+ exit 1; |
||||||
|
} |
||||||
|
} elsif ($ARGV[$n] eq "-base") { |
||||||
|
$n++; |
||||||
|
@@ -113,9 +113,12 @@ for ($n = 0; $n < @ARGV; $n++) { |
||||||
|
$mode = $BLOCK; |
||||||
|
} elsif ("$ARGV[$n]" eq "-mix") { |
||||||
|
$mode = $MIX; |
||||||
|
+ } elsif ($ARGV[$n] eq "-help" || $ARGV[$n] eq "--help" || $ARGV[$n] eq "-h") { |
||||||
|
+ print "ppmfade: Use 'man ppmfade' for help.\n"; |
||||||
|
+ exit 1; |
||||||
|
} else { |
||||||
|
print "Unknown argument: $ARGV[$n]\n"; |
||||||
|
- exit 100; |
||||||
|
+ exit 1; |
||||||
|
} |
||||||
|
} |
||||||
|
# |
||||||
|
@@ -134,18 +137,18 @@ if ($first_file ne "undefined") { |
||||||
|
$width = $1; $height = $2; |
||||||
|
} else { |
||||||
|
print("Unrecognized results from pnmfile on $first_file.\n"); |
||||||
|
- exit(50); |
||||||
|
+ exit 1; |
||||||
|
} |
||||||
|
} elsif ($last_file ne "undefined") { |
||||||
|
if ((`pnmfile $last_file` =~ m{\b(\d+)\sby\s(\d+)} )) { |
||||||
|
$width = $1; $height = $2; |
||||||
|
} else { |
||||||
|
print("Unrecognized results from pnmfile on $first_file.\n"); |
||||||
|
- exit(50); |
||||||
|
+ exit 1; |
||||||
|
} |
||||||
|
} else { |
||||||
|
print("ppmfade: You must specify -f or -l (or both)\n"); |
||||||
|
- exit(90); |
||||||
|
+ exit 1; |
||||||
|
} |
||||||
|
|
||||||
|
print("Frames are " . $width . "W x " . $height . "H\n"); |
@ -0,0 +1,28 @@ |
|||||||
|
diff --git a/buildtools/makeman b/buildtools/makeman |
||||||
|
index 196dbd0..d73ab76 100755 |
||||||
|
--- a/buildtools/makeman |
||||||
|
+++ b/buildtools/makeman |
||||||
|
@@ -1,4 +1,4 @@ |
||||||
|
-#!/usr/bin/python |
||||||
|
+#!/usr/bin/python3 |
||||||
|
# |
||||||
|
# makeman -- compile netpbm's stereotyped HTML to troff markup |
||||||
|
# |
||||||
|
diff --git a/buildtools/manpage.mk b/buildtools/manpage.mk |
||||||
|
index ef1a103..c1badb8 100644 |
||||||
|
--- a/buildtools/manpage.mk |
||||||
|
+++ b/buildtools/manpage.mk |
||||||
|
@@ -126,11 +126,11 @@ reportman: |
||||||
|
# to standard error. |
||||||
|
%.1 %.3 %.5: $(USERGUIDE)/%.html |
||||||
|
@echo Converting $< to $@ |
||||||
|
- @python $(MAKEMAN) -d $(USERGUIDE) $(<F) |
||||||
|
+ @python3 $(MAKEMAN) -d $(USERGUIDE) $(<F) |
||||||
|
|
||||||
|
netpbm.1: $(USERGUIDE)/index.html |
||||||
|
@echo Converting $< to $@ |
||||||
|
- @python $(MAKEMAN) -d $(USERGUIDE) index.html |
||||||
|
+ @python3 $(MAKEMAN) -d $(USERGUIDE) index.html |
||||||
|
@mv index.1 netpbm.1 |
||||||
|
|
||||||
|
# Generate man pages |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,267 @@ |
|||||||
|
diff --git a/editor/ppmfade b/editor/ppmfade |
||||||
|
index dcd7bf2..5091651 100755 |
||||||
|
--- a/editor/ppmfade |
||||||
|
+++ b/editor/ppmfade |
||||||
|
@@ -40,6 +40,7 @@ exec perl -w -x -S -- "$0" "$@" |
||||||
|
# |
||||||
|
############################################################################## |
||||||
|
use strict; |
||||||
|
+use File::Temp "tempdir"; |
||||||
|
|
||||||
|
sub doVersionHack($) { |
||||||
|
my ($argvR) = @_; |
||||||
|
@@ -149,20 +150,26 @@ if ($first_file ne "undefined") { |
||||||
|
|
||||||
|
print("Frames are " . $width . "W x " . $height . "H\n"); |
||||||
|
|
||||||
|
+# |
||||||
|
+# We create a tmp-directory right here |
||||||
|
+# |
||||||
|
+my $tmpdir = tempdir("ppmfade.XXXXXX", CLEANUP => 1); |
||||||
|
+ |
||||||
|
+ |
||||||
|
if ($first_file eq "undefined") { |
||||||
|
print "Fading from black to "; |
||||||
|
- system("ppmmake \\#000 $width $height >junk1$$.ppm"); |
||||||
|
+ system("ppmmake \\#000 $width $height >$tmpdir/junk1$$.ppm"); |
||||||
|
} else { |
||||||
|
print "Fading from $first_file to "; |
||||||
|
- system("cp", $first_file, "junk1$$.ppm"); |
||||||
|
+ system("cp", $first_file, "$tmpdir/junk1$$.ppm"); |
||||||
|
} |
||||||
|
|
||||||
|
if ($last_file eq "undefined") { |
||||||
|
print "black.\n"; |
||||||
|
- system("ppmmake \\#000 $width $height >junk2$$.ppm"); |
||||||
|
+ system("ppmmake \\#000 $width $height >$tmpdir/junk2$$.ppm"); |
||||||
|
} else { |
||||||
|
print "$last_file\n"; |
||||||
|
- system("cp", $last_file, "junk2$$.ppm"); |
||||||
|
+ system("cp", $last_file, "$tmpdir/junk2$$.ppm"); |
||||||
|
} |
||||||
|
|
||||||
|
# |
||||||
|
@@ -170,14 +177,14 @@ if ($last_file eq "undefined") { |
||||||
|
# |
||||||
|
|
||||||
|
# Here's what our temporary files are: |
||||||
|
-# junk1$$.ppm: The original (fade-from) image |
||||||
|
-# junk2$$.ppm: The target (fade-from) image |
||||||
|
-# junk3$$.ppm: The frame of the fade for the current iteration of the |
||||||
|
-# the for loop. |
||||||
|
-# junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate |
||||||
|
-# image to another, this is the first frame of that |
||||||
|
-# sequence. |
||||||
|
-# junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence |
||||||
|
+# $tmpdir/junk1$$.ppm: The original (fade-from) image |
||||||
|
+# $tmpdir/junk2$$.ppm: The target (fade-from) image |
||||||
|
+# $tmpdir/junk3$$.ppm: The frame of the fade for the current iteration of the |
||||||
|
+# the for loop. |
||||||
|
+# $tmpdir/junk1a$$.ppm: If the fade involves a ppmmix sequence from one intermediate |
||||||
|
+# image to another, this is the first frame of that |
||||||
|
+# sequence. |
||||||
|
+# $tmpdir/junk2a$$.ppm: This is the last frame of the above-mentioned ppmmix sequence |
||||||
|
|
||||||
|
my $i; # Frame number |
||||||
|
for ($i = 1; $i <= $nframes; $i++) { |
||||||
|
@@ -185,147 +192,147 @@ for ($i = 1; $i <= $nframes; $i++) { |
||||||
|
if ($mode eq $SPREAD) { |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = $spline20[$i] * 100; |
||||||
|
- system("ppmspread $n junk1$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n; |
||||||
|
$n = $spline20[$i] * 100; |
||||||
|
- system("ppmspread $n junk1$$.ppm >junk1a$$.ppm"); |
||||||
|
+ system("ppmspread $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm"); |
||||||
|
$n = (1-$spline20[$i-10]) * 100; |
||||||
|
- system("ppmspread $n junk2$$.ppm >junk2a$$.ppm"); |
||||||
|
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); |
||||||
|
$n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = (1-$spline20[$i-10])*100; |
||||||
|
- system("ppmspread $n junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmspread $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $SHIFT) { |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = $spline20[$i] * 100; |
||||||
|
- system("ppmshift $n junk1$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n; |
||||||
|
$n = $spline20[$i] * 100; |
||||||
|
- system("ppmshift $n junk1$$.ppm >junk1a$$.ppm"); |
||||||
|
+ system("ppmshift $n $tmpdir/junk1$$.ppm >$tmpdir/junk1a$$.ppm"); |
||||||
|
$n = (1-$spline20[$i-10])*100; |
||||||
|
- system("ppmshift $n junk2$$.ppm >junk2a$$.ppm"); |
||||||
|
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk2a$$.ppm"); |
||||||
|
$n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = (1-$spline20[$i-10]) * 100; |
||||||
|
- system("ppmshift $n junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmshift $n $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $RELIEF) { |
||||||
|
if ($i == 1) { |
||||||
|
- system("ppmrelief junk1$$.ppm >junk1r$$.ppm"); |
||||||
|
+ system("ppmrelief $tmpdir/junk1$$.ppm >$tmpdir/junk1r$$.ppm"); |
||||||
|
} |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = $spline10[$i]; |
||||||
|
- system("ppmmix $n junk1$$.ppm junk1r$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1r$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1r$$.ppm junk2r$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1r$$.ppm $tmpdir/junk2r$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = $spline10[$i-20]; |
||||||
|
- system("ppmmix $n junk2r$$.ppm junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk2r$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
if ($i == 10) { |
||||||
|
- system("ppmrelief junk2$$.ppm >junk2r$$.ppm"); |
||||||
|
+ system("ppmrelief $tmpdir/junk2$$.ppm >$tmpdir/junk2r$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $OIL) { |
||||||
|
if ($i == 1) { |
||||||
|
- system("ppmtopgm junk1$$.ppm | pgmoil >junko$$.ppm"); |
||||||
|
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . |
||||||
|
- ">junk1o$$.ppm"); |
||||||
|
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); |
||||||
|
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . |
||||||
|
+ ">$tmpdir/junk1o$$.ppm"); |
||||||
|
} |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = $spline10[$i]; |
||||||
|
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = $spline10[$i-20]; |
||||||
|
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
if ($i == 10) { |
||||||
|
- system("ppmtopgm junk2$$.ppm | pgmoil >junko$$.ppm"); |
||||||
|
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . |
||||||
|
- ">junk2o$$.ppm"); |
||||||
|
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmoil >$tmpdir/junko$$.ppm"); |
||||||
|
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . |
||||||
|
+ ">$tmpdir/junk2o$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $EDGE) { |
||||||
|
if ($i == 1) { |
||||||
|
- system("ppmtopgm junk1$$.ppm | pgmedge >junko$$.ppm"); |
||||||
|
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . |
||||||
|
- ">junk1o$$.ppm"); |
||||||
|
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); |
||||||
|
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . |
||||||
|
+ ">$tmpdir/junk1o$$.ppm"); |
||||||
|
} |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = $spline10[$i]; |
||||||
|
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = $spline10[$i-20]; |
||||||
|
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
if ($i == 10) { |
||||||
|
- system("ppmtopgm junk2$$.ppm | pgmedge >junko$$.ppm"); |
||||||
|
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . |
||||||
|
- ">junk2o$$.ppm"); |
||||||
|
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmedge >$tmpdir/junko$$.ppm"); |
||||||
|
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . |
||||||
|
+ ">$tmpdir/junk2o$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $BENTLEY) { |
||||||
|
if ($i == 1) { |
||||||
|
- system("ppmtopgm junk1$$.ppm | pgmbentley >junko$$.ppm"); |
||||||
|
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . |
||||||
|
- ">junk1o$$.ppm"); |
||||||
|
+ system("ppmtopgm $tmpdir/junk1$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); |
||||||
|
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . |
||||||
|
+ ">$tmpdir/junk1o$$.ppm"); |
||||||
|
} |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = $spline10[$i]; |
||||||
|
- system("ppmmix $n junk1$$.ppm junk1o$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1$$.ppm $tmpdir/junk1o$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1o$$.ppm junk2o$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1o$$.ppm $tmpdir/junk2o$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = $spline10[$i-20]; |
||||||
|
- system("ppmmix $n junk2o$$.ppm junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk2o$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
if ($i == 10) { |
||||||
|
- system("ppmtopgm junk2$$.ppm | pgmbentley >junko$$.ppm"); |
||||||
|
- system("rgb3toppm junko$$.ppm junko$$.ppm junko$$.ppm " . |
||||||
|
- ">junk2o$$.ppm"); |
||||||
|
+ system("ppmtopgm $tmpdir/junk2$$.ppm | pgmbentley >$tmpdir/junko$$.ppm"); |
||||||
|
+ system("rgb3toppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm $tmpdir/junko$$.ppm " . |
||||||
|
+ ">$tmpdir/junk2o$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $BLOCK) { |
||||||
|
if ($i <= 10) { |
||||||
|
my $n = 1 - 1.9*$spline20[$i]; |
||||||
|
- system("pamscale $n junk1$$.ppm | " . |
||||||
|
- "pamscale -width $width -height $height >junk3$$.ppm"); |
||||||
|
+ system("pamscale $n $tmpdir/junk1$$.ppm | " . |
||||||
|
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm"); |
||||||
|
} elsif ($i <= 20) { |
||||||
|
my $n = $spline10[$i-10]; |
||||||
|
- system("ppmmix $n junk1a$$.ppm junk2a$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $n $tmpdir/junk1a$$.ppm $tmpdir/junk2a$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
my $n = 1 - 1.9*$spline20[31-$i]; |
||||||
|
- system("pamscale $n junk2$$.ppm | " . |
||||||
|
- "pamscale -width $width -height $height >junk3$$.ppm"); |
||||||
|
+ system("pamscale $n $tmpdir/junk2$$.ppm | " . |
||||||
|
+ "pamscale -width $width -height $height >$tmpdir/junk3$$.ppm"); |
||||||
|
} |
||||||
|
if ($i == 10) { |
||||||
|
- system("cp", "junk3$$.ppm", "junk1a$$.ppm"); |
||||||
|
- system("pamscale $n junk2$$.ppm | " . |
||||||
|
- "pamscale -width $width -height $height >junk2a$$.ppm"); |
||||||
|
+ system("cp", "$tmpdir/junk3$$.ppm", "$tmpdir/junk1a$$.ppm"); |
||||||
|
+ system("pamscale $n $tmpdir/junk2$$.ppm | " . |
||||||
|
+ "pamscale -width $width -height $height >$tmpdir/junk2a$$.ppm"); |
||||||
|
} |
||||||
|
} elsif ($mode eq $MIX) { |
||||||
|
my $fade_factor = sqrt(1/($nframes-$i+1)); |
||||||
|
- system("ppmmix $fade_factor junk1$$.ppm junk2$$.ppm >junk3$$.ppm"); |
||||||
|
+ system("ppmmix $fade_factor $tmpdir/junk1$$.ppm $tmpdir/junk2$$.ppm >$tmpdir/junk3$$.ppm"); |
||||||
|
} else { |
||||||
|
print("Internal error: impossible mode value '$mode'\n"); |
||||||
|
} |
||||||
|
|
||||||
|
my $outfile = sprintf("%s.%04d.ppm", $base_name, $i); |
||||||
|
- system("cp", "junk3$$.ppm", $outfile); |
||||||
|
+ system("cp", "$tmpdir/junk3$$.ppm", $outfile); |
||||||
|
} |
||||||
|
|
||||||
|
# |
||||||
|
# Clean up shop. |
||||||
|
# |
||||||
|
-system("rm junk*$$.ppm"); |
||||||
|
+system("rm $tmpdir/junk*$$.ppm"); |
||||||
|
|
||||||
|
exit(0); |
@ -0,0 +1,19 @@ |
|||||||
|
diff -urNp a/converter/ppm/winicontoppm.c b/converter/ppm/winicontoppm.c |
||||||
|
--- a/converter/ppm/winicontoppm.c 2021-08-16 15:01:10.340119568 +0200 |
||||||
|
+++ b/converter/ppm/winicontoppm.c 2021-08-16 15:02:02.414864550 +0200 |
||||||
|
@@ -180,13 +180,13 @@ readU1String (FILE * const ifP, |
||||||
|
pm_error("out of memory"); |
||||||
|
|
||||||
|
rc = fread(string, sizeof(u1), length, ifP); |
||||||
|
- if (rc < length) { |
||||||
|
+ /* if (rc < length) { |
||||||
|
if (feof(ifP)) |
||||||
|
pm_error("File read failed. Premature end of file"); |
||||||
|
else |
||||||
|
pm_error("File read failed. Errno=%d (%s)", |
||||||
|
errno, strerror(errno)); |
||||||
|
- } |
||||||
|
+ }*/ |
||||||
|
|
||||||
|
string[length] = 0; |
||||||
|
fileOffset += length * sizeof(u1); |
@ -0,0 +1,21 @@ |
|||||||
|
diff -up netpbm-10.47.05/converter/other/fiasco/config.h.time netpbm-10.47.05/converter/other/fiasco/config.h |
||||||
|
--- netpbm-10.47.05/converter/other/fiasco/config.h.time 2009-12-10 08:34:36.000000000 +0100 |
||||||
|
+++ netpbm-10.47.05/converter/other/fiasco/config.h 2009-12-10 08:43:54.000000000 +0100 |
||||||
|
@@ -19,7 +19,7 @@ |
||||||
|
#define STDC_HEADERS 1 |
||||||
|
|
||||||
|
/* Define if you can safely include both <sys/time.h> and <time.h>. */ |
||||||
|
-#define TIME_WITH_SYS_TIME 1 |
||||||
|
+/* #undef TIME_WITH_SYS_TIME */ |
||||||
|
|
||||||
|
/* Define if the X Window System is missing or not being used. */ |
||||||
|
#define X_DISPLAY_MISSING 1 |
||||||
|
@@ -75,7 +75,7 @@ |
||||||
|
#define HAVE_STRING_H 1 |
||||||
|
|
||||||
|
/* Define if you have the <sys/time.h> header file. */ |
||||||
|
-#define HAVE_SYS_TIME_H 1 |
||||||
|
+/* #undef HAVE_SYS_TIME_H */ |
||||||
|
|
||||||
|
/* Define if you have the <unistd.h> header file. */ |
||||||
|
#define HAVE_UNISTD_H 1 |
@ -0,0 +1,11 @@ |
|||||||
|
--- netpbm-10.35/converter/other/xwdtopnm.c.xwdfix 2006-09-18 13:24:50.000000000 +0200 |
||||||
|
+++ netpbm-10.35/converter/other/xwdtopnm.c 2006-09-18 13:27:26.000000000 +0200 |
||||||
|
@@ -945,7 +945,7 @@ getpix(pixelReader * const rdrP) { |
||||||
|
unsigned long const bitsToTakeMask = lsbmask[nBitsToTake]; |
||||||
|
/* E.g. if nbitsToTake is 4, this is 0x0000000F */ |
||||||
|
|
||||||
|
- unsigned long bitsToTake; |
||||||
|
+ unsigned int bitsToTake; |
||||||
|
/* The actual bits we take, in the 'nBitsToTake' low bits */ |
||||||
|
|
||||||
|
assert(nBitsToTake <= 32); |
Loading…
Reference in new issue