Bug#1122633: exiftool.1p: Some remarks and a patch with editorial changes for this man page
Bjarni Ingi Gislason
bjarniig at simnet.is
Fri Dec 12 00:02:00 GMT 2025
Package: libimage-exiftool-perl
Version: 13.36+dfsg-1
Severity: minor
Tags: patch
Dear Maintainer,
>From "/usr/share/doc/debian/bug-reporting.txt.gz":
Don't file bugs upstream
If you file a bug in Debian, don't send a copy to the upstream software
maintainers yourself, as it is possible that the bug exists only in
Debian. If necessary, the maintainer of the package will forward the
bug upstream.
-.-
I do not send reports upstream if I have to get an account there.
The Debian maintainers have one already.
If I get a negative (or no) response from upstream, I send henceforth
bugs to Debian.
-.-
* 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=0 -ww -z < "man page"
[Use
grep -n -e ' $' -e '\\~$' -e ' \\f.$' -e ' \\"' <file>
to find (most) 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?
Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":
troff:<stdin>:95: warning: trailing space in the line
troff:<stdin>:354: warning: trailing space in the line
troff:<stdin>:382: warning: trailing space in the line
troff:<stdin>:449: warning: trailing space in the line
troff:<stdin>:461: warning: trailing space in the line
troff:<stdin>:537: warning: trailing space in the line
troff:<stdin>:617: warning: trailing space in the line
troff:<stdin>:701: warning: trailing space in the line
troff:<stdin>:884: warning: trailing space in the line
troff:<stdin>:938: warning: trailing space in the line
troff:<stdin>:1399: warning: trailing space in the line
troff:<stdin>:1464: warning: trailing space in the line
troff:<stdin>:1495: warning: trailing space in the line
troff:<stdin>:1800: warning: trailing space in the line
troff:<stdin>:1895: warning: trailing space in the line
troff:<stdin>:1939: warning: trailing space in the line
troff:<stdin>:1960: warning: trailing space in the line
troff:<stdin>:2070: warning: trailing space in the line
troff:<stdin>:2292: warning: trailing space in the line
troff:<stdin>:2313: warning: trailing space in the line
troff:<stdin>:2329: warning: trailing space in the line
troff:<stdin>:2348: warning: trailing space in the line
troff:<stdin>:2410: warning: trailing space in the line
troff:<stdin>:2466: warning: trailing space in the line
troff:<stdin>:2794: warning: trailing space in the line
troff:<stdin>:2801: warning: trailing space in the line
troff:<stdin>:2840: warning: trailing space in the line
troff:<stdin>:3055: warning: trailing space in the line
* 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: forky/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 6.17.9+deb14-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 libimage-exiftool-perl depends on:
ii perl 5.40.1-7
Versions of packages libimage-exiftool-perl recommends:
ii libarchive-zip-perl 1.68-1
pn libcompress-raw-lzma-perl <none>
pn libio-compress-brotli-perl <none>
ii libunicode-linebreak-perl 0.0.20190101-1+b9
Versions of packages libimage-exiftool-perl suggests:
pn libposix-strptime-perl <none>
-- no debconf information
-------------- next part --------------
Input file is exiftool.1p
Output from "mandoc -T lint exiftool.1p": (shortened list)
306 STYLE: input text line longer than 80 bytes:
28 STYLE: whitespace at end of input line
Find most trailing spaces with:
grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>
-.-.
Output from
test-nroff -mandoc -t -ww -z exiftool.1p: (shortened list)
28 line(s) with a trailing space
Find most trailing spaces with:
grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>
-.-.
Input file is exiftool.1p, case 1
Show if Pod::Man generated this.
2:.\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)
Latest version in Debian testing:
This is perl 5, version 40, subversion 1 (v5.40.1) built for x86_64-linux-gnu-thread-multi
(with 48 registered patches, see perl -V for more detail)
-.-.
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
28
-.-.
Change '-' (\-) to '\(en' (en-dash) for a (numeric) range.
GNU gnulib has recently (2023-06-18) updated its
"build_aux/update-copyright" to recognize "\(en" in man pages.
exiftool.1p:1270:range 0\-5, with higher numbers being more verbose. If \fINUM\fR is not given,
exiftool.1p:1931:is one or more family 0\-2 group names (excepting EXIF IFD groups) separated
exiftool.1p:3077:Copyright 2003\-2025, Phil Harvey
-.-.
Use the word (in)valid instead of (il)legal,
if not related to legal matters.
See "www.gnu.org/prep/standards".
Think about translations into other languages!
exiftool.1p:2375:illegal in Windows file names, so this feature is useful if tag values are
-.-.
Remove space in the first column, if not indented.
Use ".in +<number>n" and ".in" to end it;
Or use ".nf" and ".fi" to end
it, for an extra indention.
exiftool.1p:2332: Similar to the \fB\-api\fR option, the parameter value is set to 1 if \fI=VAL\fR
-.-.
Find a repeated word
! 371 --> to
-.-.
Strings longer than 3/4 of a standard line length (80).
Use "\:" to split the string at the end of an output line, for example a
long URL (web address).
This is a groff extension.
80 \&\fB\-list\fR[\fBw\fR|\fBf\fR|\fBr\fR|\fBwf\fR|\fBg\fR[\fINUM\fR]|\fBd\fR|\fBx\fR|\fBgeo\fR] ]
2452 \& exiftool \-p \*(Aq${previewimage;SetTags("comment=test","title<filename")}\*(Aq ...
2757 .ie n .IP """exiftool \-hierarchicalkeywords=\*(Aq{keyword=one,children={keyword=B}}\*(Aq""" 5
2758 .el .IP "\f(CWexiftool \-hierarchicalkeywords=\*(Aq{keyword=one,children={keyword=B}}\*(Aq\fR" 5
-.-.
Wrong distance (not two spaces) between sentences in the input file.
Separate the sentences and subordinate clauses; each begins on a new
line. See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").
The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.
Remember coding: Only one command ("sentence") on each (logical) line.
E-mail: Easier to quote exactly the relevant lines.
Generally: Easier to edit the sentence.
Patches: Less unaffected text.
Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.
The amount of space between sentences in the output can then be
controlled with the ".ss" request.
Mark a final abbreviation point as such by suffixing it with "\&".
Some sentences (etc.) do not begin on a new line.
Split (sometimes) lines after a punctuation mark; before a conjunction.
Lines with only one (or two) space(s) between sentences could be split,
so latter sentences begin on a new line.
Use
#!/usr/bin/sh
sed -e '/^\./n' \
-e 's/\([[:alpha:]]\)\. */\1.\n/g' $1
to split lines after a sentence period.
Check result with the difference between the formatted outputs.
See also the attachment "general.bugs"
[List of affected lines removed.]
-.-
Split lines longer than 80 characters (fill completely
an A4 sized page line on a terminal)
into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.
Add "\:" to split the string for the output, "\<newline>" in the source.
[List of affected lines removed.]
Longest line is number 2886 with 209 characters
.el .IP "\f(CWexiftool \-b \-jpgfromraw \-w %d%f_%ue.jpg \-execute \-b \-previewimage \-w %d%f_%ue.jpg \-execute \-tagsfromfile @ \-srcfile %d%f_%ue.jpg \-overwrite_original \-common_args \-\-ext jpg DIR\fR" 5
-.-.
Remove unnecessary double font change (e.g., \fR\fI) in a row or (better)
use a two-fonts macro.
[List with affected lines removed.]
-.-
Add a zero (0) in front of a decimal fraction that begins with a period
(.)
7:.if t .sp .5v
-.-.
Use the name of units in text; use symbols in tables and
calculations.
The rule is to have a (no-break, \~) space between a number and
its units (see "www.bipm.org/en/publications/si-brochure")
116:\& 3FR r | DR4 r/w/c | JP2 r/w | ODS r | RTF r
117:\& 3G2 r/w | DSS r | JPEG r/w | ODT r | RW2 r/w
118:\& 3GP r/w | DV r | JSON r | OFR r | RWL r/w
119:\& 7Z r | DVB r/w | JXL r/w | OGG r | RWZ r
128:\& AIFF r | EXR r | M2TS r | PBM r/w | SWF r
129:\& APE r | EXV r/w/c | M4A/V r/w | PCAP r | THM r/w
130:\& ARQ r/w | F4A/V r/w | MACOS r | PCAPNG r | TIFF r/w
139:\& C2PA r | GIF r/w | MOBI r | PGF r | VSD r
149:\& CZI r | ICO r | MQV r/w | PSB r/w | X3F r/w
153:\& DFONT r | IND r/w | NEF r/w | R3D r | XLSX r
159:\& DOCX r | J2C r | O r | RIFF r |
173:\& PDF r/w/c | Matroska r | M2TS r
688:\& "%d deg %d\*(Aq %.2f"\e" 54 deg 59\*(Aq 22.80" (default for reading)
689:\& "%d %d %.8f" 54 59 22.80000000 (default for copying)
690:\& "%d deg %.4f min" 54 deg 59.3800 min
691:\& "%.6f degrees" 54.989667 degrees
701:specifier (eg. \f(CW\*(C`%+.6f\*(C'\fR or \f(CW\*(C`%\-.6f\*(C'\fR) prints a signed coordinate instead.
752:\& ID3 Internal encoding of ID3v1 information Latin
859:specify the number of digits after the decimal point (eg. \f(CW%3f\fR would give
872:(\fB\-ec\fR). For HTML, all characters with Unicode code points above U+007F
1139:\& (f/8.0, 1/13s, ISO 100)
1351:\& Picture\-123.jpg %7f.txt Picture.txt
1352:\& Picture\-123.jpg %\-.4f.out Picture.out
1353:\& Picture\-123.jpg %7f.%\-3f Picture.123
1354:\& Picture\-123a.jpg Meta%\-3.1f.txt Meta123.txt
1367:\& pics/2012/02 %\-:1d pics/2012/ up one directory level
1368:\& pics/2012/02 %:1d 2012/02/ ignore top level
1369:\& pics/2012/02 %1:1d 2012/ take 1 level after top
1371:\& /Users/phil %:2d phil/ ignore top 2 levels
1386:\& \-w B%5c.txt # B.txt, B00001.txt, B00002.txt ...
1389:\& \-w E%\-.4c.txt # E\-0000.txt, E\-0001.txt, E\-0002.txt ...
1390:\& \-w F%\-.4nc.txt # F\-0001.txt, F\-0002.txt, F\-0003.txt ...
1393:\& \-w I.%.3uc.txt # I.AAA.txt, I.AAB.txt, I.AAC.txt ...
1414:\& \-w %C%f.txt # 0rose.txt, 1star.txt, 2jet.txt
1416:\& \-w %.3C\-%f.txt # 000\-rose.txt, 001\-star.txt, 002\-jet.txt
1417:\& \-w %57.4C%f.txt # 0057rose.txt, 0058star.txt, 0059jet.txt
1525:group name. (eg. \f(CW\*(C`Doc2\-3\*(C'\fR is the 3rd sub-document of the 2nd embedded
1538:information. For M2TS videos, a setting of 3 causes the entire file to be
1794:where Win32API::File and Win32::API are available regardless of this
1849:numerical tag ID's, and causes tag names like "Exif_0xc5d9" to be generated
2522:avoid processing hidden files (provided Win32API::File is available):
2849:iptc2xmp.args, which is a file included with the ExifTool distribution that
2851:Also included with the distribution are xmp2iptc.args (which performs the
3083:\&\fBImage::ExifTool\fR\|(3pm),
3084:\&\fBImage::ExifTool::TagNames\fR\|(3pm),
3085:\&\fBImage::ExifTool::Shortcuts\fR\|(3pm),
-.-.
Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".
[List of affected lines removed.]
-.-
Only one space character is after a possible end of sentence
(after a punctuation, that can end a sentence).
[List of affected lines removed.]
exiftool.1p:72:\&\fBexiftool\fR [\fIOPTIONS\fR] \-\fITAG\fR[+\-^<]=[\fIVALUE\fR]... \fIFILE\fR...
exiftool.1p:319:Extract information for the specified tag (eg. \f(CW\*(C`\-CreateDate\*(C'\fR). Multiple
exiftool.1p:324:by colons (eg. \f(CW\*(C`\-EXIF:CreateDate\*(C'\fR, or \f(CW\*(C`\-Doc1:XMP:Creator\*(C'\fR), and each group
exiftool.1p:331:(ie. \fB\-All\fR). This is particularly useful when a group name is specified
exiftool.1p:359:deleting all information (eg. \f(CW\*(C`\-all= \-\-exif:all\*(C'\fR deletes all but EXIF
exiftool.1p:363:(eg. \f(CW\*(C`\-all= \-tagsfromfile @ \-artist\*(C'\fR).
exiftool.1p:370:instead of the ExifTool tag name (eg. \f(CW\*(C`\-\-xmp\-crs:dabs\*(C'\fR). Also, \f(CW\*(C`XMP\-all\*(C'\fR
exiftool.1p:371:may be used to to indicate any XMP namespace (eg. \f(CW\*(C`\-\-xmp\-all:dabs\*(C'\fR).
exiftool.1p:374:Write a new value for the specified tag (eg. \f(CW\*(C`\-comment=wow\*(C'\fR), or delete the
exiftool.1p:375:tag if no \fIVALUE\fR is given (eg. \f(CW\*(C`\-comment=\*(C'\fR). \f(CW\*(C`+=\*(C'\fR and \f(CW\*(C`\-=\*(C'\fR are used to
exiftool.1p:396:shell globbing), and is often used when deleting all metadata (ie. \f(CW\*(C`\-All=\*(C'\fR)
exiftool.1p:397:or an entire group (eg. \f(CW\*(C`\-XMP\-dc:All=\*(C'\fR, see note 4 below). Note that not
exiftool.1p:461:(eg. XMP\-dc:Date) because \f(CW\*(C`+=\*(C'\fR is used to add elements to the list.
exiftool.1p:489:appropriate group when copying between images of different formats. However,
exiftool.1p:493:family 1 group they had in the source file (ie. the same specific location,
exiftool.1p:497:adding a leading family number to the group name (eg. \f(CW\*(C`\-0all:all\*(C'\fR preserves
exiftool.1p:502:(ie. \f(CW\*(C`\-tagsFromFile @\*(C'\fR), permitting this feature to be used for batch
exiftool.1p:506:directory, file name and extension of \fIFILE\fR. (eg. the current \fIFILE\fR
exiftool.1p:524:eg. \f(CW\*(C`0All\*(C'\fR writes to the same family 0 group as the source). If no
exiftool.1p:526:group. Whitespace around the \f(CW\*(C`>\*(C'\fR or \f(CW\*(C`<\*(C'\fR is ignored. As a
exiftool.1p:551:explicitly (ie. no wildcards). See the
exiftool.1p:604:its value inside a string (ie. "'\-\fIDSTTAG\fR<$\fISRCTAG\fR'")
exiftool.1p:701:specifier (eg. \f(CW\*(C`%+.6f\*(C'\fR or \f(CW\*(C`%\-.6f\*(C'\fR) prints a signed coordinate instead.
exiftool.1p:741:command line (ie. \fIFILE\fR arguments). In Windows, this triggers use of
exiftool.1p:772:combined with any tags specified for the specific SourceFile processed). The
exiftool.1p:789:(ie. ExifTool will not attempt to write these tags with a CSV import), but
exiftool.1p:854:\&\f(CW%:z\fR) adds a colon separator (eg. "\-05:00"). If the date/time value
exiftool.1p:859:specify the number of digits after the decimal point (eg. \f(CW%3f\fR would give
exiftool.1p:974:compatible with the import file format (ie. export with \fB\-D\fR, \fB\-H\fR, \fB\-l\fR,
exiftool.1p:1022:1. Download and unpack the latest Image-ExifTool full distribution.
exiftool.1p:1024:2. 'cd' into the Image-ExifTool directory.
exiftool.1p:1026:3. Run this command to make an XML file of the desired tags (eg. EXIF):
exiftool.1p:1032:4. Copy this text into a file called 'import.pl' in the exiftool directory:
exiftool.1p:1042:5. Run the 'import.pl' script to Import the XML file, generating the
exiftool.1p:1043:\&'MISSING' entries for your language (eg. Russian):
exiftool.1p:1049:6. Edit the generated language module lib/Image/ExifTool/Lang/ru.pm, and
exiftool.1p:1052:7. Email the module ('ru.pm' in this example) to exiftool at gmail.com
exiftool.1p:1054:8. Thank you!!
exiftool.1p:1103:argument is used (ie. \fISTR\fR), a newline is added to the end of the string
exiftool.1p:1110:a group of consecutive files with the same section header (eg. files are
exiftool.1p:1181:\& eval(\*(Aq$array=\*(Aq . \`exiftool \-php \-q image.jpg\`);
exiftool.1p:1300:the option name (ie. \fB\-w!\fR or \fB\-textOut!\fR) to overwrite the file, or a
exiftool.1p:1301:plus sign (ie. \fB\-w+\fR or \fB\-textOut+\fR) to append to the existing file. Both
exiftool.1p:1302:may be used (ie. \fB\-w+!\fR or \fB\-textOut+!\fR) to overwrite output files that
exiftool.1p:1308:\& exiftool \-filename \-createdate \-T \-w+! %d/out.txt \-r DIR
exiftool.1p:1321:2) If the argument for \fB\-w\fR does not contain a valid format code (eg. \f(CW%f\fR),
exiftool.1p:1326:\& # 1. Shell redirection
exiftool.1p:1327:\& exiftool FILE1 FILE2 ... > out.txt
exiftool.1p:1329:\& # 2. With the \-w option and a zero\-width format code
exiftool.1p:1330:\& exiftool \-w+! %0fout.txt FILE1 FILE2 ...
exiftool.1p:1332:\& # 3. With the \-W option (see the \-W option below)
exiftool.1p:1333:\& exiftool \-W+! out.txt FILE1 FILE2 ...
exiftool.1p:1421:case respectively (ie. \f(CW%le\fR for a lower case file extension). When used
exiftool.1p:1442:group family number (eg. \f(CW%g1\fR), otherwise family 0 is assumed. The substring
exiftool.1p:1456:\& exiftool test.jpg \-W+! out.txt # equivalent \-W option
exiftool.1p:1484:(\fB\-struct\fR) options are not effective for the short output (\fB\-s\fR). Another
exiftool.1p:1525:group name. (eg. \f(CW\*(C`Doc2\-3\*(C'\fR is the 3rd sub-document of the 2nd embedded
exiftool.1p:1544:may be added (ie. \fB\-ext+\fR) to add the specified extension to the normally
exiftool.1p:1555:\& exiftool \-ext "*" \-\-ext . DIR # all but those with no ext
exiftool.1p:1574:original offset information (eg. newer Canon models). Offsets are fixed
exiftool.1p:1575:permanently if \fB\-F\fR is used when writing EXIF to an image. eg)
exiftool.1p:1619:formatting options (eg. \fB\-d\fR) have no effect on the sorted values. Note
exiftool.1p:1636:files with names that start with a "." (ie. hidden files on Unix systems)
exiftool.1p:1656:\& # add one hour to all images created on or after Apr. 2, 2006
exiftool.1p:1709:condition (ie. "$OK").
exiftool.1p:1715:instance if an undefined value (eg. a missing tag) is used improperly.
exiftool.1p:1741:a copy number. See the \fB\-w\fR option for \fIFMT\fR string examples.
exiftool.1p:1772:file was successfully written (ie. the file is moved instead of copied).
exiftool.1p:1792:date (ie. \f(CW\*(C`FileCreateDate\*(C'\fR on Windows and Mac systems) which is not
exiftool.1p:1815:If followed by a colon (ie. \fB\-progress:\fR), the console window title is set
exiftool.1p:1823:messages. (Note: For this feature to function correctly on Mac/Linux, stderr
exiftool.1p:1835:processed unless "." is added to the option name (ie. \fB\-r.\fR or
exiftool.1p:1879:supported by the metadata format (eg. PNG supports compressed textual
exiftool.1p:1935:list. The \fB\-lang\fR option may be combined with \fB\-listx\fR to output
exiftool.1p:2030:write to write only to one group. Also, \f(CW\*(C`ItemList:Geotime\*(C'\fR, \f(CW\*(C`Keys:Geotime\*(C'\fR
exiftool.1p:2061:examples. Also see "geotag.html" in the full ExifTool distribution and the
exiftool.1p:2090:read/write support for tags as recommended by the Metadata Working Group. As
exiftool.1p:2165:(ie. ""). See <https://exiftool.org/config.html> and
exiftool.1p:2181:16), or any combination thereof by summing \fINUM\fR (eg. \fB\-efile3\fR is the
exiftool.1p:2183:\&\fITXTFILE\fR). By default, file names are appended to any existing \fITXTFILE\fR,
exiftool.1p:2185:(eg. \fB\-efile!\fR). Saves the name of the file specified by the \fB\-srcfile\fR
exiftool.1p:2202:are accessed via the corresponding family 8 group name (eg. \f(CW\*(C`File1:TAG\*(C'\fR for
exiftool.1p:2207:file name must be doubled, eg. \f(CW\*(C`money$$.jpg\*(C'\fR). For example, assuming that
exiftool.1p:2265:useful when specifying multiple \fB\-srcfile\fR options (eg. to fall back to
exiftool.1p:2330:Appending a hash tag (\f(CW\*(C`#\*(C'\fR) to \fIPARAM\fR (eg. \f(CW\*(C`\-userParam MyTag#=yes\*(C'\fR) also
exiftool.1p:2348:expression after the name, separated by a semicolon (ie. \f(CW\*(C`${TAG;EXPR}\*(C'\fR).
exiftool.1p:2373:expression is empty (ie. \f(CW\*(C`${TAG;}\*(C'\fR). This removes the characters / \e ? * :
exiftool.1p:2512:2) When writing only pseudo System tags (eg. FileModifyDate).
exiftool.1p:2638:be used (eg. \-Comment="This is a new comment").
exiftool.1p:2929:.ie n .IP """exiftool \-o . \*(Aq\-Directory<DateTimeOriginal\*(Aq \-d %Y/%m/%d dir""" 5
exiftool.1p:2930:.el .IP "\f(CWexiftool \-o . \*(Aq\-Directory<DateTimeOriginal\*(Aq \-d %Y/%m/%d dir\fR" 5
exiftool.1p:2931:.IX Item "exiftool -o . -Directory<DateTimeOriginal -d %Y/%m/%d dir"
exiftool.1p:2965:and Geotime. The examples below highlight some geotagging features. See
-.-.
Add lines to use the CR font for groff instead of CW.
.if t \{\
. ie \\n(.g .ft CR
. el .ft CW
.\}
11:.ft CW
-.-.
.\" Define a fallback for font CW with
.
.if \n(.g \{\
. ie t .ftr CW CR
. el .ftr CW R
.\}
[List of affected lines removed.]
-.-.
Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":
troff:<stdin>:95: warning: trailing space in the line
troff:<stdin>:354: warning: trailing space in the line
troff:<stdin>:382: warning: trailing space in the line
troff:<stdin>:449: warning: trailing space in the line
troff:<stdin>:461: warning: trailing space in the line
troff:<stdin>:537: warning: trailing space in the line
troff:<stdin>:617: warning: trailing space in the line
troff:<stdin>:701: warning: trailing space in the line
troff:<stdin>:884: warning: trailing space in the line
troff:<stdin>:938: warning: trailing space in the line
troff:<stdin>:1399: warning: trailing space in the line
troff:<stdin>:1464: warning: trailing space in the line
troff:<stdin>:1495: warning: trailing space in the line
troff:<stdin>:1800: warning: trailing space in the line
troff:<stdin>:1895: warning: trailing space in the line
troff:<stdin>:1939: warning: trailing space in the line
troff:<stdin>:1960: warning: trailing space in the line
troff:<stdin>:2070: warning: trailing space in the line
troff:<stdin>:2292: warning: trailing space in the line
troff:<stdin>:2313: warning: trailing space in the line
troff:<stdin>:2329: warning: trailing space in the line
troff:<stdin>:2348: warning: trailing space in the line
troff:<stdin>:2410: warning: trailing space in the line
troff:<stdin>:2466: warning: trailing space in the line
troff:<stdin>:2794: warning: trailing space in the line
troff:<stdin>:2801: warning: trailing space in the line
troff:<stdin>:2840: warning: trailing space in the line
troff:<stdin>:3055: warning: trailing space in the line
-.-
Generally:
Split (sometimes) lines after a punctuation mark; before a conjunction.
-.-
Spelling (codespell):
dupicate ==> duplicate
senstive ==> sensitive
-------------- next part --------------
--- exiftool.1p 2025-12-11 23:08:28.727504220 +0000
+++ exiftool.1p.new 2025-12-11 23:37:00.844280726 +0000
@@ -4,11 +4,14 @@
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
+.if t .sp 0.5v
.if n .sp
..
.de Vb \" Begin verbatim text
-.ft CW
+.if t \{\
+. ie \\n(.g .ft CR
+. el .ft CW
+.\}
.nf
.ne \\$1
..
@@ -16,6 +19,13 @@
.ft R
.fi
..
+.\" Define a fallback for the CW font
+.
+.if \n(.g \{\
+. ie t .ftr CW CR
+. el .ftr CW R
+.\}
+.
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
@@ -92,7 +102,7 @@ input. Metadata is read from source fil
the console (or written to output text files with \fB\-w\fR).
.PP
To write or delete metadata, tag values are assigned using
-\&\-\fITAG\fR=[\fIVALUE\fR], and/or the \fB\-geotag\fR, \fB\-csv=\fR or \fB\-json=\fR options.
+\&\-\fITAG\fR=[\fIVALUE\fR], and/or the \fB\-geotag\fR, \fB\-csv=\fR or \fB\-json=\fR options.
To copy or move metadata, the \fB\-tagsFromFile\fR feature is used. By default
the original files are preserved with \f(CW\*(C`_original\*(C'\fR appended to their names
\&\-\- be sure to verify that the new files are OK before erasing the originals.
@@ -351,7 +361,7 @@ information. Use the \fB\-s\fR option t
.IP \fB\-\-\fR\fITAG\fR 5
.IX Item "--TAG"
Exclude specified tag from extracted information. Same as the \fB\-x\fR option.
-Group names and wildcards are permitted as described above for \fB\-\fR\fITAG\fR.
+Group names and wildcards are permitted as described above for \fB\-\fR\fITAG\fR.
Once excluded from the output, a tag may not be re-included by a subsequent
option. May also be used following a \fB\-tagsFromFile\fR option to exclude
tags from being copied (when redirecting to another tag, it is the source
@@ -368,7 +378,7 @@ For example, \f(CW\*(C`\-\-xmp\-crs:all\
where a large number of XMP-crs tags exist. To use this feature to bypass
processing of a specific XMP property, the property name must be used
instead of the ExifTool tag name (eg. \f(CW\*(C`\-\-xmp\-crs:dabs\*(C'\fR). Also, \f(CW\*(C`XMP\-all\*(C'\fR
-may be used to to indicate any XMP namespace (eg. \f(CW\*(C`\-\-xmp\-all:dabs\*(C'\fR).
+may be used to indicate any XMP namespace (eg. \f(CW\*(C`\-\-xmp\-all:dabs\*(C'\fR).
.IP \fB\-\fR\fITAG\fR[+\-^]\fB=\fR[\fIVALUE\fR] 5
.IX Item "-TAG[+-^]=[VALUE]"
Write a new value for the specified tag (eg. \f(CW\*(C`\-comment=wow\*(C'\fR), or delete the
@@ -379,7 +389,7 @@ add or remove existing entries from a li
values (or decrement if \fIVALUE\fR is negative), and \f(CW\*(C`\-=\*(C'\fR may be used to
conditionally delete or replace a tag (see "WRITING EXAMPLES" for
examples). \f(CW\*(C`^=\*(C'\fR is used to write an empty string instead of deleting the
-tag when no \fIVALUE\fR is given, but otherwise it is equivalent to \f(CW\*(C`=\*(C'\fR.
+tag when no \fIVALUE\fR is given, but otherwise it is equivalent to \f(CW\*(C`=\*(C'\fR.
(Note that the caret must be quoted on the Windows command line.)
.Sp
\&\fITAG\fR may contain one or more leading family 0, 1, 2 or 7 group names,
@@ -446,7 +456,7 @@ deleting all groups. For example, \f(CW
while \f(CW\*(C`\-all:all=\*(C'\fR deletes entire blocks.
.Sp
5) The "APP" group names ("APP0" through "APP15") are used to delete JPEG
-application segments which are not associated with another deletable group.
+application segments which are not associated with another deletable group.
For example, specifying \f(CW\*(C`\-APP14:All=\*(C'\fR will NOT delete the APP14 "Adobe"
segment because this is accomplished with \f(CW\*(C`\-Adobe:All\*(C'\fR. But note that
these unnamed APP segments may not be excluded with \f(CW\*(C`\-\-APPxx:all\*(C'\fR when
@@ -458,7 +468,7 @@ command line. To shift a date/time valu
same operation, use the \fB\-globalTimeShift\fR option.
.Sp
7) The \f(CW\*(C`+=\*(C'\fR operator may not be used to shift a List-type date/time tag
-(eg. XMP\-dc:Date) because \f(CW\*(C`+=\*(C'\fR is used to add elements to the list.
+(eg. XMP\-dc:Date) because \f(CW\*(C`+=\*(C'\fR is used to add elements to the list.
Instead, the \fB\-globalTimeShift\fR option should be used.
.Sp
Special feature: Integer values may be specified in hexadecimal with a
@@ -534,7 +544,7 @@ An extension of the redirection feature
to be used on the right hand side of the \f(CW\*(C`<\*(C'\fR symbol with the syntax
"'\-\fIDSTTAG\fR<\fISTR\fR'", where tag names in \fISTR\fR are
prefixed with a \f(CW\*(C`$\*(C'\fR symbol. See the \fB\-p\fR option and the
-"Advanced formatting feature" section for more details about this syntax.
+"Advanced formatting feature" section for more details about this syntax.
Strings starting with a \f(CW\*(C`=\*(C'\fR sign must insert a single space after the
\&\f(CW\*(C`<\*(C'\fR to avoid confusion with the \f(CW\*(C`<=\*(C'\fR operator which sets the tag
value from the contents of a file. A single space at the start of the
@@ -614,7 +624,7 @@ value in a string (with \f(CW\*(C`$\*(C'
.Sp
Finally, the behaviour is different when a destination tag or group of
\&\f(CW\*(C`All\*(C'\fR is used. When copying directly, a destination group and/or tag name
-of \f(CW\*(C`All\*(C'\fR writes to the same family 1 group and/or tag name as the source.
+of \f(CW\*(C`All\*(C'\fR writes to the same family 1 group and/or tag name as the source.
But when interpolated in a string, the identity of the source tags are lost
and the value is written to all possible groups/tags. For example, the
string form must be used in the following command since the intent is to set
@@ -698,7 +708,7 @@ when copying tags using the \fB\-tagsFro
.Sp
2) If the hemisphere is known, a reference direction (N, S, E or W) is
appended to each printed coordinate, but adding a \f(CW\*(C`+\*(C'\fR or \f(CW\*(C`\-\*(C'\fR to the format
-specifier (eg. \f(CW\*(C`%+.6f\*(C'\fR or \f(CW\*(C`%\-.6f\*(C'\fR) prints a signed coordinate instead.
+specifier (eg. \f(CW\*(C`%+.6f\*(C'\fR or \f(CW\*(C`%\-.6f\*(C'\fR) prints a signed coordinate instead.
(\f(CW\*(C`+\*(C'\fR adds a leading "+" for positive coordinates, but \f(CW\*(C`\-\*(C'\fR does not.)
.Sp
3) This print formatting may be disabled with the \fB\-n\fR option to extract
@@ -881,7 +891,7 @@ Force printing of tags even if they don'
tags specified on the command line, or with the \fB\-p\fR, \fB\-if\fR (unless the
API UndefTags option is set), \fB\-fileNUM\fR or \fB\-tagsFromFile\fR options. When
\&\fB\-f\fR is used, the value of any missing tag is set to a dash (\f(CW\*(C`\-\*(C'\fR) by
-default, but this may be configured via the API MissingTagValue option.
+default, but this may be configured via the API MissingTagValue option.
\&\fB\-f\fR is also used to add a 'flags' attribute to the \fB\-listx\fR output, or to
allow tags to be deleted when writing with the \fB\-csv\fR=\fICSVFILE\fR feature.
.IP "\fB\-g\fR[\fINUM\fR][:\fINUM\fR...] (\fB\-groupHeadings\fR)" 5
@@ -935,7 +945,7 @@ into individual tags in the JSON output,
preserved with the \fB\-struct\fR option (this also causes all list-type XMP
tags to be output as JSON arrays, otherwise single-item lists would be
output as simple strings). The \fB\-a\fR option is implied when \fB\-json\fR is
-used, but entries with identical JSON names are suppressed in the output.
+used, but entries with identical JSON names are suppressed in the output.
(\fB\-G4\fR may be used to ensure that all tags have unique JSON names.)
.Sp
Adding the \fB\-D\fR or \fB\-H\fR option changes tag values to JSON objects with
@@ -1143,7 +1153,7 @@ produces output like this:
The values of List-type tags with multiple items, Shortcut tags representing
multiple tags, and matching tags when the \f(CW\*(C`All\*(C'\fR group is specified are
joined according the \fB\-sep\fR option setting when interpolated in the string.
-(Note that when \f(CW\*(C`All\*(C'\fR is used as a group name, dupicate tags are included
+(Note that when \f(CW\*(C`All\*(C'\fR is used as a group name, duplicate tags are included
regardless of the Duplicates option setting.) When \f(CW\*(C`All\*(C'\fR is used as a tag
name, a value of 1 is returned if any tag exists in the specified group, or
0 otherwise (unless the \f(CW\*(C`All\*(C'\fR group is also specified, in which case the
@@ -1267,7 +1277,7 @@ Output tag values in table form. Equiva
.IP "\fB\-v\fR[\fINUM\fR] (\fB\-verbose\fR)" 5
.IX Item "-v[NUM] (-verbose)"
Print verbose messages. \fINUM\fR specifies the level of verbosity in the
-range 0\-5, with higher numbers being more verbose. If \fINUM\fR is not given,
+range 0\(en5, with higher numbers being more verbose. If \fINUM\fR is not given,
then each \fB\-v\fR option increases the level of verbosity by 1. With any
level greater than 0, most other options are ignored and normal console
output is suppressed unless specific tags are extracted. Using \fB\-v0\fR
@@ -1396,7 +1406,7 @@ example:
A special feature allows the copy number to be incremented for each
processed file by using \f(CW%C\fR (upper case) instead of \f(CW%c\fR. This allows a
sequential number to be added to output file names, even if the names are
-different. For \f(CW%C\fR, a copy number of zero is not omitted as it is with \f(CW%c\fR.
+different. For \f(CW%C\fR, a copy number of zero is not omitted as it is with \f(CW%c\fR.
A leading '\-' causes the number to be reset at the start of each new
directory (in the original directory structure if the files are being
moved), and '+' has no effect. The number before the decimal place gives
@@ -1461,7 +1471,7 @@ example, the following pairs of commands
.Ve
.Sp
4) Adding the \fB\-v\fR option to \fB\-W\fR sends a list of the tags and output file
-names to the console instead of giving a verbose dump of the entire file.
+names to the console instead of giving a verbose dump of the entire file.
(Unless appending all output to one file for each source file by using
\&\fB\-W+\fR with an output file \fIFMT\fR that does not contain \f(CW%t\fR, \f(CW%g\fR, \f(CW%s\fR or \f(CW%o\fR.)
.Sp
@@ -1492,7 +1502,7 @@ are formatted as an RDF Bag, but they ar
\&\fB\-s\fR or \fB\-sep\fR is used. Using \fB\-L\fR changes the XML encoding from "UTF\-8"
to "windows\-1252". Other \fB\-charset\fR settings change the encoding only if
there is a corresponding standard XML character set. The \fB\-b\fR option
-causes binary data values to be written, encoded in base64 if necessary.
+causes binary data values to be written, encoded in base64 if necessary.
The \fB\-t\fR option adds tag table information to the output (see \fB\-t\fR for
details).
.Sp
@@ -1797,7 +1807,7 @@ be used if necessary to preserve the cre
superseded by any value written to the FileModifyDate tag.
.IP "\fB\-password\fR \fIPASSWD\fR" 5
.IX Item "-password PASSWD"
-Specify password to allow processing of password-protected PDF documents.
+Specify password to allow processing of password-protected PDF documents.
If a password is required but not given, a warning is issued and the
document is not processed. This option is ignored if a password is not
required.
@@ -1892,7 +1902,7 @@ argument per line (NOT one option per li
additional arguments, and all arguments must be placed on separate lines).
Blank lines and lines beginning with \f(CW\*(C`#\*(C'\fR are ignored (unless they start
with \f(CW\*(C`#[CSTR]\*(C'\fR, in which case the rest of the line is treated as a C
-string, allowing standard C escape sequences such as "\en" for a newline).
+string, allowing standard C escape sequences such as "\en" for a newline).
White space at the start of a line is removed. Normal shell processing of
arguments is not performed, which among other things means that arguments
should not be quoted and spaces are treated as any other character.
@@ -1928,7 +1938,7 @@ groups [in a specified family] (\fB\-lis
(\fB\-listx\fR), or the Geolocation database (\fB\-listgeo\fR). The \fB\-list\fR,
\&\fB\-listw\fR and \fB\-listx\fR options may be followed by an additional argument of
the form \f(CW\*(C`\-GROUP:All\*(C'\fR to list only tags in a specific group, where \f(CW\*(C`GROUP\*(C'\fR
-is one or more family 0\-2 group names (excepting EXIF IFD groups) separated
+is one or more family 0\(en2 group names (excepting EXIF IFD groups) separated
by colons. With \fB\-listg\fR, \fINUM\fR may be given to specify the group family,
otherwise family 0 is assumed. The \fB\-l\fR or \fB\-v\fR option may be combined
with \fB\-listf\fR, \fB\-listr\fR or \fB\-listwf\fR to add file descriptions to the
@@ -1936,7 +1946,7 @@ list. The \fB\-lang\fR option may be com
descriptions in a single language, and the \fB\-sort\fR and/or \fB\-lang\fR options
may be combined with \fB\-listgeo\fR (installation of the alternate database is
required for the additional languages). Also, the API GeolocMinPop,
-GeolocFeature and GeolocAltNames options apply to the \fB\-listgeo\fR output.
+GeolocFeature and GeolocAltNames options apply to the \fB\-listgeo\fR output.
Here are some examples:
.Sp
.Vb 12
@@ -1957,7 +1967,7 @@ Here are some examples:
When combined with \fB\-listx\fR, the \fB\-s\fR option shortens the output by
omitting the descriptions and values (as in the last example above), and
\&\fB\-f\fR adds 'flags' and 'struct' attributes if applicable. The flags are
-formatted as a comma-separated list of the following possible values:
+formatted as a comma-separated list of the following possible values:
Avoid, Binary, List, Mandatory, Permanent, Protected, Unknown and Unsafe
(see the Tag Name documentation). For XMP List
tags, the list type (Alt, Bag or Seq) is also given, and flattened structure
@@ -2067,7 +2077,7 @@ the name, province/state and country of
See <https://exiftool.org/geolocation.html> for details.
.IP "\fB\-globalTimeShift\fR \fISHIFT\fR" 5
.IX Item "-globalTimeShift SHIFT"
-Shift all formatted date/time values by the specified amount when reading.
+Shift all formatted date/time values by the specified amount when reading.
Does not apply to unformatted (\fB\-n\fR) output. \fISHIFT\fR takes the same form
as the date/time shift when writing (see
Image::ExifTool::Shift.pl for details), with a
@@ -2141,7 +2151,7 @@ Set ExifTool API option. \fIOPT\fR is a
set to 1 if \fI=VAL\fR is omitted. If \fIVAL\fR is omitted, the option value is
set to undef if \f(CW\*(C`=\*(C'\fR is used, or an empty string with \f(CW\*(C`^=\*(C'\fR. If \fIOPT\fR is
not specified a list of available options is returned. The option name is
-not case senstive, but the option values are. See
+not case sensitive, but the option values are. See
Image::ExifTool Options for option details. This
overrides API options set via the config file. Note that the exiftool app
sets some API options internally, and attempts to change these via the
@@ -2289,7 +2299,7 @@ received up to this point, send a "{read
(unless the \fB\-q\fR or \fB\-T\fR option is used), and continue trying to read
arguments for the next command from \fIARGFILE\fR. To aid in command/response
synchronization, any number appended to the \fB\-execute\fR option is echoed in
-the "{ready}" message. For example, \f(CW\*(C`\-execute613\*(C'\fR results in "{ready613}".
+the "{ready}" message. For example, \f(CW\*(C`\-execute613\*(C'\fR results in "{ready613}".
When this number is added, \fB\-q\fR no longer suppresses the "{ready}" message.
(Also, see the \fB\-echo3\fR and \fB\-echo4\fR options for additional ways to pass
signals back to your application.)
@@ -2310,7 +2320,7 @@ writing the following lines to the curre
\& NEWARGFILE
.Ve
.Sp
-This causes \fIARGFILE\fR to be closed, and \fINEWARGFILE\fR to be kept open.
+This causes \fIARGFILE\fR to be closed, and \fINEWARGFILE\fR to be kept open.
(Without the \fB\-stay_open\fR here, exiftool would have returned to reading
arguments from \fIARGFILE\fR after reaching the end of \fINEWARGFILE\fR.)
.Sp
@@ -2326,10 +2336,10 @@ Set user parameter. \fIPARAM\fR is an a
an interface to the API UserParam option (see the
Image::ExifTool Options documentation), and
provides a method to access user-defined parameters in arguments to the
-\&\fB\-if\fR, \fB\-p\fR and \fB\-fileNUM\fR options as if they were any other tag.
+\&\fB\-if\fR, \fB\-p\fR and \fB\-fileNUM\fR options as if they were any other tag.
Appending a hash tag (\f(CW\*(C`#\*(C'\fR) to \fIPARAM\fR (eg. \f(CW\*(C`\-userParam MyTag#=yes\*(C'\fR) also
causes the parameter to be extracted as a normal tag in the UserParam group.
- Similar to the \fB\-api\fR option, the parameter value is set to 1 if \fI=VAL\fR
+Similar to the \fB\-api\fR option, the parameter value is set to 1 if \fI=VAL\fR
is omitted, undef if just \fIVAL\fR is omitted with \f(CW\*(C`=\*(C'\fR, or an empty string if
\&\fIVAL\fR is omitted with \f(CW\*(C`^=\*(C'\fR.
.Sp
@@ -2345,7 +2355,7 @@ interpolated within a \fB\-if\fR, \fB\-p
\&\fB\-tagsFromFile\fR redirection string. Tag names within these strings are
prefixed by a \f(CW\*(C`$\*(C'\fR symbol, and an arbitrary Perl expression may be applied
to the tag value by placing braces around the tag name and inserting the
-expression after the name, separated by a semicolon (ie. \f(CW\*(C`${TAG;EXPR}\*(C'\fR).
+expression after the name, separated by a semicolon (ie. \f(CW\*(C`${TAG;EXPR}\*(C'\fR).
The expression acts on the value of the tag through the default input
variable (\f(CW$_\fR), and has access to the full ExifTool API through the
current ExifTool object (\f(CW$self\fR) and the tag key (\f(CW$tag\fR). It may
@@ -2372,7 +2382,7 @@ following command returns all subjects n
A default expression of \f(CW\*(C`tr(/\e\e?*:|"<>\e0)()d\*(C'\fR is assumed if the
expression is empty (ie. \f(CW\*(C`${TAG;}\*(C'\fR). This removes the characters / \e ? * :
| < > and null from the printed value. (These characters are
-illegal in Windows file names, so this feature is useful if tag values are
+invalid in Windows file names, so this feature is useful if tag values are
used in file names.)
.PP
Helper functions
@@ -2407,7 +2417,7 @@ shift syntax. For example, to shift a d
\&\f(CW\*(C`NoDups\*(C'\fR
.PP
Removes duplicate items from a list with a separator specified by the
-\&\fB\-sep\fR option. This function is most useful when copying list-type tags.
+\&\fB\-sep\fR option. This function is most useful when copying list-type tags.
For example, the following command may be used to remove duplicate Keywords:
.PP
.Vb 1
@@ -2463,7 +2473,7 @@ ExifTool 9.79 and later allow the file n
\&\f(CW\*(C`\-charset filename=CHARSET\*(C'\fR, where \f(CW\*(C`CHARSET\*(C'\fR is the name of a valid
ExifTool character set, preferably \f(CW\*(C`UTF8\*(C'\fR (see the \fB\-charset\fR option for a
complete list). Setting this triggers the use of Windows wide-character i/o
-routines, thus providing support for most Unicode file names (see note 4).
+routines, thus providing support for most Unicode file names (see note 4).
But note that it is not trivial to pass properly encoded file names on the
Windows command line (see <https://exiftool.org/faq.html#Q18> for details),
so placing them in a UTF\-8 encoded \fB\-@\fR argfile and using
@@ -2791,14 +2801,14 @@ Erase all meta information from \f(CW\*(
Rebuild all EXIF meta information from scratch in an image. This technique
can be used in JPEG images to repair corrupted EXIF information which
otherwise could not be written due to errors. The \f(CW\*(C`Unsafe\*(C'\fR tag is a
-shortcut for unsafe EXIF tags in JPEG images which are not normally copied.
+shortcut for unsafe EXIF tags in JPEG images which are not normally copied.
See the tag name documentation for more details
about unsafe tags.
.ie n .IP """exiftool \-Tagsfromfile a.jpg out.xmp""" 5
.el .IP "\f(CWexiftool \-Tagsfromfile a.jpg out.xmp\fR" 5
.IX Item "exiftool -Tagsfromfile a.jpg out.xmp"
Copy meta information from \f(CW\*(C`a.jpg\*(C'\fR to an XMP data file. If the XMP data
-file \f(CW\*(C`out.xmp\*(C'\fR already exists, it will be updated with the new information.
+file \f(CW\*(C`out.xmp\*(C'\fR already exists, it will be updated with the new information.
Otherwise the XMP data file will be created. Only metadata-only files may
be created like this (files containing images may be edited but not
created). See "WRITING EXAMPLES" above for another technique to generate
@@ -2837,7 +2847,7 @@ Copy all possible information from \f(CW
.ie n .IP """exiftool \*(Aq\-Description<${FileName;s/\e.[^.]*$//}\*(Aq dir""" 5
.el .IP "\f(CWexiftool \*(Aq\-Description<${FileName;s/\e.[^.]*$//}\*(Aq dir\fR" 5
.IX Item "exiftool -Description<${FileName;s/.[^.]*$//} dir"
-Set the image Description from the file name after removing the extension.
+Set the image Description from the file name after removing the extension.
This example uses the "Advanced formatting feature" to perform a
substitution operation to remove the last dot and subsequent characters from
the file name.
@@ -3052,7 +3062,7 @@ Add an IPTC keyword in a pipeline, savin
.ie n .IP """curl \-s http://a.domain.com/bigfile.jpg | exiftool \-fast \-""" 5
.el .IP "\f(CWcurl \-s http://a.domain.com/bigfile.jpg | exiftool \-fast \-\fR" 5
.IX Item "curl -s http://a.domain.com/bigfile.jpg | exiftool -fast -"
-Extract information from an image over the internet using the cURL utility.
+Extract information from an image over the internet using the cURL utility.
The \fB\-fast\fR option prevents exiftool from scanning for trailer information,
so only the meta information header is transferred.
.ie n .IP """exiftool a.jpg \-thumbnailimage \-b | exiftool \-comment=wow \- | exiftool a.jpg \-thumbnailimage\*(Aq<=\-\*(Aq""" 5
@@ -3074,7 +3084,7 @@ error occurred, or 2 if all files failed
the commands if \fB\-execute\fR was used).
.SH AUTHOR
.IX Header "AUTHOR"
-Copyright 2003\-2025, Phil Harvey
+Copyright 2003\(en2025, Phil Harvey
.PP
This is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.
-------------- 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>
To find trailing space use
grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>
The same goes for man pages that are used as an input.
-.-
For a style guide use
mandoc -T lint
-.-
For general input conventions consult the man page "nroff(7)" (item
"Input conventions") or the Texinfo manual about the same item.
-.-
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.
"git" has a "tool" to point out whitespace,
see for example "git-apply(1)" and git-config(1)")
-.-
Not beginning each input sentence on a new line.
Line length and patch size should thus be reduced when that has been fixed.
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 -d -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 -d -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-perl-maintainers
mailing list