Package: libpng-dev
Version: 1.6.53-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 ":
an.tmac:<stdin>:515: misuse, warning: .IR is for at least 2 arguments, got 1
Use macro '.I' for one argument or split the argument.
* 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.11+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 libpng-dev depends on:
ii libpng16-16t64 1.6.53-1
ii zlib1g-dev 1:1.3.dfsg+really1.3.1-1+b1
Versions of packages libpng-dev recommends:
pn libpng-tools <none>
libpng-dev suggests no packages.
-- no debconf information
Input file is libpng.3
Output from "mandoc -T lint libpng.3": (shortened list)
1 STYLE: input text line longer than 80 bytes:
-.-.
Output from
test-nroff -mandoc -t -ww -z libpng.3: (shortened list)
1 Use macro '.I' for one argument or split the argument.
1 .IR is for at least 2 arguments, got 1
-.-.
Input file is libpng.3
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.
libpng.3:522: Copyright (c) 2018-2025 Cosmin Truta
libpng.3:523: Copyright (c) 1998-2018 Glenn Randers-Pehrson
libpng.3:533: Copyright (c) 2018-2025 Cosmin Truta
libpng.3:537: Copyright (c) 1998-2018 Glenn Randers-Pehrson
libpng.3:2025: 1-79 characters.
libpng.3:3662: 1-79 characters.
libpng.3:4010:one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4
bit PNG),
libpng.3:4882:the range 3-6 compress nearly as well as higher levels, and do so
much
-.-.
Use the correct macro for the font change of a single argument or
split the argument into two.
5980:.BR "png"(5)
-.-.
Find a repeated word
! 2840 --> in
! 5282 --> of
-.-.
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.
2490 <http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC9>
6021 visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement
-.-.
Add a "\&" (or a comma (Oxford comma)) after an abbreviation
or use English words
(man-pages(7)).
Abbreviation points should be marked as such and protected against being
interpreted as an end of sentence, if they are not, and that independent
of the current place on the line.
1876: whole signature were read (i.e. if an
2391:higher possible bit depth (e.g. from 5 bits/sample in the range [0,31]
2614:other way (little-endian, i.e. least significant bits first, the
3830:year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!), and
3840:tEXt chunk use RFC 1123 format dates (e.g. "22 May 1997 18:07:10 GMT"),
4010:one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG),
4018:supplied the other way (little-endian, i.e. least significant bits
-.-.
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 70 with 479 characters
\fBpng_uint_32 png_get_cHRM_XYZ_fixed (png_structp \fP\fIpng_ptr\fP\fB,
png_const_infop \fP\fIinfo_ptr\fP\fB, png_fixed_point \fP\fI*int_red_X\fP\fB,
png_fixed_point \fP\fI*int_red_Y\fP\fB, png_fixed_point \fP\fI*int_red_Z\fP\fB,
png_fixed_point \fP\fI*int_green_X\fP\fB, png_fixed_point
\fP\fI*int_green_Y\fP\fB, png_fixed_point \fP\fI*int_green_Z\fP\fB,
png_fixed_point \fP\fI*int_blue_X\fP\fB, png_fixed_point
\fP\fI*int_blue_Y\fP\fB, png_fixed_point \fI*int_blue_Z\fP\fB);\fP
-.-.
Write the name for numeric prefixes if used with a unit, for example
"kilobytes", not "kbytes"
5691:default 32-kbyte sliding window size. It was discovered that there are
5696:and using a 32-kbyte sliding window), by using
-.-.
Use \(en (en-dash) for a dash at the beginning (end) of a line,
or between space characters,
not a minus (\-) or a hyphen (-), except in the NAME section.
libpng.3:520:libpng-manual.txt - A description on how to use and modify libpng
libpng.3:531: libpng version 1.6.36, December 2018, through 1.6.53 - December
2025
libpng.3:535: libpng versions 0.97, January 1998, through 1.6.35 - July 2018
libpng.3:539: libpng 1.0 beta 6 - version 0.96 - May 28, 1997
libpng.3:543: libpng 1.0 beta 2 - version 0.88 - January 26, 1996
libpng.3:730:systems do not permit easy auto-configuration of the library -
they only
libpng.3:741:floating point support. The result can be seen in the generated
pnglibconf.h -
libpng.3:744:If you need to make more extensive configuration changes - more
than one or two
libpng.3:745:feature macro settings - you can either add \-DPNG_USER_CONFIG to
the build
libpng.3:1107: keep - 0: default unknown chunk handling
libpng.3:1118: chunk_list - list of chunks affected (a byte string,
libpng.3:1123: num_chunks - number of chunks affected; if 0, all
libpng.3:1253:If you don't know the gamma for your system it is probably 2.2 -
a good
libpng.3:1255:too contrasty or washed out you got the value wrong - check your
system
libpng.3:1269: PNG_GAMMA_LINEAR: Just the fixed point value for 1.0 -
indicates
libpng.3:1297:encoding will be overridden if png_set_gamma() is called - the
results may be
libpng.3:1328:linear characteristic. This is only very rarely correct - it is
invariably
libpng.3:1362:png_set_alpha_mode() - if you call it after it will override the
settings made
libpng.3:1411:simulate transparency over large areas - use 16 bits or the PNG
mode in
libpng.3:1425:it is broken - check out the modes below.
libpng.3:1535:of assuming that input PNG data with no gamma information is
linear - this
libpng.3:1566:contrasty.) Try the ALPHA_OPTIMIZED mode above - this will
probably
libpng.3:1574:is dark. Take your pick - the halos are unavoidable unless you
can get
libpng.3:1592:PNG_ALPHA_PNG for the first call - internal checking in
png_set_alpha will
libpng.3:1599:call png_set_strip_alpha() to do this - it will leave spurious
pixel values in
libpng.3:1782: width - holds the width of the image
libpng.3:1785: height - holds the height of the image
libpng.3:1788: bit_depth - holds the bit depth of one of the
libpng.3:1794: color_type - describes which color/alpha channels
libpng.3:1811: interlace_type - (PNG_INTERLACE_NONE or
libpng.3:1814: compression_type - (must be PNG_COMPRESSION_TYPE_BASE
libpng.3:1817: filter_method - (must be PNG_FILTER_TYPE_BASE
libpng.3:1857: channels - number of channels of info for the
libpng.3:1864: rowbytes - number of bytes needed to hold a row
libpng.3:1873: signature - holds the signature read from the
libpng.3:1902: palette - the palette for the file
libpng.3:1905: num_palette - number of entries in the palette
libpng.3:1910: file_gamma - the gamma at which the file is
libpng.3:1913: int_file_gamma - 100,000 times the gamma at which the
libpng.3:1937: encoding end points - the CIE tristimulus
libpng.3:1945: srgb_intent - the rendering intent (PNG_INFO_sRGB)
libpng.3:1955: name - The profile name.
libpng.3:1957: compression_type - The compression type; always
libpng.3:1962: profile - International Color Consortium color
libpng.3:1965: proflen - length of profile data in bytes.
libpng.3:1969: sig_bit - the number of significant bits for
libpng.3:1978: trans_alpha - array of alpha (transparency)
libpng.3:1981: num_trans - number of transparent entries
libpng.3:1984: trans_color - graylevel or color sample values of
libpng.3:1990: exif - Exif profile (array of png_byte)
libpng.3:1995: hist - histogram of palette (array of
libpng.3:2000: mod_time - time image was last modified
libpng.3:2005: background - background color (of type
libpng.3:2013: num_comments - number of comments
libpng.3:2015: text_ptr - array of png_text holding image
libpng.3:2018: text_ptr[i].compression - type of compression used
libpng.3:2024: text_ptr[i].key - keyword for comment. Must contain
libpng.3:2027: text_ptr[i].text - text comments for current
libpng.3:2030: text_ptr[i].text_length - length of text string,
libpng.3:2033: text_ptr[i].itxt_length - length of itxt string,
libpng.3:2036: text_ptr[i].lang - language of comment (empty
libpng.3:2039: text_ptr[i].lang_key - keyword in UTF-8
libpng.3:2051: num_text - number of comments (same as
libpng.3:2064: num_spalettes - number of sPLT chunks read.
libpng.3:2066: palette_ptr - array of palette structures holding
libpng.3:2073: offset_x - positive offset from the left edge
libpng.3:2076: offset_y - positive offset from the top edge
libpng.3:2079: unit_type - PNG_OFFSET_PIXEL, PNG_OFFSET_MICROMETER
libpng.3:2084: res_x - pixels/unit physical resolution in
libpng.3:2087: res_y - pixels/unit physical resolution in
libpng.3:2090: unit_type - PNG_RESOLUTION_UNKNOWN,
libpng.3:2096: unit - physical scale units (an integer)
libpng.3:2098: width - width of a pixel in physical scale units
libpng.3:2100: height - height of a pixel in physical scale units
libpng.3:2106: unit - physical scale units (an integer)
libpng.3:2108: width - width of a pixel in physical scale units
libpng.3:2111: height - height of a pixel in physical scale units
libpng.3:2117: unknowns - array of png_unknown_chunk
libpng.3:2120: unknowns[i].name - name of unknown chunk
libpng.3:2122: unknowns[i].data - data of unknown chunk
libpng.3:2124: unknowns[i].size - size of unknown chunk's data
libpng.3:2126: unknowns[i].location - position of chunk in file
libpng.3:2328: 01 - [G] - - - - - - - - - - - - -
libpng.3:2333: 2 C P C C C + . . C - - CB CB B B
libpng.3:2334: 2T Ct - Ct C C t + t - - - CBt CBt Bt
Bt
libpng.3:2335: 2O Ct - Ct C C t t + - - - CBt CBt Bt
Bt
libpng.3:2369:do the job but this is currently unimplemented - a different
format will result
libpng.3:2531:The second call was described above - my_background is in the
format of the
libpng.3:2640:interlaced images if you do the interlace yourself - the width of
the row is the
libpng.3:2649:Don't try using these outside a transform callback - firstly they
are only
libpng.3:2719:important for png_set_interlace_handling() - if you are going to
call
libpng.3:2840:corresponding to the numbered pass. 'pass' is in in the range 0
to 6 -
libpng.3:2852:Because the interlacing scheme is rectangular - sub-image pixels
are always
libpng.3:2853:arranged on a rectangular grid - all you need to know for each
pass is the
libpng.3:2887:are always a power of 2 apart - 1, 2, 4 or 8 pixels - in the
original
libpng.3:2964: mask - identifies data to be freed, a mask
libpng.3:2974: seq - sequence number of item to be freed
libpng.3:2992: freer - one of
libpng.3:2997: mask - which data elements are affected
libpng.3:3029: mask - identifies the chunks to be made invalid,
libpng.3:3168: call - it is up to you to ensure that the next call
libpng.3:3224: callback - see above.
libpng.3:3473: width - holds the width of the image
libpng.3:3476: height - holds the height of the image
libpng.3:3479: bit_depth - holds the bit depth of one of the
libpng.3:3486: color_type - describes which color/alpha
libpng.3:3503: interlace_type - PNG_INTERLACE_NONE or
libpng.3:3506: compression_type - (must be
libpng.3:3509: filter_method - (must be PNG_FILTER_TYPE_DEFAULT
libpng.3:3527: palette - the palette for the file
libpng.3:3529: num_palette - number of entries in the palette
libpng.3:3535: file_gamma - the gamma at which the image was
libpng.3:3538: int_file_gamma - 100,000 times the gamma at which
libpng.3:3558: points - the CIE tristimulus specification
of the intended
libpng.3:3565: srgb_intent - the rendering intent
libpng.3:3585: srgb_intent - the rendering intent
libpng.3:3597: name - The profile name.
libpng.3:3599: compression_type - The compression type; always
libpng.3:3604: profile - International Color Consortium color
libpng.3:3607: proflen - length of profile data in bytes.
libpng.3:3611: sig_bit - the number of significant bits for
libpng.3:3620: trans_alpha - array of alpha (transparency)
libpng.3:3623: num_trans - number of transparent entries
libpng.3:3626: trans_color - graylevel or color sample values
libpng.3:3633: exif - Exif profile (array of png_byte)
libpng.3:3638: hist - histogram of palette (array of
libpng.3:3643: mod_time - time image was last modified
libpng.3:3648: background - background color (of type
libpng.3:3653: text_ptr - array of png_text holding image
libpng.3:3656: text_ptr[i].compression - type of compression used
libpng.3:3661: text_ptr[i].key - keyword for comment. Must contain
libpng.3:3663: text_ptr[i].text - text comments for current
libpng.3:3665: text_ptr[i].text_length - length of text string,
libpng.3:3667: text_ptr[i].itxt_length - length of itxt string,
libpng.3:3669: text_ptr[i].lang - language of comment (NULL or
libpng.3:3671: text_ptr[i].translated_keyword - keyword in UTF-8 (NULL
libpng.3:3683: num_text - number of comments
libpng.3:3688: palette_ptr - array of png_sPLT_struct structures
libpng.3:3691: num_spalettes - number of palette structures to be
libpng.3:3697: offset_x - positive offset from the left
libpng.3:3700: offset_y - positive offset from the top
libpng.3:3703: unit_type - PNG_OFFSET_PIXEL, PNG_OFFSET_MICROMETER
libpng.3:3708: res_x - pixels/unit physical resolution
libpng.3:3711: res_y - pixels/unit physical resolution
libpng.3:3714: unit_type - PNG_RESOLUTION_UNKNOWN,
libpng.3:3719: unit - physical scale units (an integer)
libpng.3:3721: width - width of a pixel in physical scale units
libpng.3:3723: height - height of a pixel in physical scale units
libpng.3:3728: unit - physical scale units (an integer)
libpng.3:3730: width - width of a pixel in physical scale units
libpng.3:3733: height - height of a pixel in physical scale units
libpng.3:3739: unknowns - array of png_unknown_chunk
libpng.3:3741: unknowns[i].name - name of unknown chunk
libpng.3:3742: unknowns[i].data - data of unknown chunk
libpng.3:3743: unknowns[i].size - size of unknown chunk's data
libpng.3:3744: unknowns[i].location - position to write chunk in file
libpng.3:3830:year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!),
and
libpng.3:4201: mask - identifies data to be freed, a mask
libpng.3:4211: seq - sequence number of item to be freed
libpng.3:4233: freer - one of
libpng.3:4238: mask - which data elements are affected
libpng.3:4282:sophisticated APIs above - these support a wide variety of
in-memory formats
libpng.3:4346: 0 - no warning or error
libpng.3:4347: 1 - warning
libpng.3:4348: 2 - error
libpng.3:4349: 3 - error preceded by warning
libpng.3:4401:macros to test for individual features - future versions of the
library may
libpng.3:4445:is always the same - there is no provision for swapping the order
of the
libpng.3:4471:actual image sample values - either the entries in the color-map
or the
libpng.3:4542: stride - the number of components to leave space for in each
row.
libpng.3:4580: linear and sRGB encoding. This flag has no effect on write -
the data
libpng.3:4620: indicates that the top-most row is first in the buffer -
libpng.3:4684:With all APIs row_stride is handled as in the read APIs - it is
the spacing
libpng.3:4879:input compression values in the range 0 - 9. The library normally
libpng.3:5329: allowed - one of
libpng.3:5569:even though the default is to use the macros - this allows
applications
-.-.
The name of a man page is typeset in bold (or italic) and the section in roman
(see man-pages(7)).
5547:the library no longer uses the printf(3) functions, even though the
-.-.
Name of a manual is set in bold (or italic), the section in roman.
See man-pages(7).
515:.IR zlib(3)
5547:the library no longer uses the printf(3) functions, even though the
5980:.BR "png"(5)
-.-.
Use a hyphen between a number and the unit (name) "bit",
see "man-pages(7)", item "Terms to avoid".
234:\fBint png_image_write_to_file (png_imagep \fP\fIimage\fP\fB, const char
\fP\fI*file\fP\fB, int \fP\fIconvert_to_8bit\fP\fB, const void
\fP\fI*buffer\fP\fB, png_int_32 \fP\fIrow_stride\fP\fB, void
\fI*colormap\fP\fB);\fP
687:however, internally PNG, and libpng, use 32 bit signed integers and encode
4010:one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG),
-.-.
Use a character "\(->" instead of plain "->" or "\->", if not typeset with
a constant width font.
2542:image_background->gray.
4636: Free any data allocated by libpng in image->opaque,
-.-.
Protect "^From " from forcing a mail software to use "quoted-printable"
encoding, by adding "\&" in front of it.
1232:From libpng-1.5.4 this information can be set before reading the PNG file
5317:From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the
-.-.
Only one space character is after a possible end of sentence
(after a punctuation, that can end a sentence).
[List of affected lines removed.]
-.-.
Remove quotes when there is a printable
but no space character between them
and the quotes are not for emphasis (markup),
for example as an argument to a macro.
libpng.3:5980:.BR "png"(5)
-.-.
Use "\-" instead of "-" in web addresses.
589:<https://www.w3.org/TR/2025/REC-png-3-20250624/>.
593:<https://www.w3.org/TR/2003/REC-PNG-20031110/>.
603:W3C Recommendation at <https://www.w3.org/TR/REC-png-961001>.
6021:visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement
-.-.
Add "\&" after an ellipsis, when it does not end a sentence.
712: ...
1159: ...
1885:png_get_<chunk>(png_ptr, info_ptr, ...) functions return non-zero if the
2591: { ... colors ... };
3311: ...
3954: png_set_unknown_chunks(png_ptr, info_ptr, ...);
4292: 2) Call the appropriate png_image_begin_read... function.
4318: 3) Call the appropriate png_image_write... function with a
5019: fprintf(stderr, ...);
5743: AC_CHECK_LIB(png, png_get_io_ptr, ...)
5846: /* Maintainer: Put new public prototypes here ... */
5958: ...
5960: ...
5962: ...
5964: ...
5966: ...
-.-.
Output from "test-nroff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":
an.tmac:<stdin>:515: misuse, warning: .IR is for at least 2 arguments, got 1
Use macro '.I' for one argument or split the argument.
-.-
Spelling (codespell)
FOMAT -> FORMAT
-.-
Generally:
Split (sometimes) lines after a punctuation mark; before a conjunction.
--- libpng.3 2025-12-16 07:37:20.379863836 +0000
+++ libpng.3.new 2025-12-16 08:17:35.222012208 +0000
@@ -512,15 +512,15 @@ The
.I libpng
library supports encoding, decoding, and various manipulations of
the Portable Network Graphics (PNG) format image files. It uses the
-.IR zlib(3)
+.IR zlib (3)
compression library.
Following is a copy of the libpng-manual.txt file that accompanies libpng.
.SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng
- Copyright (c) 2018-2025 Cosmin Truta
- Copyright (c) 1998-2018 Glenn Randers-Pehrson
+ Copyright (c) 2018\(en2025 Cosmin Truta
+ Copyright (c) 1998\(en2018 Glenn Randers-Pehrson
This document is released under the libpng license.
For conditions of distribution and use, see the disclaimer
@@ -530,11 +530,11 @@ libpng-manual.txt - A description on how
libpng version 1.6.36, December 2018, through 1.6.53 - December 2025
Updated and distributed by Cosmin Truta
- Copyright (c) 2018-2025 Cosmin Truta
+ Copyright (c) 2018\(en2025 Cosmin Truta
libpng versions 0.97, January 1998, through 1.6.35 - July 2018
Updated and distributed by Glenn Randers-Pehrson
- Copyright (c) 1998-2018 Glenn Randers-Pehrson
+ Copyright (c) 1998\(en2018 Glenn Randers-Pehrson
libpng 1.0 beta 6 - version 0.96 - May 28, 1997
Updated and distributed by Andreas Dilger
@@ -684,7 +684,7 @@ to integers of particular sizes and type
One exception is how non-integral numbers are handled. For application
convenience most APIs that take such numbers have C (double) arguments;
-however, internally PNG, and libpng, use 32 bit signed integers and encode
+however, internally PNG, and libpng, use 32-bit signed integers and encode
the value by multiplying by 100,000. As of libpng 1.5.0 a convenience
macro PNG_FP_1 is defined in png.h along with a type (png_fixed_point)
which is simply (png_int_32).
@@ -1229,7 +1229,7 @@ If you intend to display the PNG or to i
need to tell libpng information about your display or drawing surface so that
libpng can convert the values in the image to match the display.
-From libpng-1.5.4 this information can be set before reading the PNG file
+\&From libpng-1.5.4 this information can be set before reading the PNG file
header. In earlier versions png_set_gamma() existed but behaved incorrectly if
called before the PNG file header had been read and png_set_alpha_mode() did
not
exist.
@@ -1873,7 +1873,7 @@ in until png_read_end() has read the chu
signature - holds the signature read from the
file (if any). The data is kept in
the same offset it would be if the
- whole signature were read (i.e. if an
+ whole signature were read (i.e.\& if an
application had already read in 4
bytes of signature before starting
libpng, the remaining 4 bytes would
@@ -2022,7 +2022,7 @@ png_set_rgb_to_gray()).
PNG_ITXT_COMPRESSION_zTXt
text_ptr[i].key - keyword for comment. Must contain
- 1-79 characters.
+ 1\(en79 characters.
text_ptr[i].text - text comments for current
keyword. Can be empty.
@@ -2388,7 +2388,7 @@ values of the pixels:
PNG files have possible bit depths of 1, 2, 4, 8, and 16. All pixels
stored in a PNG image have been "scaled" or "shifted" up to the next
-higher possible bit depth (e.g. from 5 bits/sample in the range [0,31]
+higher possible bit depth (e.g.\& from 5 bits/sample in the range [0,31]
to 8 bits/sample in the range [0, 255]). However, it is also possible
to convert the PNG pixel data back to the original bit depth of the
image. This call reduces the pixels back down to the original bit depth:
@@ -2610,8 +2610,8 @@ This function can also be used to invert
png_set_invert_mono(png_ptr);
PNG files store 16-bit pixels in network byte order (big-endian,
-ie. most significant bits first). This code changes the storage to the
-other way (little-endian, i.e. least significant bits first, the
+i.e.\& most significant bits first). This code changes the storage to the
+other way (little-endian, i.e.\& least significant bits first, the
way PCs store them):
if (bit_depth == 16)
@@ -2837,7 +2837,7 @@ libpng provides two macros to help you i
png_uint_32 height = PNG_PASS_ROWS(image_height, pass_number);
Respectively these tell you the width and height of the sub-image
-corresponding to the numbered pass. 'pass' is in in the range 0 to 6 -
+corresponding to the numbered pass. 'pass' is in the range 0 to 6 -
this can be confusing because the specification refers to the same passes
as 1 to 7! Be careful, you must check both the width and height before
calling png_read_rows() and not call it for that pass if either is zero.
@@ -3659,7 +3659,7 @@ width, height, bit_depth, and color_type
PNG_ITXT_COMPRESSION_NONE
PNG_ITXT_COMPRESSION_zTXt
text_ptr[i].key - keyword for comment. Must contain
- 1-79 characters.
+ 1\(en79 characters.
text_ptr[i].text - text comments for current
keyword. Can be NULL or empty.
text_ptr[i].text_length - length of text string,
@@ -3827,7 +3827,7 @@ time_t routine uses gmtime(). You don't
these, but if you wish to fill in the png_time structure directly,
you should provide the time in universal time (GMT) if possible
instead of your local time. Note that the year number is the full
-year (e.g. 1998, rather than 98 - PNG is year 2000 compliant!), and
+year (e.g.\& 1998, rather than 98 - PNG is year 2000 compliant!), and
that months start with 1.
If you want to store the time of the original image creation, you should
@@ -3837,7 +3837,7 @@ depending on whether you mean the PNG fi
created in a non-PNG format, a still photo from which the image was
scanned, or possibly the subject matter itself. In order to facilitate
machine-readable dates, it is recommended that the "Creation Time"
-tEXt chunk use RFC 1123 format dates (e.g. "22 May 1997 18:07:10 GMT"),
+tEXt chunk use RFC 1123 format dates (e.g.\& "22 May 1997 18:07:10 GMT"),
although this isn't a requirement. Unlike the tIME chunk, the
"Creation Time" tEXt chunk is not expected to be automatically changed
by the software. To facilitate the use of RFC 1123 dates, a function
@@ -4007,7 +4007,7 @@ file so that decoders can recover the or
png_set_sBIT(png_ptr, info_ptr, &sig_bit);
If the data is stored in the row buffer in a bit depth other than
-one supported by PNG (e.g. 3 bit data in the range 0-7 for a 4-bit PNG),
+one supported by PNG (e.g.\& 3-bit data in the range 0\(en7 for a 4-bit PNG),
this will scale the values to appear to be the correct bit depth as
is required by PNG.
@@ -4015,7 +4015,7 @@ is required by PNG.
PNG files store 16-bit pixels in network byte order (big-endian,
ie. most significant bits first). This code would be used if they are
-supplied the other way (little-endian, i.e. least significant bits
+supplied the other way (little-endian, i.e.\& least significant bits
first, the way PCs store them):
if (bit_depth > 8)
@@ -4454,7 +4454,7 @@ swapping the bytes to a different endian
With color-mapped formats the image data is one byte for each pixel. The byte
is an index into the color-map which is formatted as above. To obtain a
-color-mapped format it is sufficient just to add the PNG_FOMAT_FLAG_COLORMAP
+color-mapped format it is sufficient just to add the PNG_FORMAT_FLAG_COLORMAP
to one of the above definitions, or you can use one of the definitions below.
PNG_FORMAT_RGB_COLORMAP
@@ -4879,7 +4879,7 @@ most useful one changes the compression
input compression values in the range 0 - 9. The library normally
uses the default compression level (Z_DEFAULT_COMPRESSION = 6). Tests
have shown that for a large majority of images, compression values in
-the range 3-6 compress nearly as well as higher levels, and do so much
+the range 3\(en6 compress nearly as well as higher levels, and do so much
faster. For online applications it may be desirable to have maximum speed
(Z_BEST_SPEED = 1). With versions of zlib after v0.99, you can also
specify no compression (Z_NO_COMPRESSION = 0), but this would create
@@ -5279,7 +5279,7 @@ to
This also applies to the prototype for the user replacement malloc_fn().
The png_calloc() function was added and is used in place of
-of "png_malloc(); memset();" except in the case in png_read_png()
+"png_malloc(); memset();" except in the case in png_read_png()
where the array consists of pointers; in this case a "for" loop is used
after the png_malloc() to set the pointers to NULL, to give robust.
behavior in case the application runs out of memory part-way through
@@ -5314,7 +5314,7 @@ We removed the trailing '.' from the war
.SH XI. Changes to Libpng from version 1.4.x to 1.5.x
-From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the
+\&From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the
function) incorrectly returned a value of type png_uint_32.
The incorrect macro was removed from libpng-1.4.5.
@@ -5544,7 +5544,9 @@ Library builders should remove use of th
2) Warning and error message formatting was previously conditional on
the STDIO feature. The library has been changed to use the
CONSOLE_IO feature instead. This means that if CONSOLE_IO is disabled
-the library no longer uses the printf(3) functions, even though the
+the library no longer uses the
+.IR printf (3)
+functions, even though the
default read/write implementations use (FILE) style stdio.h functions.
3) Three feature macros now control the fixed/floating point decisions:
@@ -5688,12 +5690,12 @@ in the tarball releases, however.
Libpng-1.6.0 through 1.6.2 used the CMF bytes at the beginning of the IDAT
stream to set the size of the sliding window for reading instead of using the
-default 32-kbyte sliding window size. It was discovered that there are
+default 32-kilobyte sliding window size. It was discovered that there are
hundreds of PNG files in the wild that have incorrect CMF bytes that caused
zlib to issue the "invalid distance too far back" error and reject the file.
Libpng-1.6.3 and later calculate their own safe CMF from the image dimensions,
provide a way to revert to the libpng-1.5.x behavior (ignoring the CMF bytes
-and using a 32-kbyte sliding window), by using
+and using a 32-kilobyte sliding window), by using
png_set_option(png_ptr, PNG_MAXIMUM_INFLATE_WINDOW,
PNG_OPTION_ON);
@@ -5977,7 +5979,7 @@ letter, until version 1.0.6j; from then
public release number plus "betaNN" or "rcNN".
.SH "SEE ALSO"
-.BR "png"(5)
+.BR png (5)
.IP
The PNG (Portable Network Graphics) format specification.
.LP
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)
-.-