Bug#1094143: pnmcrop.1: Some remarks and a patch with editorial changes for this man page
Bjarni Ingi Gislason
bjarniig at simnet.is
Sat Jan 25 00:42:37 GMT 2025
Package: netpbm
Version: 2:11.08.02-1
Severity: minor
Tags: patch
* What led up to the situation?
Checking for defects with a new version
test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z < "man page"
[Use "groff -e ' $' <file>" to find obvious trailing spaces.]
["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).
[The fate of "test-nroff" was decided in groff bug #55941.]
* What was the outcome of this action?
troff:<stdin>:11: warning: name 'UN' not defined
an.tmac:<stdin>:73: style: 2 leading space(s) on input line
troff:<stdin>:109: warning: trailing space in the line
an.tmac:<stdin>:111: style: 1 leading space(s) on input line
an.tmac:<stdin>:264: style: 2 leading space(s) on input line
an.tmac:<stdin>:276: style: 6 leading space(s) on input line
an.tmac:<stdin>:282: style: 6 leading space(s) on input line
an.tmac:<stdin>:283: style: 6 leading space(s) on input line
an.tmac:<stdin>:284: style: 6 leading space(s) on input line
an.tmac:<stdin>:285: style: 6 leading space(s) on input line
an.tmac:<stdin>:288: style: 8 leading space(s) on input line
an.tmac:<stdin>:289: style: 8 leading space(s) on input line
an.tmac:<stdin>:290: style: 8 leading space(s) on input line
an.tmac:<stdin>:291: style: 8 leading space(s) on input line
an.tmac:<stdin>:292: style: 8 leading space(s) on input line
an.tmac:<stdin>:295: style: 6 leading space(s) on input line
an.tmac:<stdin>:296: style: 6 leading space(s) on input line
an.tmac:<stdin>:297: style: 6 leading space(s) on input line
an.tmac:<stdin>:298: style: 6 leading space(s) on input line
an.tmac:<stdin>:301: style: 8 leading space(s) on input line
an.tmac:<stdin>:302: style: 8 leading space(s) on input line
an.tmac:<stdin>:303: style: 8 leading space(s) on input line
an.tmac:<stdin>:304: style: 8 leading space(s) on input line
an.tmac:<stdin>:310: style: 6 leading space(s) on input line
an.tmac:<stdin>:311: style: 6 leading space(s) on input line
an.tmac:<stdin>:312: style: 6 leading space(s) on input line
an.tmac:<stdin>:313: style: 6 leading space(s) on input line
an.tmac:<stdin>:314: style: 6 leading space(s) on input line
an.tmac:<stdin>:315: style: 6 leading space(s) on input line
an.tmac:<stdin>:316: style: 6 leading space(s) on input line
an.tmac:<stdin>:317: style: 6 leading space(s) on input line
an.tmac:<stdin>:318: style: 6 leading space(s) on input line
an.tmac:<stdin>:319: style: 6 leading space(s) on input line
an.tmac:<stdin>:320: style: 6 leading space(s) on input line
an.tmac:<stdin>:322: style: 6 leading space(s) on input line
an.tmac:<stdin>:323: style: 6 leading space(s) on input line
an.tmac:<stdin>:324: style: 6 leading space(s) on input line
an.tmac:<stdin>:325: style: 6 leading space(s) on input line
an.tmac:<stdin>:326: style: 6 leading space(s) on input line
an.tmac:<stdin>:327: style: 6 leading space(s) on input line
an.tmac:<stdin>:328: style: 6 leading space(s) on input line
an.tmac:<stdin>:329: style: 6 leading space(s) on input line
an.tmac:<stdin>:355: style: 4 leading space(s) on input line
an.tmac:<stdin>:356: style: 4 leading space(s) on input line
an.tmac:<stdin>:375: style: 3 leading space(s) on input line
an.tmac:<stdin>:376: style: 3 leading space(s) on input line
troff:<stdin>:376: warning: trailing space in the line
an.tmac:<stdin>:381: style: 3 leading space(s) on input line
an.tmac:<stdin>:382: style: 3 leading space(s) on input line
an.tmac:<stdin>:386: style: 3 leading space(s) on input line
troff:<stdin>:427: warning: name 'PP.do' not defined (possibly missing space after 'PP')
* What outcome did you expect instead?
No output (no warnings).
-.-
General remarks and further material, if a diff-file exist, are in the
attachments.
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.12.9-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages netpbm depends on:
ii libc6 2.40-5
ii libjpeg62-turbo 1:2.1.5-3+b1
ii libnetpbm11t64 2:11.08.02-1
ii libpng16-16t64 1.6.44-3
ii libtiff6 4.5.1+git230720-5
ii libx11-6 2:1.8.10-2
ii libxml2 2.12.7+dfsg+really2.9.14-0.2+b1
ii zlib1g 1:1.3.dfsg+really1.3.1-1+b1
Versions of packages netpbm recommends:
ii ghostscript 10.04.0~dfsg-2+b1
netpbm suggests no packages.
-- no debconf information
-------------- next part --------------
Input file is pnmcrop.1
Output from "mandoc -T lint pnmcrop.1": (shortened list)
2 skipping paragraph macro: PP after SH
1 skipping paragraph macro: PP empty
1 skipping unknown macro: .UN synopsis
2 whitespace at end of input line
-.-.
Output from "test-groff -mandoc -t -ww -z pnmcrop.1": (shortened list)
1 name 'UN' not defined
2 trailing space in the line
-.-.
Lines containing '\c' (' \c' does not make sense):
55:.BR "Netpbm" (1)\c
411:.BR "pamcut" (1)\c
413:.BR "pamfile" (1)\c
415:.BR "pnm" (1)\c
-.-
Test nr. 4:
Remove space characters (whitespace) at the end of lines.
Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".
Number of lines affected is
5
-.-.
Change - to \- if it shall be printed as a minus sign.
pnmcrop.1:345: 0 +7 -20 -10 200 300 rgb-255:10/0/255 0.0
-.-.
Remove space in the first column, if not indented.
Use ".in +<number>n" and ".in" to end it; ".nf" and ".fi" to end
it, for an extra indention.
pnmcrop.1:73: \fB-top\fP, and \fB-bottom\fP options.
pnmcrop.1:111: Common Options
pnmcrop.1:264: background (blank), a case where cropping doesn't make much sense.
pnmcrop.1:276: \fB-margin\fP has no effect.
pnmcrop.1:282: If you crop both vertically and horizontally (the default), it is a
pnmcrop.1:283: single pixel. If you crop only vertically, a single row, of the
pnmcrop.1:284: original width. If you crop only horizontally, it is a single column,
pnmcrop.1:285: of the original height.
pnmcrop.1:288: result of cropping the background from an image that is entirely
pnmcrop.1:289: background would be an image with no pixels at all. But such a thing
pnmcrop.1:290: does not exist in the Netpbm formats (and you probably wouldn't want
pnmcrop.1:291: it anyway, because whoever processes this output may not tolerate
pnmcrop.1:292: that).
pnmcrop.1:295: \fB-closeness\fP, so it matters which row, column, or pixel remains.
pnmcrop.1:296: If you crop on the top and not bottom, it is the last row that remains.
pnmcrop.1:297: If you crop on both the top and bottom, it is the middle row that
pnmcrop.1:298: remains. The other cases follow similarly.
pnmcrop.1:301: entirely of the margins; there is no single row, column, or pixel
pnmcrop.1:302: between the margins. So with \fB-margin\fP, the incongruity
pnmcrop.1:303: mentioned above does not exist. But before Netpbm 10.92 (September
pnmcrop.1:304: 2020), \fB-margin\fP was ignored with \fB-blank-image=minimize\fP.
pnmcrop.1:310: possible, and therefore is valid only with \fB-reportfull\fP or
pnmcrop.1:311: \fB-reportsize\fP. The cropping that this selects is a crop of the
pnmcrop.1:312: entire image on every side on which you request cropping. So if you
pnmcrop.1:313: request cropping only on the left, of a 600 pixel wide image, this
pnmcrop.1:314: selects a cropping of 600 pixels from the left and none from the other
pnmcrop.1:315: three sides. Note that were this cropping actually applied, this would
pnmcrop.1:316: produce an image with no pixels, which is not a valid Netpbm image. But
pnmcrop.1:317: it gets stranger still if you request cropping on both the right and the
pnmcrop.1:318: left. In that case, the cropping selected is a cropping of 600 pixels
pnmcrop.1:319: from both the right and left sides, which would leave a negative-width
pnmcrop.1:320: image.
pnmcrop.1:322: This is actually useful if you are trying to find a single set of
pnmcrop.1:323: cropping parameters to crop a stream of images. To do this, you could
pnmcrop.1:324: do a pass with \fB-reportsize\fP and \fB-blank-image=maxcrop\fP to
pnmcrop.1:325: compute the maximum crop for each edge, and then use those numbers in
pnmcrop.1:326: \fB-crop\fIxxx\fP\fP options on a \fBpamcut\fP pass to do the crop.
pnmcrop.1:327: In this scenario, any all-background (blank) images would have no effect
pnmcrop.1:328: on the cropping parameters you compute. If you do this, you must give
pnmcrop.1:329: special consideration to a stream with nothing but blank images.
pnmcrop.1:355: a signed decimal number, where + means pad and - means crop. If there
pnmcrop.1:356: would be no change, this is unsigned zero.
pnmcrop.1:375: 'rgb-255:10/0/255' (This is a format recognized by
pnmcrop.1:376: the
pnmcrop.1:381: library routine). The maxval in the color specification is the maxval of
pnmcrop.1:382: the image.
pnmcrop.1:386: used, in floating point decimal.
-.-.
Test nr. 24:
Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.
9:pnmcrop - crop a Netpbm image
16:[\fB-white\fP
17:|\fB-black\fP
18:|\fB-sides\fP
19:|\fB-bg-color=\fP\fIcolor\fP
20:|\fB-bg-corner=\fP{
24:[\fB-left\fP]
26:[\fB-right\fP]
28:[\fB-top\fP]
30:[\fB-bottom\fP]
32:[\fB-margin=\fP\fIpixels\fP]
34:[\fB-closeness=\fP\fIcloseness_percent\fP]
36:[\fB-borderfile=\fP\fIfilename\fP]
38:[\fB-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}]
40:{[\fB-reportfull\fP]|[\fB-reportsize\fP]}
42:[\fB-verbose\fP]
66:with the \fB-white\fP and \fB-black\fP options or make
68:with \fB-sides\fP.
72:only specific borders with the \fB-left\fP, \fB-right\fP,
73: \fB-top\fP, and \fB-bottom\fP options.
78:bottom and you say to crop the bottom (\fB-bottom\fP). You may have expected
83:edges being cropped, use \fB-bg-corner\fP.
86:If you want to leave some border, use the \fB-margin\fP option. It
109:(most notably \fB-quiet\fP, see
118:\fB-white\fP
122:You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
123:\fB-bg-color\fP, and \fB-bg-corner\fP.
126:\fB-black\fP
130:You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
131:\fB-bg-color\fP, and \fB-bg-corner\fP.
134:\fB-bg-color=\fP\fIcolor\fP
135:This tells \fBpnmcrop\fP what color is the background - it will crop
142:You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
143:\fB-bg-color\fP, and \fB-bg-corner\fP.
148:\fB-sides\fP
161:The \fB-sides\fP option slows \fBpnmcrop\fP down, as it reads the
163:to three times that it would read it without \fB-sides\fP.
165:You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
166:\fB-bg-color\fP, and \fB-bg-corner\fP.
169:\fB-bg-corner=\fP{\fBtopleft\fP|\fBtopright\fP|\fBbottomleft\fP|\fBbottomright\fP
174:You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
175:\fB-bg-color\fP, and \fB-bg-corner\fP.
180:\fB-left\fP
184:\fB-right\fP
188:\fB-top\fP
192:\fB-bottom\fP
196:\fB-margin=\fP\fIpixels\fP
203:\fB-closeness=\fP\fIcloseness_percent\fP
212:background color and if you specify an appropriate \fB-closeness\fP value, it
216:\fB-borderfile\fP.
225:\fB-borderfile=\fP\fIfilename\fP
235:\fB-margin\fP to add borders, the color of those borders is the background
246:image as the \fB-borderfile\fP image, but the original speckled version as
262:\fB-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}
276: \fB-margin\fP has no effect.
295: \fB-closeness\fP, so it matters which row, column, or pixel remains.
300:If you specify a margin (\fB-margin\fP), the output image consists
302: between the margins. So with \fB-margin\fP, the incongruity
304: 2020), \fB-margin\fP was ignored with \fB-blank-image=minimize\fP.
310: possible, and therefore is valid only with \fB-reportfull\fP or
311: \fB-reportsize\fP. The cropping that this selects is a crop of the
324: do a pass with \fB-reportsize\fP and \fB-blank-image=maxcrop\fP to
326: \fB-crop\fIxxx\fP\fP options on a \fBpamcut\fP pass to do the crop.
333:\fB-margin\fP is always ignored when the image is all background.
338:\fB-reportfull\fP
345: 0 +7 -20 -10 200 300 rgb-255:10/0/255 0.0
355: a signed decimal number, where + means pad and - means crop. If there
385:The closeness value (see \fB-closeness\fP option) \fBpnmcrop\fP
389:You cannot use \fB-borderfile\fP together with this option.
394:\fB-reportsize\fP
395:This is like \fB-reportfull\fP, but reports only the left, right, top,
398:You cannot use \fB-borderfile\fP together with this option.
403:\fB-verbose\fP
-.-.
Add a comma (or \&) after "e.g." and "i.e.", or use English words
(man-pages(7)).
Abbreviation points should be protected against being interpreted as
an end of sentence, if they are not, and that independent of the
current place on the line.
259:(i.e. the corners of the image don't have a common color).
-.-.
Use \(en (en-dash) for a dash at the beginning of a line,
or between space characters,
not a minus (\-) or a hyphen (-), except in the NAME section.
pnmcrop.1:9:pnmcrop - crop a Netpbm image
pnmcrop.1:135:This tells \fBpnmcrop\fP what color is the background - it will crop
pnmcrop.1:355: a signed decimal number, where + means pad and - means crop. If there
-.-.
Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ":
troff:<stdin>:11: warning: name 'UN' not defined
an.tmac:<stdin>:73: style: 2 leading space(s) on input line
troff:<stdin>:109: warning: trailing space in the line
an.tmac:<stdin>:111: style: 1 leading space(s) on input line
an.tmac:<stdin>:264: style: 2 leading space(s) on input line
an.tmac:<stdin>:276: style: 6 leading space(s) on input line
an.tmac:<stdin>:282: style: 6 leading space(s) on input line
an.tmac:<stdin>:283: style: 6 leading space(s) on input line
an.tmac:<stdin>:284: style: 6 leading space(s) on input line
an.tmac:<stdin>:285: style: 6 leading space(s) on input line
an.tmac:<stdin>:288: style: 8 leading space(s) on input line
an.tmac:<stdin>:289: style: 8 leading space(s) on input line
an.tmac:<stdin>:290: style: 8 leading space(s) on input line
an.tmac:<stdin>:291: style: 8 leading space(s) on input line
an.tmac:<stdin>:292: style: 8 leading space(s) on input line
an.tmac:<stdin>:295: style: 6 leading space(s) on input line
an.tmac:<stdin>:296: style: 6 leading space(s) on input line
an.tmac:<stdin>:297: style: 6 leading space(s) on input line
an.tmac:<stdin>:298: style: 6 leading space(s) on input line
an.tmac:<stdin>:301: style: 8 leading space(s) on input line
an.tmac:<stdin>:302: style: 8 leading space(s) on input line
an.tmac:<stdin>:303: style: 8 leading space(s) on input line
an.tmac:<stdin>:304: style: 8 leading space(s) on input line
an.tmac:<stdin>:310: style: 6 leading space(s) on input line
an.tmac:<stdin>:311: style: 6 leading space(s) on input line
an.tmac:<stdin>:312: style: 6 leading space(s) on input line
an.tmac:<stdin>:313: style: 6 leading space(s) on input line
an.tmac:<stdin>:314: style: 6 leading space(s) on input line
an.tmac:<stdin>:315: style: 6 leading space(s) on input line
an.tmac:<stdin>:316: style: 6 leading space(s) on input line
an.tmac:<stdin>:317: style: 6 leading space(s) on input line
an.tmac:<stdin>:318: style: 6 leading space(s) on input line
an.tmac:<stdin>:319: style: 6 leading space(s) on input line
an.tmac:<stdin>:320: style: 6 leading space(s) on input line
an.tmac:<stdin>:322: style: 6 leading space(s) on input line
an.tmac:<stdin>:323: style: 6 leading space(s) on input line
an.tmac:<stdin>:324: style: 6 leading space(s) on input line
an.tmac:<stdin>:325: style: 6 leading space(s) on input line
an.tmac:<stdin>:326: style: 6 leading space(s) on input line
an.tmac:<stdin>:327: style: 6 leading space(s) on input line
an.tmac:<stdin>:328: style: 6 leading space(s) on input line
an.tmac:<stdin>:329: style: 6 leading space(s) on input line
an.tmac:<stdin>:355: style: 4 leading space(s) on input line
an.tmac:<stdin>:356: style: 4 leading space(s) on input line
an.tmac:<stdin>:375: style: 3 leading space(s) on input line
an.tmac:<stdin>:376: style: 3 leading space(s) on input line
troff:<stdin>:376: warning: trailing space in the line
an.tmac:<stdin>:381: style: 3 leading space(s) on input line
an.tmac:<stdin>:382: style: 3 leading space(s) on input line
an.tmac:<stdin>:386: style: 3 leading space(s) on input line
troff:<stdin>:427: warning: name 'PP.do' not defined (possibly missing space after 'PP')
-.-
Definition of macro 'UN' is missing.
-.-
A newline character (\n) is missing at the end of the file.
-------------- next part --------------
--- pnmcrop.1 2025-01-24 23:56:43.083371483 +0000
+++ pnmcrop.1.new 2025-01-25 00:13:12.162768451 +0000
@@ -6,40 +6,40 @@
.TH "Pnmcrop User Manual" 1 "16 August 2020" "netpbm documentation"
.SH NAME
-pnmcrop - crop a Netpbm image
+pnmcrop \- crop a Netpbm image
.UN synopsis
.SH SYNOPSIS
\fBpnmcrop\fP
-[\fB-white\fP
-|\fB-black\fP
-|\fB-sides\fP
-|\fB-bg-color=\fP\fIcolor\fP
-|\fB-bg-corner=\fP{
+[\fB\-white\fP
+|\fB\-black\fP
+|\fB\-sides\fP
+|\fB\-bg-color=\fP\fIcolor\fP
+|\fB\-bg-corner=\fP{
\fBtopleft\fP|\fBtopright\fP|\fBbottomleft\fP|\fBbottomright\fP}
]
-[\fB-left\fP]
+[\fB\-left\fP]
-[\fB-right\fP]
+[\fB\-right\fP]
-[\fB-top\fP]
+[\fB\-top\fP]
-[\fB-bottom\fP]
+[\fB\-bottom\fP]
-[\fB-margin=\fP\fIpixels\fP]
+[\fB\-margin=\fP\fIpixels\fP]
-[\fB-closeness=\fP\fIcloseness_percent\fP]
+[\fB\-closeness=\fP\fIcloseness_percent\fP]
-[\fB-borderfile=\fP\fIfilename\fP]
+[\fB\-borderfile=\fP\fIfilename\fP]
-[\fB-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}]
+[\fB\-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}]
-{[\fB-reportfull\fP]|[\fB-reportsize\fP]}
+{[\fB\-reportfull\fP]|[\fB\-reportsize\fP]}
-[\fB-verbose\fP]
+[\fB\-verbose\fP]
[\fIpnmfile\fP]
.PP
@@ -52,8 +52,7 @@ from its value.
.SH DESCRIPTION
.PP
This program is part of
-.BR "Netpbm" (1)\c
-\&.
+.BR Netpbm (1).
.PP
\fBpnmcrop\fP reads a PBM, PGM, or PPM image as input, removes
borders that are the background color, and produces the same type of
@@ -63,27 +62,27 @@ If you don't specify otherwise, \fBpnmcr
background color is whatever color the top left and right corners of
the image are and if they are different colors, something midway
between them. You can specify that the background is white or black
-with the \fB-white\fP and \fB-black\fP options or make
+with the \fB\-white\fP and \fB\-black\fP options or make
\fBpnmcrop\fP base its guess on all four corners instead of just two
-with \fB-sides\fP.
+with \fB\-sides\fP.
.PP
By default, \fBpnmcrop\fP chops off any stripe of background color
it finds, on all four sides. You can tell \fBpnmcrop\fP to remove
-only specific borders with the \fB-left\fP, \fB-right\fP,
- \fB-top\fP, and \fB-bottom\fP options.
+only specific borders with the \fB\-left\fP, \fB\-right\fP,
+\fB\-top\fP, and \fB\-bottom\fP options.
.PP
But note that \fBpnmcrop\fP's determination of the background color is
independent of which edges you crop, which may not be intuitive. For example,
imagine an image with a blue border at the top and a black border at the
-bottom and you say to crop the bottom (\fB-bottom\fP). You may have expected
+bottom and you say to crop the bottom (\fB\-bottom\fP). You may have expected
to crop the black border, but you actually won't crop anything,
because \fBpnmcrop\fP considers the background color to be whatever color the
top two corners are, which is blue, and there is no blue at the bottom of the
image. If you do want \fBpnmcrop\fP to take the background color from the
-edges being cropped, use \fB-bg-corner\fP.
+edges being cropped, use \fB\-bg-corner\fP.
.PP
-If you want to leave some border, use the \fB-margin\fP option. It
+If you want to leave some border, use the \fB\-margin\fP option. It
will not only spare some of the border from cropping, but will fill in
(with what \fBpnmcrop\fP considers the background color) if necessary
to get up to that size.
@@ -106,46 +105,46 @@ use \fBpamcat\fP or \fBpamcomp\fP.
.SH OPTIONS
.PP
In addition to the options common to all programs based on libnetpbm
-(most notably \fB-quiet\fP, see
+(most notably \fB\-quiet\fP, see
.UR index.html#commonoptions
- Common Options
+Common Options
.UE
\&), \fBpnmcrop\fP recognizes the following
command line options:
.TP
-\fB-white\fP
+\fB\-white\fP
Take white to be the background color. \fBpnmcrop\fP removes
borders which are white.
.sp
-You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
-\fB-bg-color\fP, and \fB-bg-corner\fP.
+You may specify at most one of \fB\-black\fP, \fB\-white\fP, \fB\-sides\fP,
+\fB\-bg-color\fP, and \fB\-bg-corner\fP.
.TP
-\fB-black\fP
+\fB\-black\fP
Take black to be the background color. \fBpnmcrop \fP removes
borders which are black.
.sp
-You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
-\fB-bg-color\fP, and \fB-bg-corner\fP.
+You may specify at most one of \fB\-black\fP, \fB\-white\fP, \fB\-sides\fP,
+\fB\-bg-color\fP, and \fB\-bg-corner\fP.
.TP
-\fB-bg-color=\fP\fIcolor\fP
-This tells \fBpnmcrop\fP what color is the background - it will crop
+\fB\-bg-color=\fP\fIcolor\fP
+This tells \fBpnmcrop\fP what color is the background \(en it will crop
areas of this color. \fIcolor\fP is a value that would be used as the
.UR libnetpbm_image.html#colorname
argument of the \fBpnm_parsecolor()\fP library routine
.UE
\&.
.sp
-You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
-\fB-bg-color\fP, and \fB-bg-corner\fP.
+You may specify at most one of \fB\-black\fP, \fB\-white\fP, \fB\-sides\fP,
+\fB\-bg-color\fP, and \fB\-bg-corner\fP.
.sp
This option was new in Netpbm 10.86 (March 2019).
.TP
-\fB-sides\fP
+\fB\-sides\fP
Determine the background color from the colors of the four corners
of the input image. \fBpnmcrop\fP removes borders which are of the
background color.
@@ -158,49 +157,49 @@ left, right, bottom. If all four corner
\fBpnmcrop\fP assumes an average of the four colors as the background
color.
.sp
-The \fB-sides\fP option slows \fBpnmcrop\fP down, as it reads the
+The \fB\-sides\fP option slows \fBpnmcrop\fP down, as it reads the
entire image to determine the background color in addition to the up
-to three times that it would read it without \fB-sides\fP.
+to three times that it would read it without \fB\-sides\fP.
.sp
-You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
-\fB-bg-color\fP, and \fB-bg-corner\fP.
+You may specify at most one of \fB\-black\fP, \fB\-white\fP, \fB\-sides\fP,
+\fB\-bg-color\fP, and \fB\-bg-corner\fP.
.TP
-\fB-bg-corner=\fP{\fBtopleft\fP|\fBtopright\fP|\fBbottomleft\fP|\fBbottomright\fP
+\fB\-bg-corner=\fP{\fBtopleft\fP|\fBtopright\fP|\fBbottomleft\fP|\fBbottomright\fP
This option indicates a corner which is background. \fBpnmcrop\fP will
use the color of this corner as the background color and crop edges of that
color.
.sp
-You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
-\fB-bg-color\fP, and \fB-bg-corner\fP.
+You may specify at most one of \fB\-black\fP, \fB\-white\fP, \fB\-sides\fP,
+\fB\-bg-color\fP, and \fB\-bg-corner\fP.
.sp
This option was new in Netpbm 10.86 (March 2019).
.TP
-\fB-left\fP
+\fB\-left\fP
Remove any left border.
.TP
-\fB-right\fP
+\fB\-right\fP
Remove any right border.
.TP
-\fB-top\fP
+\fB\-top\fP
Remove any top border.
.TP
-\fB-bottom\fP
+\fB\-bottom\fP
Remove any bottom border.
.TP
-\fB-margin=\fP\fIpixels\fP
+\fB\-margin=\fP\fIpixels\fP
Leave \fIpixels\fP pixels of border. Expand the border to this size
if necessary.
.sp
This option was new in Netpbm 10.29 (August 2005).
.TP
-\fB-closeness=\fP\fIcloseness_percent\fP
+\fB\-closeness=\fP\fIcloseness_percent\fP
Any color in the image that is at least this close to the operative
background color is considered to be background.
.sp
@@ -209,11 +208,11 @@ as would be the case in a photograph. C
screen. The color of the screen varies slightly with shading and dirt and
such, but is still quite distinct in color from the subject of the
photograph. \fBpnmcrop\fP will choose some particular shade as the
-background color and if you specify an appropriate \fB-closeness\fP value, it
+background color and if you specify an appropriate \fB\-closeness\fP value, it
will correctly identify all of the screen as background and crop it off.
.sp
To implement more complex rules for identifying background, use
-\fB-borderfile\fP.
+\fB\-borderfile\fP.
.sp
The default is zero, which means a pixel's color must exactly match the
background color for the pixel to be considered part of a background border.
@@ -222,7 +221,7 @@ This option was new in Netpbm 10.78 (Mar
colors must match exactly.
.TP
-\fB-borderfile=\fP\fIfilename\fP
+\fB\-borderfile=\fP\fIfilename\fP
Use the image in the file named \fIfilename\fP instead of the input
image to determine where the borders of the input image are and the
background color.
@@ -232,7 +231,7 @@ out what part of the image is border and
as well as the background color. With this option, \fBpnmcrop\fP finds the
borders in one image, then uses the those four border sizes (left, right, top,
bottom) in cropping a different image. Furthermore, if you use
-\fB-margin\fP to add borders, the color of those borders is the background
+\fB\-margin\fP to add borders, the color of those borders is the background
color \fBpnmcrop\fP detects in the border file.
.sp
The point of this is that you may want to help \fBpnmcrop\fP to come to a
@@ -243,7 +242,7 @@ recognize these as noise; it sees them a
considers most of your borders to be foreground and does not crop them off as
you want. To fix this, run the image through a despeckler such as
\fBpbmclean\fP and tell \fBpnmcrop\fP to use the despeckled version of the
-image as the \fB-borderfile\fP image, but the original speckled version as
+image as the \fB\-borderfile\fP image, but the original speckled version as
the input image. That way, you crop the borders, but retain the true
foreground image, speckles and all.
.sp
@@ -256,24 +255,24 @@ This option was new in Netpbm 10.29 (Aug
Before Netpbm 10.46 (March 2009), the original image and not the
border file determines the background color. \fBpnmcrop\fP
fails if there is no apparent background color in the original image
-(i.e. the corners of the image don't have a common color).
+(i.e., the corners of the image don't have a common color).
.TP
-\fB-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}
+\fB\-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}
This determines how \fBpnmcrop\fP handles an image which is entirely
- background (blank), a case where cropping doesn't make much sense.
+background (blank), a case where cropping doesn't make much sense.
.TP
abort
-
+
program fails, with explanatory message (default)
.TP
pass
Output image is the same as the input image.
- \fB-margin\fP has no effect.
+ \fB\-margin\fP has no effect.
.TP
minimize
@@ -292,23 +291,23 @@ This is a somewhat incongruous result; t
that).
.sp
The background can be more than one color when you specify
- \fB-closeness\fP, so it matters which row, column, or pixel remains.
+ \fB\-closeness\fP, so it matters which row, column, or pixel remains.
If you crop on the top and not bottom, it is the last row that remains.
If you crop on both the top and bottom, it is the middle row that
remains. The other cases follow similarly.
.sp
-If you specify a margin (\fB-margin\fP), the output image consists
+If you specify a margin (\fB\-margin\fP), the output image consists
entirely of the margins; there is no single row, column, or pixel
- between the margins. So with \fB-margin\fP, the incongruity
+ between the margins. So with \fB\-margin\fP, the incongruity
mentioned above does not exist. But before Netpbm 10.92 (September
- 2020), \fB-margin\fP was ignored with \fB-blank-image=minimize\fP.
+ 2020), \fB\-margin\fP was ignored with \fB\-blank-image=minimize\fP.
.TP
maxcrop
This odd function selects a hypothetical cropping which is not even
- possible, and therefore is valid only with \fB-reportfull\fP or
- \fB-reportsize\fP. The cropping that this selects is a crop of the
+ possible, and therefore is valid only with \fB\-reportfull\fP or
+ \fB\-reportsize\fP. The cropping that this selects is a crop of the
entire image on every side on which you request cropping. So if you
request cropping only on the left, of a 600 pixel wide image, this
selects a cropping of 600 pixels from the left and none from the other
@@ -321,28 +320,28 @@ This odd function selects a hypothetical
.sp
This is actually useful if you are trying to find a single set of
cropping parameters to crop a stream of images. To do this, you could
- do a pass with \fB-reportsize\fP and \fB-blank-image=maxcrop\fP to
+ do a pass with \fB\-reportsize\fP and \fB\-blank-image=maxcrop\fP to
compute the maximum crop for each edge, and then use those numbers in
- \fB-crop\fIxxx\fP\fP options on a \fBpamcut\fP pass to do the crop.
+ \fB\-crop\fIxxx\fP\fP options on a \fBpamcut\fP pass to do the crop.
In this scenario, any all-background (blank) images would have no effect
on the cropping parameters you compute. If you do this, you must give
special consideration to a stream with nothing but blank images.
.sp
-\fB-margin\fP is always ignored when the image is all background.
+\fB\-margin\fP is always ignored when the image is all background.
.sp
This option was new in Netpbm 10.86 (March 2019).
.TP
-\fB-reportfull\fP
+\fB\-reportfull\fP
With this option, \fBpnmcrop\fP does not actually crop anything. Instead, it
just prints to Standard Output parameters of the cropping it would have done.
The output is a single line per image, like in this example:
.nf
- 0 +7 -20 -10 200 300 rgb-255:10/0/255 0.0
+ 0 +7 \-20 \-10 200 300 rgb-255:10/0/255 0.0
.fi
@@ -352,7 +351,7 @@ The line is composed of the following bl
.IP \(bu
how many pixels would be cropped or padded on the left. This is
- a signed decimal number, where + means pad and - means crop. If there
+ a signed decimal number, where + means pad and \- means crop. If there
would be no change, this is unsigned zero.
.IP \(bu
@@ -382,25 +381,25 @@ The color \fBpnmcrop\fP took to be the b
the image.
.IP \(bu
-The closeness value (see \fB-closeness\fP option) \fBpnmcrop\fP
+The closeness value (see \fB\-closeness\fP option) \fBpnmcrop\fP
used, in floating point decimal.
.sp
-You cannot use \fB-borderfile\fP together with this option.
+You cannot use \fB\-borderfile\fP together with this option.
.sp
This option was new in Netpbm 10.86 (March 2019).
.TP
-\fB-reportsize\fP
-This is like \fB-reportfull\fP, but reports only the left, right, top,
+\fB\-reportsize\fP
+This is like \fB\-reportfull\fP, but reports only the left, right, top,
bottom, width, and height.
.sp
-You cannot use \fB-borderfile\fP together with this option.
+You cannot use \fB\-borderfile\fP together with this option.
.sp
This option was new in Netpbm 10.86 (March 2019).
.TP
-\fB-verbose\fP
+\fB\-verbose\fP
Print on Standard Error information about the processing,
including exactly how much is being cropped off of which sides.
@@ -408,12 +407,9 @@ including exactly how much is being crop
.UN seealso
.SH SEE ALSO
-.BR "pamcut" (1)\c
-\&,
-.BR "pamfile" (1)\c
-\&,
-.BR "pnm" (1)\c
-\&
+.BR pamcut (1),
+.BR pamfile (1),
+.BR pnm (1).
.UN author
.SH AUTHOR
@@ -424,4 +420,3 @@ This manual page was generated by the Ne
source. The master documentation is at
.IP
.B http://netpbm.sourceforge.net/doc/pnmcrop.html
-.PP
\ No newline at end of file
-------------- next part --------------
Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)
[gn]roff -mandoc -t -ww -b -z -K utf8 <man page>
The same goes for man pages that are used as an input.
For a style guide use
mandoc -T lint
-.-
Any "autogenerator" should check its products with the above mentioned
'groff', 'mandoc', and additionally with 'nroff ...'.
It should also check its input files for too long (> 80) lines.
This is just a simple quality control measure.
The "autogenerator" may have to be corrected to get a better man page,
the source file may, and any additional file may.
Common defects:
Not removing trailing spaces (in in- and output).
The reason for these trailing spaces should be found and eliminated.
Not beginning each input sentence on a new line.
Line length should thus be reduced.
The script "reportbug" uses 'quoted-printable' encoding when a line is
longer than 1024 characters in an 'ascii' file.
See man-pages(7), item "semantic newline".
-.-
The difference between the formatted output of the original and patched file
can be seen with:
nroff -mandoc <file1> > <out1>
nroff -mandoc <file2> > <out2>
diff -u <out1> <out2>
and for groff, using
\"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \"
instead of 'nroff -mandoc'
Add the option '-t', if the file contains a table.
Read the output from 'diff -u ...' with 'less -R' or similar.
-.-.
If 'man' (man-db) is used to check the manual for warnings,
the following must be set:
The option \"-warnings=w\"
The environmental variable:
export MAN_KEEP_STDERR=yes (or any non-empty value)
or
(produce only warnings):
export MANROFFOPT=\"-ww -b -z\"
export MAN_KEEP_STDERR=yes (or any non-empty value)
-.-
More information about the Pkg-phototools-devel
mailing list