cairo 1.14.3-x86-mingw32 → 1.14.6-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of cairo might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/NEWS +11 -0
- data/Rakefile +11 -9
- data/ext/cairo/rb_cairo.h +2 -2
- data/ext/cairo/rb_cairo_font_options.c +5 -1
- data/ext/cairo/rb_cairo_surface.c +28 -5
- data/lib/2.2/cairo.so +0 -0
- data/lib/2.3/cairo.so +0 -0
- data/test/test_font_options.rb +47 -2
- data/vendor/local/bin/fc-cache.exe +0 -0
- data/vendor/local/bin/fc-cat.exe +0 -0
- data/vendor/local/bin/fc-list.exe +0 -0
- data/vendor/local/bin/fc-match.exe +0 -0
- data/vendor/local/bin/fc-pattern.exe +0 -0
- data/vendor/local/bin/fc-query.exe +0 -0
- data/vendor/local/bin/fc-scan.exe +0 -0
- data/vendor/local/bin/fc-validate.exe +0 -0
- data/vendor/local/bin/freetype-config +6 -8
- data/vendor/local/bin/libcairo-2.dll +0 -0
- data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
- data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
- data/vendor/local/bin/libfontconfig-1.dll +0 -0
- data/vendor/local/bin/libfreetype-6.dll +0 -0
- data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
- data/vendor/local/bin/libpixman-1-0.dll +0 -0
- data/vendor/local/bin/libpng-config +1 -1
- data/vendor/local/bin/libpng16-16.dll +0 -0
- data/vendor/local/bin/libpng16-config +1 -1
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/libwinpthread-1.dll +0 -0
- data/vendor/local/bin/libxml2-2.dll +0 -0
- data/vendor/local/bin/png-fix-itxt.exe +0 -0
- data/vendor/local/bin/pngfix.exe +0 -0
- data/vendor/local/bin/xmlcatalog.exe +0 -0
- data/vendor/local/bin/xmllint.exe +0 -0
- data/vendor/local/bin/zlib1.dll +0 -0
- data/vendor/local/include/cairo/cairo-features.h +15 -0
- data/vendor/local/include/cairo/cairo-version.h +1 -1
- data/vendor/local/include/freetype2/{config → freetype/config}/ftconfig.h +15 -9
- data/vendor/local/include/freetype2/{config → freetype/config}/ftheader.h +64 -65
- data/vendor/local/include/freetype2/{config → freetype/config}/ftmodule.h +0 -0
- data/vendor/local/include/freetype2/{config → freetype/config}/ftoption.h +29 -64
- data/vendor/local/include/freetype2/{config → freetype/config}/ftstdlib.h +6 -6
- data/vendor/local/include/freetype2/{freetype.h → freetype/freetype.h} +270 -67
- data/vendor/local/include/freetype2/{ftadvanc.h → freetype/ftadvanc.h} +4 -4
- data/vendor/local/include/freetype2/{ftautoh.h → freetype/ftautoh.h} +59 -6
- data/vendor/local/include/freetype2/{ftbbox.h → freetype/ftbbox.h} +4 -4
- data/vendor/local/include/freetype2/{ftbdf.h → freetype/ftbdf.h} +4 -4
- data/vendor/local/include/freetype2/{ftbitmap.h → freetype/ftbitmap.h} +4 -4
- data/vendor/local/include/freetype2/{ftbzip2.h → freetype/ftbzip2.h} +4 -4
- data/vendor/local/include/freetype2/{ftcache.h → freetype/ftcache.h} +4 -4
- data/vendor/local/include/freetype2/{ftcffdrv.h → freetype/ftcffdrv.h} +8 -8
- data/vendor/local/include/freetype2/{ftchapters.h → freetype/ftchapters.h} +14 -0
- data/vendor/local/include/freetype2/{ftcid.h → freetype/ftcid.h} +4 -4
- data/vendor/local/include/freetype2/{fterrdef.h → freetype/fterrdef.h} +39 -12
- data/vendor/local/include/freetype2/{fterrors.h → freetype/fterrors.h} +73 -45
- data/vendor/local/include/freetype2/{ftfntfmt.h → freetype/ftfntfmt.h} +7 -4
- data/vendor/local/include/freetype2/{ftgasp.h → freetype/ftgasp.h} +4 -4
- data/vendor/local/include/freetype2/{ftglyph.h → freetype/ftglyph.h} +4 -4
- data/vendor/local/include/freetype2/{ftgxval.h → freetype/ftgxval.h} +4 -4
- data/vendor/local/include/freetype2/{ftgzip.h → freetype/ftgzip.h} +4 -4
- data/vendor/local/include/freetype2/{ftimage.h → freetype/ftimage.h} +6 -6
- data/vendor/local/include/freetype2/{ftincrem.h → freetype/ftincrem.h} +4 -4
- data/vendor/local/include/freetype2/{ftlcdfil.h → freetype/ftlcdfil.h} +111 -76
- data/vendor/local/include/freetype2/{ftlist.h → freetype/ftlist.h} +4 -4
- data/vendor/local/include/freetype2/{ftlzw.h → freetype/ftlzw.h} +4 -4
- data/vendor/local/include/freetype2/{ftmac.h → freetype/ftmac.h} +4 -4
- data/vendor/local/include/freetype2/{ftmm.h → freetype/ftmm.h} +10 -5
- data/vendor/local/include/freetype2/{ftmodapi.h → freetype/ftmodapi.h} +15 -17
- data/vendor/local/include/freetype2/{ftmoderr.h → freetype/ftmoderr.h} +5 -5
- data/vendor/local/include/freetype2/{ftotval.h → freetype/ftotval.h} +4 -4
- data/vendor/local/include/freetype2/{ftoutln.h → freetype/ftoutln.h} +6 -6
- data/vendor/local/include/freetype2/{ftpfr.h → freetype/ftpfr.h} +4 -4
- data/vendor/local/include/freetype2/{ftrender.h → freetype/ftrender.h} +4 -4
- data/vendor/local/include/freetype2/{ftsizes.h → freetype/ftsizes.h} +4 -4
- data/vendor/local/include/freetype2/{ftsnames.h → freetype/ftsnames.h} +4 -4
- data/vendor/local/include/freetype2/{ftstroke.h → freetype/ftstroke.h} +4 -4
- data/vendor/local/include/freetype2/{ftsynth.h → freetype/ftsynth.h} +4 -4
- data/vendor/local/include/freetype2/{ftsystem.h → freetype/ftsystem.h} +4 -4
- data/vendor/local/include/freetype2/{fttrigon.h → freetype/fttrigon.h} +6 -6
- data/vendor/local/include/freetype2/{ftttdrv.h → freetype/ftttdrv.h} +81 -4
- data/vendor/local/include/freetype2/{fttypes.h → freetype/fttypes.h} +4 -4
- data/vendor/local/include/freetype2/{ftwinfnt.h → freetype/ftwinfnt.h} +4 -4
- data/vendor/local/include/freetype2/{t1tables.h → freetype/t1tables.h} +4 -4
- data/vendor/local/include/freetype2/{ttnameid.h → freetype/ttnameid.h} +4 -4
- data/vendor/local/include/freetype2/{tttables.h → freetype/tttables.h} +4 -4
- data/vendor/local/include/freetype2/{tttags.h → freetype/tttags.h} +4 -4
- data/vendor/local/include/freetype2/{ttunpat.h → freetype/ttunpat.h} +11 -8
- data/vendor/local/include/freetype2/ft2build.h +5 -5
- data/vendor/local/include/libpng16/png.h +310 -318
- data/vendor/local/include/libpng16/pngconf.h +8 -8
- data/vendor/local/include/libpng16/pnglibconf.h +3 -4
- data/vendor/local/include/png.h +310 -318
- data/vendor/local/include/pngconf.h +8 -8
- data/vendor/local/include/pnglibconf.h +3 -4
- data/vendor/local/lib/libcairo-gobject.a +0 -0
- data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
- data/vendor/local/lib/libcairo-gobject.la +2 -2
- data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.la +1 -1
- data/vendor/local/lib/libcairo.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libcairo.la +1 -1
- data/vendor/local/lib/libfontconfig.dll.a +0 -0
- data/vendor/local/lib/libfreetype.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libfreetype.la +1 -1
- data/vendor/local/lib/libpixman-1.a +0 -0
- data/vendor/local/lib/libpixman-1.dll.a +0 -0
- data/vendor/local/lib/libpng.a +0 -0
- data/vendor/local/lib/libpng.dll.a +0 -0
- data/vendor/local/lib/libpng.la +2 -2
- data/vendor/local/lib/libpng16.a +0 -0
- data/vendor/local/lib/libpng16.dll.a +0 -0
- data/vendor/local/lib/libpng16.la +2 -2
- data/vendor/local/lib/libxml2.a +0 -0
- data/vendor/local/lib/libxml2.dll.a +0 -0
- data/vendor/local/lib/libz.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
- data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
- data/vendor/local/lib/pkgconfig/freetype2.pc +3 -3
- data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
- data/vendor/local/share/aclocal/freetype2.m4 +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +4 -4
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +3 -3
- data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +6 -6
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +3 -3
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +10 -10
- data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +3 -3
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +14 -14
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +5 -5
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +1 -1
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +3 -3
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +4 -4
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +2 -2
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +31 -31
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +12 -12
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +18 -18
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +8 -8
- data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +11 -11
- data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +1 -0
- data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +2 -2
- data/vendor/local/share/gtk-doc/html/cairo/index-1.14.html +52 -0
- data/vendor/local/share/gtk-doc/html/cairo/index.html +2 -1
- data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +2 -2
- data/vendor/local/share/license/freetype/README +7 -6
- data/vendor/local/share/license/freetype/README.git +1 -1
- data/vendor/local/share/license/libpng/README +1 -1
- data/vendor/local/share/man/man1/freetype-config.1 +1 -1
- data/vendor/local/share/man/man3/libpng.3 +308 -352
- data/vendor/local/share/man/man3/libpngpf.3 +2 -2
- data/vendor/local/share/man/man5/png.5 +4 -4
- metadata +72 -72
- data/lib/2.0/cairo.so +0 -0
- data/lib/2.1/cairo.so +0 -0
@@ -582,7 +582,7 @@ destroyed if there are no other references to it.</p>
|
|
582
582
|
</tr>
|
583
583
|
<tr>
|
584
584
|
<td class="parameter_name"><p>font_face</p></td>
|
585
|
-
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, or <code class="literal">NULL</code> to restore to the default font</p></td>
|
585
|
+
<td class="parameter_description"><p>a <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to restore to the default font</p></td>
|
586
586
|
<td class="parameter_annotations"> </td>
|
587
587
|
</tr>
|
588
588
|
</tbody>
|
@@ -616,7 +616,7 @@ cairo_get_font_face (<em class="parameter"><code><a class="link" href="cairo-cai
|
|
616
616
|
<p> the current font face. This object is owned by
|
617
617
|
cairo. To keep a reference to it, you must call
|
618
618
|
<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-reference" title="cairo_font_face_reference ()"><code class="function">cairo_font_face_reference()</code></a>.</p>
|
619
|
-
<p>This function never returns <code class="literal">NULL</code>. If memory cannot be allocated, a
|
619
|
+
<p>This function never returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot be allocated, a
|
620
620
|
special "nil" <a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-t" title="cairo_font_face_t"><span class="type">cairo_font_face_t</span></a> object will be returned on which
|
621
621
|
<a class="link" href="cairo-cairo-font-face-t.html#cairo-font-face-status" title="cairo_font_face_status ()"><code class="function">cairo_font_face_status()</code></a> returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>. Using
|
622
622
|
this nil object will cause its error state to propagate to other
|
@@ -688,7 +688,7 @@ cairo_get_scaled_font (<em class="parameter"><code><a class="link" href="cairo-c
|
|
688
688
|
<p> the current scaled font. This object is owned by
|
689
689
|
cairo. To keep a reference to it, you must call
|
690
690
|
<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-reference" title="cairo_scaled_font_reference ()"><code class="function">cairo_scaled_font_reference()</code></a>.</p>
|
691
|
-
<p>This function never returns <code class="literal">NULL</code>. If memory cannot be allocated, a
|
691
|
+
<p>This function never returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If memory cannot be allocated, a
|
692
692
|
special "nil" <a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-t" title="cairo_scaled_font_t"><span class="type">cairo_scaled_font_t</span></a> object will be returned on which
|
693
693
|
<a class="link" href="cairo-cairo-scaled-font-t.html#cairo-scaled-font-status" title="cairo_scaled_font_status ()"><code class="function">cairo_scaled_font_status()</code></a> returns <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-NO-MEMORY:CAPS"><code class="literal">CAIRO_STATUS_NO_MEMORY</code></a>. Using
|
694
694
|
this nil object will cause its error state to propagate to other
|
@@ -739,7 +739,7 @@ serious text-using applications. See <a class="link" href="cairo-text.html#cairo
|
|
739
739
|
</tr>
|
740
740
|
<tr>
|
741
741
|
<td class="parameter_name"><p>utf8</p></td>
|
742
|
-
<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <code class="literal">NULL</code></p></td>
|
742
|
+
<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
743
743
|
<td class="parameter_annotations"> </td>
|
744
744
|
</tr>
|
745
745
|
</tbody>
|
@@ -948,7 +948,7 @@ affect the x_advance and y_advance values.</p>
|
|
948
948
|
</tr>
|
949
949
|
<tr>
|
950
950
|
<td class="parameter_name"><p>utf8</p></td>
|
951
|
-
<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <code class="literal">NULL</code></p></td>
|
951
|
+
<td class="parameter_description"><p>a NUL-terminated string of text encoded in UTF-8, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
952
952
|
<td class="parameter_annotations"> </td>
|
953
953
|
</tr>
|
954
954
|
<tr>
|
@@ -1161,9 +1161,9 @@ This function is only useful in implementations of
|
|
1161
1161
|
needs to allocate an array of glyphs that cairo will free.
|
1162
1162
|
For all other uses, user can use their own allocation method
|
1163
1163
|
for glyphs.</p>
|
1164
|
-
<p>This function returns <code class="literal">NULL</code> if <em class="parameter"><code>num_glyphs</code></em>
|
1164
|
+
<p>This function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>num_glyphs</code></em>
|
1165
1165
|
is not positive,
|
1166
|
-
or if out of memory. That means, the <code class="literal">NULL</code> return value
|
1166
|
+
or if out of memory. That means, the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> return value
|
1167
1167
|
signals out-of-memory only if <em class="parameter"><code>num_glyphs</code></em>
|
1168
1168
|
was positive.</p>
|
1169
1169
|
<div class="refsect3">
|
@@ -1210,7 +1210,7 @@ for glyphs.</p>
|
|
1210
1210
|
</colgroup>
|
1211
1211
|
<tbody><tr>
|
1212
1212
|
<td class="parameter_name"><p>glyphs</p></td>
|
1213
|
-
<td class="parameter_description"><p>array of glyphs to free, or <code class="literal">NULL</code></p></td>
|
1213
|
+
<td class="parameter_description"><p>array of glyphs to free, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
1214
1214
|
<td class="parameter_annotations"> </td>
|
1215
1215
|
</tr></tbody>
|
1216
1216
|
</table></div>
|
@@ -1228,9 +1228,9 @@ This function is only useful in implementations of
|
|
1228
1228
|
needs to allocate an array of text clusters that cairo will free.
|
1229
1229
|
For all other uses, user can use their own allocation method
|
1230
1230
|
for text clusters.</p>
|
1231
|
-
<p>This function returns <code class="literal">NULL</code> if <em class="parameter"><code>num_clusters</code></em>
|
1231
|
+
<p>This function returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>num_clusters</code></em>
|
1232
1232
|
is not positive,
|
1233
|
-
or if out of memory. That means, the <code class="literal">NULL</code> return value
|
1233
|
+
or if out of memory. That means, the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> return value
|
1234
1234
|
signals out-of-memory only if <em class="parameter"><code>num_clusters</code></em>
|
1235
1235
|
was positive.</p>
|
1236
1236
|
<div class="refsect3">
|
@@ -1277,7 +1277,7 @@ for text clusters.</p>
|
|
1277
1277
|
</colgroup>
|
1278
1278
|
<tbody><tr>
|
1279
1279
|
<td class="parameter_name"><p>clusters</p></td>
|
1280
|
-
<td class="parameter_description"><p>array of text clusters to free, or <code class="literal">NULL</code></p></td>
|
1280
|
+
<td class="parameter_description"><p>array of text clusters to free, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
|
1281
1281
|
<td class="parameter_annotations"> </td>
|
1282
1282
|
</tr></tbody>
|
1283
1283
|
</table></div>
|
@@ -49,6 +49,7 @@
|
|
49
49
|
<sub name="Index of new symbols in 1.8" link="index-1.8.html"/>
|
50
50
|
<sub name="Index of new symbols in 1.10" link="index-1.10.html"/>
|
51
51
|
<sub name="Index of new symbols in 1.12" link="index-1.12.html"/>
|
52
|
+
<sub name="Index of new symbols in 1.14" link="index-1.14.html"/>
|
52
53
|
<sub name="Creating a language binding for cairo" link="language-bindings.html">
|
53
54
|
<sub name="General considerations" link="language-bindings.html#bindings-general"/>
|
54
55
|
<sub name="Memory management" link="bindings-memory.html"/>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
|
8
8
|
<link rel="up" href="index.html" title="Cairo: A Vector Graphics Library">
|
9
9
|
<link rel="prev" href="index-1.10.html" title="Index of new symbols in 1.10">
|
10
|
-
<link rel="next" href="
|
10
|
+
<link rel="next" href="index-1.14.html" title="Index of new symbols in 1.14">
|
11
11
|
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
|
12
12
|
<link rel="stylesheet" href="style.css" type="text/css">
|
13
13
|
</head>
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
18
18
|
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
|
19
19
|
<td><a accesskey="p" href="index-1.10.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
20
|
-
<td><a accesskey="n" href="
|
20
|
+
<td><a accesskey="n" href="index-1.14.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
21
21
|
</tr></table>
|
22
22
|
<div class="index">
|
23
23
|
<div class="titlepage"><div><div><h1 class="title">
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
5
|
+
<title>Cairo: A Vector Graphics Library: Index of new symbols in 1.14</title>
|
6
|
+
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
7
|
+
<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
|
8
|
+
<link rel="up" href="index.html" title="Cairo: A Vector Graphics Library">
|
9
|
+
<link rel="prev" href="index-1.12.html" title="Index of new symbols in 1.12">
|
10
|
+
<link rel="next" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo">
|
11
|
+
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
|
12
|
+
<link rel="stylesheet" href="style.css" type="text/css">
|
13
|
+
</head>
|
14
|
+
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
15
|
+
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
|
16
|
+
<td width="100%" align="left" class="shortcuts"></td>
|
17
|
+
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
18
|
+
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
|
19
|
+
<td><a accesskey="p" href="index-1.12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
20
|
+
<td><a accesskey="n" href="language-bindings.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
21
|
+
</tr></table>
|
22
|
+
<div class="index">
|
23
|
+
<div class="titlepage"><div><div><h1 class="title">
|
24
|
+
<a name="index-1.14"></a>Index of new symbols in 1.14</h1></div></div></div>
|
25
|
+
<div class="index">
|
26
|
+
<div class="indexdiv">
|
27
|
+
<h3>M</h3>
|
28
|
+
<dl>
|
29
|
+
<dt>CAIRO_MIME_TYPE_JBIG2, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2:CAPS">CAIRO_MIME_TYPE_JBIG2</a>
|
30
|
+
</dt>
|
31
|
+
<dt>CAIRO_MIME_TYPE_JBIG2_GLOBAL, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL</a>
|
32
|
+
</dt>
|
33
|
+
<dt>CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID, <a class="indexterm" href="cairo-cairo-surface-t.html#CAIRO-MIME-TYPE-JBIG2-GLOBAL-ID:CAPS">CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID</a>
|
34
|
+
</dt>
|
35
|
+
</dl>
|
36
|
+
</div>
|
37
|
+
<div class="indexdiv">
|
38
|
+
<h3>S</h3>
|
39
|
+
<dl>
|
40
|
+
<dt>cairo_surface_get_device_scale, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-get-device-scale">cairo_surface_get_device_scale ()</a>
|
41
|
+
</dt>
|
42
|
+
<dt>cairo_surface_set_device_scale, <a class="indexterm" href="cairo-cairo-surface-t.html#cairo-surface-set-device-scale">cairo_surface_set_device_scale ()</a>
|
43
|
+
</dt>
|
44
|
+
</dl>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
<div class="footer">
|
49
|
+
<hr>
|
50
|
+
Generated by GTK-Doc V1.20</div>
|
51
|
+
</body>
|
52
|
+
</html>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<div class="titlepage">
|
15
15
|
<div>
|
16
16
|
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">Cairo: A Vector Graphics Library</p></th></tr></table></div>
|
17
|
-
<div><p class="releaseinfo">for Cairo 1.14.
|
17
|
+
<div><p class="releaseinfo">for Cairo 1.14.6
|
18
18
|
</p></div>
|
19
19
|
</div>
|
20
20
|
<hr>
|
@@ -135,6 +135,7 @@
|
|
135
135
|
<dt><span class="index"><a href="index-1.8.html">Index of new symbols in 1.8</a></span></dt>
|
136
136
|
<dt><span class="index"><a href="index-1.10.html">Index of new symbols in 1.10</a></span></dt>
|
137
137
|
<dt><span class="index"><a href="index-1.12.html">Index of new symbols in 1.12</a></span></dt>
|
138
|
+
<dt><span class="index"><a href="index-1.14.html">Index of new symbols in 1.14</a></span></dt>
|
138
139
|
<dt><span class="appendix"><a href="language-bindings.html">A. Creating a language binding for cairo</a></span></dt>
|
139
140
|
<dd><dl>
|
140
141
|
<dt><span class="sect1"><a href="language-bindings.html#bindings-general">General considerations</a></span></dt>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
|
7
7
|
<link rel="home" href="index.html" title="Cairo: A Vector Graphics Library">
|
8
8
|
<link rel="up" href="index.html" title="Cairo: A Vector Graphics Library">
|
9
|
-
<link rel="prev" href="index-1.
|
9
|
+
<link rel="prev" href="index-1.14.html" title="Index of new symbols in 1.14">
|
10
10
|
<link rel="next" href="bindings-memory.html" title="Memory management">
|
11
11
|
<meta name="generator" content="GTK-Doc V1.20 (XML mode)">
|
12
12
|
<link rel="stylesheet" href="style.css" type="text/css">
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<td width="100%" align="left" class="shortcuts"></td>
|
17
17
|
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
|
18
18
|
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
|
19
|
-
<td><a accesskey="p" href="index-1.
|
19
|
+
<td><a accesskey="p" href="index-1.14.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
|
20
20
|
<td><a accesskey="n" href="bindings-memory.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
|
21
21
|
</tr></table>
|
22
22
|
<div class="appendix">
|
@@ -1,5 +1,5 @@
|
|
1
|
-
FreeType 2.6
|
2
|
-
|
1
|
+
FreeType 2.6.3
|
2
|
+
==============
|
3
3
|
|
4
4
|
Homepage: http://www.freetype.org
|
5
5
|
|
@@ -24,9 +24,9 @@
|
|
24
24
|
|
25
25
|
and download one of the following files.
|
26
26
|
|
27
|
-
freetype-doc-2.6.tar.bz2
|
28
|
-
freetype-doc-2.6.tar.gz
|
29
|
-
|
27
|
+
freetype-doc-2.6.3.tar.bz2
|
28
|
+
freetype-doc-2.6.3.tar.gz
|
29
|
+
ftdoc263.zip
|
30
30
|
|
31
31
|
To view the documentation online, go to
|
32
32
|
|
@@ -42,6 +42,7 @@
|
|
42
42
|
general use and discussion: freetype@nongnu.org
|
43
43
|
engine internals, porting, etc.: freetype-devel@nongnu.org
|
44
44
|
announcements: freetype-announce@nongnu.org
|
45
|
+
git repository tracker: freetype-commit@nongnu.org
|
45
46
|
|
46
47
|
The lists are moderated; see
|
47
48
|
|
@@ -70,7 +71,7 @@
|
|
70
71
|
|
71
72
|
----------------------------------------------------------------------
|
72
73
|
|
73
|
-
Copyright 2006-
|
74
|
+
Copyright 2006-2016 by
|
74
75
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
75
76
|
|
76
77
|
This file is part of the FreeType project, and may only be used,
|
@@ -37,7 +37,7 @@ repository.
|
|
37
37
|
|
38
38
|
----------------------------------------------------------------------
|
39
39
|
|
40
|
-
Copyright 2005-
|
40
|
+
Copyright 2005-2016 by
|
41
41
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
42
42
|
|
43
43
|
This file is part of the FreeType project, and may only be used,
|
@@ -1,6 +1,6 @@
|
|
1
|
-
.TH LIBPNG 3 "
|
1
|
+
.TH LIBPNG 3 "June 9, 2016"
|
2
2
|
.SH NAME
|
3
|
-
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.
|
3
|
+
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.23
|
4
4
|
.SH SYNOPSIS
|
5
5
|
\fB
|
6
6
|
#include <png.h>\fP
|
@@ -229,6 +229,8 @@ libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18
|
|
229
229
|
|
230
230
|
\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
|
231
231
|
|
232
|
+
\fBint png_image_write_to_memory (png_imagep \fP\fIimage\fP\fB, void \fP\fI*memory\fP\fB, png_alloc_size_t * PNG_RESTRICT \fP\fImemory_bytes\fP\fB, int \fP\fIconvert_to_8_bit\fP\fB, const void \fP\fI*buffer\fP\fB, png_int_32 \fP\fIrow_stride\fP\fB, const void \fI*colormap)\fP\fB);\fP
|
233
|
+
|
232
234
|
\fBint png_image_write_to_stdio (png_imagep \fP\fIimage\fP\fB, FILE \fP\fI*file\fP\fB, int \fP\fIconvert_to_8_bit\fP\fB, const void \fP\fI*buffer\fP\fB, png_int_32 \fP\fIrow_stride\fP\fB, void \fI*colormap)\fP\fB);\fP
|
233
235
|
|
234
236
|
\fBvoid png_info_init_3 (png_infopp \fP\fIinfo_ptr\fP\fB, png_size_t \fIpng_info_struct_size\fP\fB);\fP
|
@@ -508,10 +510,10 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
|
|
508
510
|
.SH LIBPNG.TXT
|
509
511
|
libpng-manual.txt - A description on how to use and modify libpng
|
510
512
|
|
511
|
-
libpng version 1.6.
|
513
|
+
libpng version 1.6.23 - June 9, 2016
|
512
514
|
Updated and distributed by Glenn Randers-Pehrson
|
513
515
|
<glennrp at users.sourceforge.net>
|
514
|
-
Copyright (c) 1998-
|
516
|
+
Copyright (c) 1998-2016 Glenn Randers-Pehrson
|
515
517
|
|
516
518
|
This document is released under the libpng license.
|
517
519
|
For conditions of distribution and use, see the disclaimer
|
@@ -519,9 +521,9 @@ libpng-manual.txt - A description on how to use and modify libpng
|
|
519
521
|
|
520
522
|
Based on:
|
521
523
|
|
522
|
-
libpng versions 0.97, January 1998, through 1.6.
|
524
|
+
libpng versions 0.97, January 1998, through 1.6.23 - June 9, 2016
|
523
525
|
Updated and distributed by Glenn Randers-Pehrson
|
524
|
-
Copyright (c) 1998-
|
526
|
+
Copyright (c) 1998-2016 Glenn Randers-Pehrson
|
525
527
|
|
526
528
|
libpng 1.0 beta 6 - version 0.96 - May 28, 1997
|
527
529
|
Updated and distributed by Andreas Dilger
|
@@ -578,15 +580,16 @@ a W3C Recommendation and as an ISO Standard (ISO/IEC 15948:2004 (E)) at
|
|
578
580
|
The W3C and ISO documents have identical technical content.
|
579
581
|
|
580
582
|
The PNG-1.2 specification is available at
|
581
|
-
<http://
|
583
|
+
<http://png-mng.sourceforge.net/pub/png/spec/1.2/>.
|
584
|
+
It is technically equivalent
|
582
585
|
to the PNG specification (second edition) but has some additional material.
|
583
586
|
|
584
|
-
The PNG-1.0 specification is available
|
585
|
-
|
586
|
-
W3C Recommendation <http://www.w3.org/TR/REC
|
587
|
+
The PNG-1.0 specification is available as RFC 2083
|
588
|
+
<http://png-mng.sourceforge.net/pub/png/spec/1.0/> and as a
|
589
|
+
W3C Recommendation <http://www.w3.org/TR/REC-png-961001>.
|
587
590
|
|
588
591
|
Some additional chunks are described in the special-purpose public chunks
|
589
|
-
documents at <http://www.libpng.org/pub/png/
|
592
|
+
documents at <http://www.libpng.org/pub/png/spec/register/>
|
590
593
|
|
591
594
|
Other information
|
592
595
|
about PNG, and the latest version of libpng, can be found at the PNG home
|
@@ -608,7 +611,7 @@ majority of the needs of its users.
|
|
608
611
|
|
609
612
|
Libpng uses zlib for its compression and decompression of PNG files.
|
610
613
|
Further information about zlib, and the latest version of zlib, can
|
611
|
-
be found at the zlib home page, <http://
|
614
|
+
be found at the zlib home page, <http://zlib.net/>.
|
612
615
|
The zlib compression utility is a general purpose utility that is
|
613
616
|
useful for more than PNG files, and can be used without libpng.
|
614
617
|
See the documentation delivered with zlib for more details.
|
@@ -1157,6 +1160,7 @@ callback function:
|
|
1157
1160
|
|
1158
1161
|
The PNG specification allows the width and height of an image to be as
|
1159
1162
|
large as 2^(31\-1 (0x7fffffff), or about 2.147 billion rows and columns.
|
1163
|
+
For safety, libpng imposes a default limit of 1 million rows and columns.
|
1160
1164
|
Larger images will be rejected immediately with a png_error() call. If
|
1161
1165
|
you wish to change these limits, you can use
|
1162
1166
|
|
@@ -1177,8 +1181,11 @@ If you need to retrieve the limits that are being applied, use
|
|
1177
1181
|
height_max = png_get_user_height_max(png_ptr);
|
1178
1182
|
|
1179
1183
|
The PNG specification sets no limit on the number of ancillary chunks
|
1180
|
-
allowed in a PNG datastream.
|
1181
|
-
of sPLT, tEXt, iTXt, zTXt, and unknown chunks
|
1184
|
+
allowed in a PNG datastream. By default, libpng imposes a limit of
|
1185
|
+
a total of 1000 sPLT, tEXt, iTXt, zTXt, and unknown chunks to be stored.
|
1186
|
+
If you have set up both info_ptr and end_info_ptr, the limit applies
|
1187
|
+
separately to each. You can change the limit on the total number of such
|
1188
|
+
chunks that will be stored, with
|
1182
1189
|
|
1183
1190
|
png_set_chunk_cache_max(png_ptr, user_chunk_cache_max);
|
1184
1191
|
|
@@ -1186,8 +1193,9 @@ where 0x7fffffffL means unlimited. You can retrieve this limit with
|
|
1186
1193
|
|
1187
1194
|
chunk_cache_max = png_get_chunk_cache_max(png_ptr);
|
1188
1195
|
|
1189
|
-
|
1190
|
-
other than IDAT can occupy,
|
1196
|
+
Libpng imposes a limit of 8 Megabytes (8,000,000 bytes) on the amount of
|
1197
|
+
memory that a compressed chunk other than IDAT can occupy, when decompressed.
|
1198
|
+
You can change this limit with
|
1191
1199
|
|
1192
1200
|
png_set_chunk_malloc_max(png_ptr, user_chunk_malloc_max);
|
1193
1201
|
|
@@ -2187,15 +2195,16 @@ described below.
|
|
2187
2195
|
Data will be decoded into the supplied row buffers packed into bytes
|
2188
2196
|
unless the library has been told to transform it into another format.
|
2189
2197
|
For example, 4 bit/pixel paletted or grayscale data will be returned
|
2190
|
-
2 pixels/byte with the leftmost pixel in the high-order bits of the
|
2191
|
-
|
2198
|
+
2 pixels/byte with the leftmost pixel in the high-order bits of the byte,
|
2199
|
+
unless png_set_packing() is called. 8-bit RGB data will be stored
|
2192
2200
|
in RGB RGB RGB format unless png_set_filler() or png_set_add_alpha()
|
2193
2201
|
is called to insert filler bytes, either before or after each RGB triplet.
|
2202
|
+
|
2194
2203
|
16-bit RGB data will be returned RRGGBB RRGGBB, with the most significant
|
2195
2204
|
byte of the color value first, unless png_set_scale_16() is called to
|
2196
2205
|
transform it to regular RGB RGB triplets, or png_set_filler() or
|
2197
|
-
png_set_add alpha() is called to insert filler bytes, either before
|
2198
|
-
after each RRGGBB triplet. Similarly, 8-bit or 16-bit grayscale data can
|
2206
|
+
png_set_add alpha() is called to insert two filler bytes, either before
|
2207
|
+
or after each RRGGBB triplet. Similarly, 8-bit or 16-bit grayscale data can
|
2199
2208
|
be modified with png_set_filler(), png_set_add_alpha(), png_set_strip_16(),
|
2200
2209
|
or png_set_scale_16().
|
2201
2210
|
|
@@ -2352,12 +2361,13 @@ into 4 or 8 bytes for windowing systems that need them in this format:
|
|
2352
2361
|
if (color_type == PNG_COLOR_TYPE_RGB)
|
2353
2362
|
png_set_filler(png_ptr, filler, PNG_FILLER_BEFORE);
|
2354
2363
|
|
2355
|
-
where "filler" is the 8 or 16-bit number to fill with, and the location
|
2356
|
-
either PNG_FILLER_BEFORE or PNG_FILLER_AFTER, depending upon whether
|
2357
|
-
you want the filler before the RGB or after.
|
2358
|
-
|
2359
|
-
|
2360
|
-
|
2364
|
+
where "filler" is the 8-bit or 16-bit number to fill with, and the location
|
2365
|
+
is either PNG_FILLER_BEFORE or PNG_FILLER_AFTER, depending upon whether
|
2366
|
+
you want the filler before the RGB or after. When filling an 8-bit pixel,
|
2367
|
+
the least significant 8 bits of the number are used, if a 16-bit number is
|
2368
|
+
supplied. This transformation does not affect images that already have full
|
2369
|
+
alpha channels. To add an opaque alpha channel, use filler=0xffff and
|
2370
|
+
PNG_FILLER_AFTER which will generate RGBA pixels.
|
2361
2371
|
|
2362
2372
|
Note that png_set_filler() does not change the color type. If you want
|
2363
2373
|
to do that, you can add a true alpha channel with
|
@@ -2367,7 +2377,7 @@ to do that, you can add a true alpha channel with
|
|
2367
2377
|
png_set_add_alpha(png_ptr, filler, PNG_FILLER_AFTER);
|
2368
2378
|
|
2369
2379
|
where "filler" contains the alpha value to assign to each pixel.
|
2370
|
-
|
2380
|
+
The png_set_add_alpha() function was added in libpng-1.2.7.
|
2371
2381
|
|
2372
2382
|
If you are reading an image with an alpha channel, and you need the
|
2373
2383
|
data as ARGB instead of the normal PNG format RGBA:
|
@@ -2425,9 +2435,9 @@ data for sBIT, regardless of the error_action setting.
|
|
2425
2435
|
The default values come from the PNG file cHRM chunk if present; otherwise, the
|
2426
2436
|
defaults correspond to the ITU-R recommendation 709, and also the sRGB color
|
2427
2437
|
space, as recommended in the Charles Poynton's Colour FAQ,
|
2428
|
-
|
2438
|
+
Copyright (c) 2006-11-28 Charles Poynton, in section 9:
|
2429
2439
|
|
2430
|
-
|
2440
|
+
<http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC9>
|
2431
2441
|
|
2432
2442
|
Y = 0.2126 * R + 0.7152 * G + 0.0722 * B
|
2433
2443
|
|
@@ -3342,7 +3352,7 @@ filter types.
|
|
3342
3352
|
PNG_FILTER_UP | PNG_FILTER_VALUE_UP |
|
3343
3353
|
PNG_FILTER_AVG | PNG_FILTER_VALUE_AVG |
|
3344
3354
|
PNG_FILTER_PAETH | PNG_FILTER_VALUE_PAETH|
|
3345
|
-
PNG_ALL_FILTERS);
|
3355
|
+
PNG_ALL_FILTERS | PNG_FAST_FILTERS);
|
3346
3356
|
|
3347
3357
|
If an application wants to start and stop using particular filters during
|
3348
3358
|
compression, it should start out with all of the filters (to ensure that
|
@@ -3460,6 +3470,7 @@ width, height, bit_depth, and color_type must be the same in each call.
|
|
3460
3470
|
(array of png_color)
|
3461
3471
|
num_palette - number of entries in the palette
|
3462
3472
|
|
3473
|
+
|
3463
3474
|
png_set_gAMA(png_ptr, info_ptr, file_gamma);
|
3464
3475
|
png_set_gAMA_fixed(png_ptr, info_ptr, int_file_gamma);
|
3465
3476
|
|
@@ -4224,21 +4235,26 @@ as a wide variety of APIs to manipulate ancilliary information.
|
|
4224
4235
|
|
4225
4236
|
To read a PNG file using the simplified API:
|
4226
4237
|
|
4227
|
-
1) Declare a 'png_image' structure (see below) on the
|
4228
|
-
|
4238
|
+
1) Declare a 'png_image' structure (see below) on the stack, set the
|
4239
|
+
version field to PNG_IMAGE_VERSION and the 'opaque' pointer to NULL
|
4240
|
+
(this is REQUIRED, your program may crash if you don't do it.)
|
4229
4241
|
|
4230
4242
|
2) Call the appropriate png_image_begin_read... function.
|
4231
4243
|
|
4232
|
-
3) Set the png_image 'format' member to the required
|
4233
|
-
|
4244
|
+
3) Set the png_image 'format' member to the required sample format.
|
4245
|
+
|
4246
|
+
4) Allocate a buffer for the image and, if required, the color-map.
|
4234
4247
|
|
4235
|
-
|
4236
|
-
your
|
4248
|
+
5) Call png_image_finish_read to read the image and, if required, the
|
4249
|
+
color-map into your buffers.
|
4237
4250
|
|
4238
4251
|
There are no restrictions on the format of the PNG input itself; all valid
|
4239
4252
|
color types, bit depths, and interlace methods are acceptable, and the
|
4240
4253
|
input image is transformed as necessary to the requested in-memory format
|
4241
|
-
during the png_image_finish_read() step.
|
4254
|
+
during the png_image_finish_read() step. The only caveat is that if you
|
4255
|
+
request a color-mapped image from a PNG that is full-color or makes
|
4256
|
+
complex use of an alpha channel the transformation is extremely lossy and the
|
4257
|
+
result may look terrible.
|
4242
4258
|
|
4243
4259
|
To write a PNG file using the simplified API:
|
4244
4260
|
|
@@ -4247,34 +4263,35 @@ To write a PNG file using the simplified API:
|
|
4247
4263
|
|
4248
4264
|
2) Initialize the members of the structure that describe the
|
4249
4265
|
image, setting the 'format' member to the format of the
|
4250
|
-
image
|
4266
|
+
image samples.
|
4251
4267
|
|
4252
4268
|
3) Call the appropriate png_image_write... function with a
|
4253
|
-
pointer to the image
|
4269
|
+
pointer to the image and, if necessary, the color-map to write
|
4270
|
+
the PNG data.
|
4254
4271
|
|
4255
4272
|
png_image is a structure that describes the in-memory format of an image
|
4256
|
-
when it is being read or
|
4273
|
+
when it is being read or defines the in-memory format of an image that you
|
4257
4274
|
need to write. The "png_image" structure contains the following members:
|
4258
4275
|
|
4276
|
+
png_controlp opaque Initialize to NULL, free with png_image_free
|
4259
4277
|
png_uint_32 version Set to PNG_IMAGE_VERSION
|
4260
4278
|
png_uint_32 width Image width in pixels (columns)
|
4261
4279
|
png_uint_32 height Image height in pixels (rows)
|
4262
4280
|
png_uint_32 format Image format as defined below
|
4263
4281
|
png_uint_32 flags A bit mask containing informational flags
|
4264
|
-
png_controlp opaque Initialize to NULL, free with png_image_free
|
4265
4282
|
png_uint_32 colormap_entries; Number of entries in the color-map
|
4266
4283
|
png_uint_32 warning_or_error;
|
4267
4284
|
char message[64];
|
4268
4285
|
|
4269
|
-
In the event of an error or warning the
|
4286
|
+
In the event of an error or warning the "warning_or_error"
|
4270
4287
|
field will be set to a non-zero value and the 'message' field will contain
|
4271
4288
|
a '\0' terminated string with the libpng error or warning message. If both
|
4272
4289
|
warnings and an error were encountered, only the error is recorded. If there
|
4273
4290
|
are multiple warnings, only the first one is recorded.
|
4274
4291
|
|
4275
|
-
The upper 30 bits of
|
4276
|
-
a two bit code such that a value more than 1 indicates a failure
|
4277
|
-
just called:
|
4292
|
+
The upper 30 bits of the "warning_or_error" value are reserved; the low two
|
4293
|
+
bits contain a two bit code such that a value more than 1 indicates a failure
|
4294
|
+
in the API just called:
|
4278
4295
|
|
4279
4296
|
0 - no warning or error
|
4280
4297
|
1 - warning
|
@@ -4306,64 +4323,72 @@ channels are linear. Color channels use the RGB encoding (RGB end-points) of
|
|
4306
4323
|
the sRGB specification. This encoding is identified by the
|
4307
4324
|
PNG_FORMAT_FLAG_LINEAR flag below.
|
4308
4325
|
|
4326
|
+
When the simplified API needs to convert between sRGB and linear colorspaces,
|
4327
|
+
the actual sRGB transfer curve defined in the sRGB specification (see the
|
4328
|
+
article at http://en.wikipedia.org/wiki/SRGB) is used, not the gamma=1/2.2
|
4329
|
+
approximation used elsewhere in libpng.
|
4330
|
+
|
4309
4331
|
When an alpha channel is present it is expected to denote pixel coverage
|
4310
4332
|
of the color or luminance channels and is returned as an associated alpha
|
4311
4333
|
channel: the color/gray channels are scaled (pre-multiplied) by the alpha
|
4312
4334
|
value.
|
4313
4335
|
|
4314
|
-
|
4315
|
-
|
4316
|
-
in the
|
4317
|
-
|
4318
|
-
|
4336
|
+
The samples are either contained directly in the image data, between 1 and 8
|
4337
|
+
bytes per pixel according to the encoding, or are held in a color-map indexed
|
4338
|
+
by bytes in the image data. In the case of a color-map the color-map entries
|
4339
|
+
are individual samples, encoded as above, and the image data has one byte per
|
4340
|
+
pixel to select the relevant sample from the color-map.
|
4319
4341
|
|
4320
4342
|
PNG_FORMAT_*
|
4321
4343
|
|
4322
4344
|
The #defines to be used in png_image::format. Each #define identifies a
|
4323
4345
|
particular layout of channel data and, if present, alpha values. There are
|
4324
|
-
separate defines for each of the two
|
4346
|
+
separate defines for each of the two component encodings.
|
4325
4347
|
|
4326
|
-
A format is built up using single bit flag values.
|
4327
|
-
valid
|
4328
|
-
|
4348
|
+
A format is built up using single bit flag values. All combinations are
|
4349
|
+
valid. Formats can be built up from the flag values or you can use one of
|
4350
|
+
the predefined values below. When testing formats always use the FORMAT_FLAG
|
4351
|
+
macros to test for individual features - future versions of the library may
|
4352
|
+
add new flags.
|
4329
4353
|
|
4330
4354
|
When reading or writing color-mapped images the format should be set to the
|
4331
4355
|
format of the entries in the color-map then png_image_{read,write}_colormap
|
4332
4356
|
called to read or write the color-map and set the format correctly for the
|
4333
4357
|
image data. Do not set the PNG_FORMAT_FLAG_COLORMAP bit directly!
|
4334
4358
|
|
4335
|
-
NOTE: libpng can be built with particular features disabled
|
4359
|
+
NOTE: libpng can be built with particular features disabled. If you see
|
4336
4360
|
compiler errors because the definition of one of the following flags has been
|
4337
4361
|
compiled out it is because libpng does not have the required support. It is
|
4338
4362
|
possible, however, for the libpng configuration to enable the format on just
|
4339
|
-
read or just write; in that case you may see an error at run time.
|
4340
|
-
guard against this by checking for the definition of
|
4363
|
+
read or just write; in that case you may see an error at run time.
|
4364
|
+
You can guard against this by checking for the definition of the
|
4365
|
+
appropriate "_SUPPORTED" macro, one of:
|
4341
4366
|
|
4342
4367
|
PNG_SIMPLIFIED_{READ,WRITE}_{BGR,AFIRST}_SUPPORTED
|
4343
4368
|
|
4344
|
-
PNG_FORMAT_FLAG_ALPHA
|
4345
|
-
PNG_FORMAT_FLAG_COLOR
|
4346
|
-
PNG_FORMAT_FLAG_LINEAR
|
4347
|
-
PNG_FORMAT_FLAG_COLORMAP
|
4348
|
-
PNG_FORMAT_FLAG_BGR
|
4349
|
-
PNG_FORMAT_FLAG_AFIRST
|
4369
|
+
PNG_FORMAT_FLAG_ALPHA format with an alpha channel
|
4370
|
+
PNG_FORMAT_FLAG_COLOR color format: otherwise grayscale
|
4371
|
+
PNG_FORMAT_FLAG_LINEAR 2-byte channels else 1-byte
|
4372
|
+
PNG_FORMAT_FLAG_COLORMAP image data is color-mapped
|
4373
|
+
PNG_FORMAT_FLAG_BGR BGR colors, else order is RGB
|
4374
|
+
PNG_FORMAT_FLAG_AFIRST alpha channel comes first
|
4350
4375
|
|
4351
4376
|
Supported formats are as follows. Future versions of libpng may support more
|
4352
4377
|
formats; for compatibility with older versions simply check if the format
|
4353
4378
|
macro is defined using #ifdef. These defines describe the in-memory layout
|
4354
4379
|
of the components of the pixels of the image.
|
4355
4380
|
|
4356
|
-
First the single byte formats:
|
4381
|
+
First the single byte (sRGB) formats:
|
4357
4382
|
|
4358
|
-
PNG_FORMAT_GRAY
|
4359
|
-
PNG_FORMAT_GA
|
4360
|
-
PNG_FORMAT_AG
|
4361
|
-
PNG_FORMAT_RGB
|
4362
|
-
PNG_FORMAT_BGR
|
4363
|
-
PNG_FORMAT_RGBA
|
4364
|
-
PNG_FORMAT_ARGB
|
4365
|
-
PNG_FORMAT_BGRA
|
4366
|
-
PNG_FORMAT_ABGR
|
4383
|
+
PNG_FORMAT_GRAY
|
4384
|
+
PNG_FORMAT_GA
|
4385
|
+
PNG_FORMAT_AG
|
4386
|
+
PNG_FORMAT_RGB
|
4387
|
+
PNG_FORMAT_BGR
|
4388
|
+
PNG_FORMAT_RGBA
|
4389
|
+
PNG_FORMAT_ARGB
|
4390
|
+
PNG_FORMAT_BGRA
|
4391
|
+
PNG_FORMAT_ABGR
|
4367
4392
|
|
4368
4393
|
Then the linear 2-byte formats. When naming these "Y" is used to
|
4369
4394
|
indicate a luminance (gray) channel. The component order within the pixel
|
@@ -4372,22 +4397,22 @@ components in the linear format. The components are 16-bit integers in
|
|
4372
4397
|
the native byte order for your platform, and there is no provision for
|
4373
4398
|
swapping the bytes to a different endian condition.
|
4374
4399
|
|
4375
|
-
PNG_FORMAT_LINEAR_Y
|
4400
|
+
PNG_FORMAT_LINEAR_Y
|
4376
4401
|
PNG_FORMAT_LINEAR_Y_ALPHA
|
4377
|
-
(PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_ALPHA)
|
4378
4402
|
PNG_FORMAT_LINEAR_RGB
|
4379
|
-
(PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR)
|
4380
4403
|
PNG_FORMAT_LINEAR_RGB_ALPHA
|
4381
|
-
(PNG_FORMAT_FLAG_LINEAR|PNG_FORMAT_FLAG_COLOR|
|
4382
|
-
PNG_FORMAT_FLAG_ALPHA)
|
4383
4404
|
|
4384
|
-
|
4385
|
-
|
4386
|
-
|
4387
|
-
|
4388
|
-
format of the color-map may be extracted using the following macro.
|
4405
|
+
With color-mapped formats the image data is one byte for each pixel. The byte
|
4406
|
+
is an index into the color-map which is formatted as above. To obtain a
|
4407
|
+
color-mapped format it is sufficient just to add the PNG_FOMAT_FLAG_COLORMAP
|
4408
|
+
to one of the above definitions, or you can use one of the definitions below.
|
4389
4409
|
|
4390
|
-
|
4410
|
+
PNG_FORMAT_RGB_COLORMAP
|
4411
|
+
PNG_FORMAT_BGR_COLORMAP
|
4412
|
+
PNG_FORMAT_RGBA_COLORMAP
|
4413
|
+
PNG_FORMAT_ARGB_COLORMAP
|
4414
|
+
PNG_FORMAT_BGRA_COLORMAP
|
4415
|
+
PNG_FORMAT_ABGR_COLORMAP
|
4391
4416
|
|
4392
4417
|
PNG_IMAGE macros
|
4393
4418
|
|
@@ -4395,9 +4420,9 @@ These are convenience macros to derive information from a png_image
|
|
4395
4420
|
structure. The PNG_IMAGE_SAMPLE_ macros return values appropriate to the
|
4396
4421
|
actual image sample values - either the entries in the color-map or the
|
4397
4422
|
pixels in the image. The PNG_IMAGE_PIXEL_ macros return corresponding values
|
4398
|
-
for the pixels and will always return 1
|
4399
|
-
|
4400
|
-
|
4423
|
+
for the pixels and will always return 1 for color-mapped formats. The
|
4424
|
+
remaining macros return information about the rows in the image and the
|
4425
|
+
complete image.
|
4401
4426
|
|
4402
4427
|
NOTE: All the macros that take a png_image::format parameter are compile time
|
4403
4428
|
constants if the format parameter is, itself, a constant. Therefore these
|
@@ -4405,46 +4430,39 @@ macros can be used in array declarations and case labels where required.
|
|
4405
4430
|
Similarly the macros are also pre-processor constants (sizeof is not used) so
|
4406
4431
|
they can be used in #if tests.
|
4407
4432
|
|
4408
|
-
First the information about the samples.
|
4409
|
-
|
4410
4433
|
PNG_IMAGE_SAMPLE_CHANNELS(fmt)
|
4411
4434
|
Returns the total number of channels in a given format: 1..4
|
4412
4435
|
|
4413
4436
|
PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)
|
4414
4437
|
Returns the size in bytes of a single component of a pixel or color-map
|
4415
|
-
entry (as appropriate) in the image.
|
4438
|
+
entry (as appropriate) in the image: 1 or 2.
|
4416
4439
|
|
4417
4440
|
PNG_IMAGE_SAMPLE_SIZE(fmt)
|
4418
4441
|
This is the size of the sample data for one sample. If the image is
|
4419
4442
|
color-mapped it is the size of one color-map entry (and image pixels are
|
4420
4443
|
one byte in size), otherwise it is the size of one image pixel.
|
4421
4444
|
|
4445
|
+
PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)
|
4446
|
+
The maximum size of the color-map required by the format expressed in a
|
4447
|
+
count of components. This can be used to compile-time allocate a
|
4448
|
+
color-map:
|
4449
|
+
|
4450
|
+
png_uint_16 colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(linear_fmt)];
|
4451
|
+
|
4452
|
+
png_byte colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(sRGB_fmt)];
|
4453
|
+
|
4454
|
+
Alternatively use the PNG_IMAGE_COLORMAP_SIZE macro below to use the
|
4455
|
+
information from one of the png_image_begin_read_ APIs and dynamically
|
4456
|
+
allocate the required memory.
|
4457
|
+
|
4422
4458
|
PNG_IMAGE_COLORMAP_SIZE(fmt)
|
4423
4459
|
The size of the color-map required by the format; this is the size of the
|
4424
|
-
color-map buffer passed to the png_image_{read,write}_colormap APIs
|
4460
|
+
color-map buffer passed to the png_image_{read,write}_colormap APIs. It is
|
4425
4461
|
a fixed number determined by the format so can easily be allocated on the
|
4426
4462
|
stack if necessary.
|
4427
4463
|
|
4428
|
-
#define PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)\
|
4429
|
-
(PNG_IMAGE_SAMPLE_CHANNELS(fmt) * 256)
|
4430
|
-
/* The maximum size of the color-map required by the format expressed in a
|
4431
|
-
* count of components. This can be used to compile-time allocate a
|
4432
|
-
* color-map:
|
4433
|
-
*
|
4434
|
-
* png_uint_16 colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(linear_fmt)];
|
4435
|
-
*
|
4436
|
-
* png_byte colormap[PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(sRGB_fmt)];
|
4437
|
-
*
|
4438
|
-
* Alternatively, use the PNG_IMAGE_COLORMAP_SIZE macro below to use the
|
4439
|
-
* information from one of the png_image_begin_read_ APIs and dynamically
|
4440
|
-
* allocate the required memory.
|
4441
|
-
*/
|
4442
|
-
|
4443
|
-
|
4444
4464
|
Corresponding information about the pixels
|
4445
4465
|
|
4446
|
-
PNG_IMAGE_PIXEL_(test,fmt)
|
4447
|
-
|
4448
4466
|
PNG_IMAGE_PIXEL_CHANNELS(fmt)
|
4449
4467
|
The number of separate channels (components) in a pixel; 1 for a
|
4450
4468
|
color-mapped image.
|
@@ -4470,19 +4488,54 @@ Information about the whole row, or whole image
|
|
4470
4488
|
to start the next row on a 4-byte boundary.
|
4471
4489
|
|
4472
4490
|
PNG_IMAGE_BUFFER_SIZE(image, row_stride)
|
4473
|
-
|
4474
|
-
|
4475
|
-
|
4476
|
-
|
4491
|
+
Return the size, in bytes, of an image buffer given a png_image and a row
|
4492
|
+
stride - the number of components to leave space for in each row.
|
4493
|
+
|
4494
|
+
PNG_IMAGE_SIZE(image)
|
4495
|
+
Return the size, in bytes, of the image in memory given just a png_image;
|
4496
|
+
the row stride is the minimum stride required for the image.
|
4497
|
+
|
4498
|
+
PNG_IMAGE_COLORMAP_SIZE(image)
|
4499
|
+
Return the size, in bytes, of the color-map of this image. If the image
|
4500
|
+
format is not a color-map format this will return a size sufficient for
|
4501
|
+
256 entries in the given format; check PNG_FORMAT_FLAG_COLORMAP if
|
4502
|
+
you don't want to allocate a color-map in this case.
|
4503
|
+
|
4504
|
+
PNG_IMAGE_FLAG_*
|
4505
|
+
|
4506
|
+
Flags containing additional information about the image are held in
|
4507
|
+
the 'flags' field of png_image.
|
4477
4508
|
|
4478
4509
|
PNG_IMAGE_FLAG_COLORSPACE_NOT_sRGB == 0x01
|
4479
4510
|
This indicates the the RGB values of the in-memory bitmap do not
|
4480
4511
|
correspond to the red, green and blue end-points defined by sRGB.
|
4481
4512
|
|
4482
|
-
|
4483
|
-
|
4484
|
-
|
4485
|
-
|
4513
|
+
PNG_IMAGE_FLAG_FAST == 0x02
|
4514
|
+
On write emphasise speed over compression; the resultant PNG file will be
|
4515
|
+
larger but will be produced significantly faster, particular for large
|
4516
|
+
images. Do not use this option for images which will be distributed, only
|
4517
|
+
used it when producing intermediate files that will be read back in
|
4518
|
+
repeatedly. For a typical 24-bit image the option will double the read
|
4519
|
+
speed at the cost of increasing the image size by 25%, however for many
|
4520
|
+
more compressible images the PNG file can be 10 times larger with only a
|
4521
|
+
slight speed gain.
|
4522
|
+
|
4523
|
+
PNG_IMAGE_FLAG_16BIT_sRGB == 0x04
|
4524
|
+
On read if the image is a 16-bit per component image and there is no gAMA
|
4525
|
+
or sRGB chunk assume that the components are sRGB encoded. Notice that
|
4526
|
+
images output by the simplified API always have gamma information; setting
|
4527
|
+
this flag only affects the interpretation of 16-bit images from an
|
4528
|
+
external source. It is recommended that the application expose this flag
|
4529
|
+
to the user; the user can normally easily recognize the difference between
|
4530
|
+
linear and sRGB encoding. This flag has no effect on write - the data
|
4531
|
+
passed to the write APIs must have the correct encoding (as defined
|
4532
|
+
above.)
|
4533
|
+
|
4534
|
+
If the flag is not set (the default) input 16-bit per component data is
|
4535
|
+
assumed to be linear.
|
4536
|
+
|
4537
|
+
NOTE: the flag can only be set after the png_image_begin_read_ call,
|
4538
|
+
because that call initializes the 'flags' field.
|
4486
4539
|
|
4487
4540
|
READ APIs
|
4488
4541
|
|
@@ -4560,6 +4613,13 @@ be written:
|
|
4560
4613
|
|
4561
4614
|
Write the image to the named file.
|
4562
4615
|
|
4616
|
+
int png_image_write_to_memory (png_imagep image, void *memory,
|
4617
|
+
png_alloc_size_t * PNG_RESTRICT memory_bytes,
|
4618
|
+
int convert_to_8_bit, const void *buffer, ptrdiff_t row_stride,
|
4619
|
+
const void *colormap));
|
4620
|
+
|
4621
|
+
Write the image to memory.
|
4622
|
+
|
4563
4623
|
int png_image_write_to_stdio(png_imagep image, FILE *file,
|
4564
4624
|
int convert_to_8_bit, const void *buffer,
|
4565
4625
|
png_int_32 row_stride, const void *colormap)
|
@@ -4837,8 +4897,9 @@ for any images with bit depths less than 8 bits/pixel.
|
|
4837
4897
|
The 'method' parameter sets the main filtering method, which is
|
4838
4898
|
currently only '0' in the PNG 1.2 specification. The 'filters'
|
4839
4899
|
parameter sets which filter(s), if any, should be used for each
|
4840
|
-
scanline. Possible values are PNG_ALL_FILTERS
|
4841
|
-
to turn filtering on and off,
|
4900
|
+
scanline. Possible values are PNG_ALL_FILTERS, PNG_NO_FILTERS,
|
4901
|
+
or PNG_FAST_FILTERS to turn filtering on and off, or to turn on
|
4902
|
+
just the fast-decoding subset of filters, respectively.
|
4842
4903
|
|
4843
4904
|
Individual filter types are PNG_FILTER_NONE, PNG_FILTER_SUB,
|
4844
4905
|
PNG_FILTER_UP, PNG_FILTER_AVG, PNG_FILTER_PAETH, which can be bitwise
|
@@ -4852,12 +4913,19 @@ means the first row must always be adaptively filtered, because libpng
|
|
4852
4913
|
currently does not allocate the filter buffers until png_write_row()
|
4853
4914
|
is called for the first time.)
|
4854
4915
|
|
4855
|
-
filters =
|
4916
|
+
filters = PNG_NO_FILTERS;
|
4917
|
+
filters = PNG_ALL_FILTERS;
|
4918
|
+
filters = PNG_FAST_FILTERS;
|
4919
|
+
|
4920
|
+
or
|
4921
|
+
|
4922
|
+
filters = PNG_FILTER_NONE | PNG_FILTER_SUB |
|
4856
4923
|
PNG_FILTER_UP | PNG_FILTER_AVG |
|
4857
|
-
PNG_FILTER_PAETH
|
4924
|
+
PNG_FILTER_PAETH;
|
4858
4925
|
|
4859
4926
|
png_set_filter(png_ptr, PNG_FILTER_TYPE_BASE,
|
4860
4927
|
filters);
|
4928
|
+
|
4861
4929
|
The second parameter can also be
|
4862
4930
|
PNG_INTRAPIXEL_DIFFERENCING if you are
|
4863
4931
|
writing a PNG to be embedded in a MNG
|
@@ -5232,7 +5300,8 @@ There are no substantial API changes between the non-deprecated parts of
|
|
5232
5300
|
the 1.4.5 API and the 1.5.0 API; however, the ability to directly access
|
5233
5301
|
members of the main libpng control structures, png_struct and png_info,
|
5234
5302
|
deprecated in earlier versions of libpng, has been completely removed from
|
5235
|
-
libpng 1.5.
|
5303
|
+
libpng 1.5, and new private "pngstruct.h", "pnginfo.h", and "pngdebug.h"
|
5304
|
+
header files were created.
|
5236
5305
|
|
5237
5306
|
We no longer include zlib.h in png.h. The include statement has been moved
|
5238
5307
|
to pngstruct.h, where it is not accessible by applications. Applications that
|
@@ -5355,7 +5424,7 @@ a set of "safe" limits is applied in pngpriv.h. These can be overridden by
|
|
5355
5424
|
application calls to png_set_user_limits(), png_set_user_chunk_cache_max(),
|
5356
5425
|
and/or png_set_user_malloc_max() that increase or decrease the limits. Also,
|
5357
5426
|
in libpng-1.5.10 the default width and height limits were increased
|
5358
|
-
from 1,000,000 to
|
5427
|
+
from 1,000,000 to 0x7fffffff (i.e., made unlimited). Therefore, the
|
5359
5428
|
limits are now
|
5360
5429
|
default safe
|
5361
5430
|
png_user_width_max 0x7fffffff 1,000,000
|
@@ -5364,7 +5433,7 @@ limits are now
|
|
5364
5433
|
png_user_chunk_malloc_max 0 (unlimited) 8,000,000
|
5365
5434
|
|
5366
5435
|
The png_set_option() function (and the "options" member of the png struct) was
|
5367
|
-
added to libpng-1.5.15.
|
5436
|
+
added to libpng-1.5.15, with option PNG_ARM_NEON.
|
5368
5437
|
|
5369
5438
|
The library now supports a complete fixed point implementation and can
|
5370
5439
|
thus be used on systems that have no floating point support or very
|
@@ -5472,6 +5541,7 @@ includes the following:
|
|
5472
5541
|
png_image_free()
|
5473
5542
|
write functions
|
5474
5543
|
png_image_write_to_file()
|
5544
|
+
png_image_write_to_memory()
|
5475
5545
|
png_image_write_to_stdio()
|
5476
5546
|
|
5477
5547
|
Starting with libpng-1.6.0, you can configure libpng to prefix all exported
|
@@ -5506,9 +5576,9 @@ The signatures of many exported functions were changed, such that
|
|
5506
5576
|
png_infop became png_inforp or png_const_inforp
|
5507
5577
|
where "rp" indicates a "restricted pointer".
|
5508
5578
|
|
5509
|
-
The support for FAR/far types has
|
5510
|
-
|
5511
|
-
can select it if necessary.
|
5579
|
+
Dropped support for 16-bit platforms. The support for FAR/far types has
|
5580
|
+
been eliminated and the definition of png_alloc_size_t is now controlled
|
5581
|
+
by a flag so that 'small size_t' systems can select it if necessary.
|
5512
5582
|
|
5513
5583
|
Error detection in some chunks has improved; in particular the iCCP chunk
|
5514
5584
|
reader now does pretty complete validation of the basic format. Some bad
|
@@ -5535,6 +5605,10 @@ enforced. The sRGB chunk is allowed to appear in images with any color type
|
|
5535
5605
|
and is interpreted by libpng to convey a one-tracer-curve gray profile or a
|
5536
5606
|
three-tracer-curve RGB profile as appropriate.
|
5537
5607
|
|
5608
|
+
Libpng 1.5.x erroneously used /MD for Debug DLL builds; if you used the debug
|
5609
|
+
builds in your app and you changed your app to use /MD you will need to
|
5610
|
+
change it back to /MDd for libpng 1.6.x.
|
5611
|
+
|
5538
5612
|
Prior to libpng-1.6.0 a warning would be issued if the iTXt chunk contained
|
5539
5613
|
an empty language field or an empty translated keyword. Both of these
|
5540
5614
|
are allowed by the PNG specification, so these warnings are no longer issued.
|
@@ -5600,6 +5674,11 @@ It can be set for testing debug or beta builds to ensure that they will compile
|
|
5600
5674
|
when the build type is switched to RC or STABLE. In essence this overrides the
|
5601
5675
|
PNG_LIBPNG_BUILD_BASE_TYPE definition which is not directly user controllable.
|
5602
5676
|
|
5677
|
+
Starting with libpng-1.6.19, attempting to set an over-length PLTE chunk
|
5678
|
+
is an error. Previously this requirement of the PNG specification was not
|
5679
|
+
enforced, and the palette was always limited to 256 entries. An over-length
|
5680
|
+
PLTE chunk found in an input PNG is silently truncated.
|
5681
|
+
|
5603
5682
|
.SH XIII. Detecting libpng
|
5604
5683
|
|
5605
5684
|
The png_get_io_ptr() function has been present since libpng-0.88, has never
|
@@ -5753,10 +5832,12 @@ We prefer #ifdef and #ifndef to #if defined() and #if !defined()
|
|
5753
5832
|
when there is only one macro being tested. We always use parentheses
|
5754
5833
|
with "defined".
|
5755
5834
|
|
5756
|
-
We
|
5757
|
-
with an even number of lower-case hex digits
|
5835
|
+
We express integer constants that are used as bit masks in hex format,
|
5836
|
+
with an even number of lower-case hex digits, and to make them unsigned
|
5837
|
+
(e.g., 0x00U, 0xffU, 0x0100U) and long if they are greater than 0x7fff
|
5838
|
+
(e.g., 0xffffUL).
|
5758
5839
|
|
5759
|
-
We prefer to use underscores
|
5840
|
+
We prefer to use underscores rather than camelCase in names, except
|
5760
5841
|
for a few type names that we inherit from zlib.h.
|
5761
5842
|
|
5762
5843
|
We prefer "if (something != 0)" and "if (something == 0)"
|
@@ -5770,13 +5851,11 @@ Other rules can be inferred by inspecting the libpng source.
|
|
5770
5851
|
|
5771
5852
|
.SH XVI. Y2K Compliance in libpng
|
5772
5853
|
|
5773
|
-
July 23, 2015
|
5774
|
-
|
5775
5854
|
Since the PNG Development group is an ad-hoc body, we can't make
|
5776
5855
|
an official declaration.
|
5777
5856
|
|
5778
5857
|
This is your unofficial assurance that libpng from version 0.71 and
|
5779
|
-
upward through 1.6.
|
5858
|
+
upward through 1.6.23 are Y2K compliant. It is my belief that earlier
|
5780
5859
|
versions were also Y2K compliant.
|
5781
5860
|
|
5782
5861
|
Libpng only has two year fields. One is a 2-byte unsigned integer
|
@@ -5838,202 +5917,47 @@ the first widely used release:
|
|
5838
5917
|
source png.h png.h shared-lib
|
5839
5918
|
version string int version
|
5840
5919
|
------- ------ ----- ----------
|
5841
|
-
0.89c
|
5842
|
-
0.90
|
5843
|
-
0.95
|
5844
|
-
0.96
|
5845
|
-
0.97b
|
5846
|
-
0.97c
|
5847
|
-
0.98
|
5848
|
-
0.99
|
5849
|
-
0.99a-m
|
5850
|
-
1.00
|
5851
|
-
1.0.0
|
5852
|
-
1.0.
|
5853
|
-
1.0.
|
5854
|
-
1.0.
|
5855
|
-
1.0.
|
5856
|
-
1.0.
|
5857
|
-
1.0.
|
5858
|
-
1.0.
|
5859
|
-
1.0.
|
5860
|
-
1.0.
|
5861
|
-
1.0.
|
5862
|
-
1.0.
|
5863
|
-
1.0.
|
5864
|
-
1.0.
|
5865
|
-
1.0.
|
5866
|
-
1.0.
|
5867
|
-
1.0.
|
5868
|
-
1.0.
|
5869
|
-
1.0.
|
5870
|
-
1.0.
|
5871
|
-
1.0.
|
5872
|
-
1.0.
|
5873
|
-
1.0.
|
5874
|
-
|
5875
|
-
1.0.
|
5876
|
-
|
5877
|
-
1.
|
5878
|
-
|
5879
|
-
1.
|
5880
|
-
|
5881
|
-
1.
|
5882
|
-
1.0.9rc1 1 10009 2.1.0.9rc1
|
5883
|
-
1.0.9beta7-10 1 10009 2.1.0.9beta7-10
|
5884
|
-
1.0.9rc2 1 10009 2.1.0.9rc2
|
5885
|
-
1.0.9 1 10009 2.1.0.9
|
5886
|
-
1.0.10beta1 1 10010 2.1.0.10beta1
|
5887
|
-
1.0.10rc1 1 10010 2.1.0.10rc1
|
5888
|
-
1.0.10 1 10010 2.1.0.10
|
5889
|
-
1.0.11beta1-3 1 10011 2.1.0.11beta1-3
|
5890
|
-
1.0.11rc1 1 10011 2.1.0.11rc1
|
5891
|
-
1.0.11 1 10011 2.1.0.11
|
5892
|
-
1.0.12beta1-2 2 10012 2.1.0.12beta1-2
|
5893
|
-
1.0.12rc1 2 10012 2.1.0.12rc1
|
5894
|
-
1.0.12 2 10012 2.1.0.12
|
5895
|
-
1.1.0a-f - 10100 2.1.1.0a-f abandoned
|
5896
|
-
1.2.0beta1-2 2 10200 2.1.2.0beta1-2
|
5897
|
-
1.2.0beta3-5 3 10200 3.1.2.0beta3-5
|
5898
|
-
1.2.0rc1 3 10200 3.1.2.0rc1
|
5899
|
-
1.2.0 3 10200 3.1.2.0
|
5900
|
-
1.2.1beta-4 3 10201 3.1.2.1beta1-4
|
5901
|
-
1.2.1rc1-2 3 10201 3.1.2.1rc1-2
|
5902
|
-
1.2.1 3 10201 3.1.2.1
|
5903
|
-
1.2.2beta1-6 12 10202 12.so.0.1.2.2beta1-6
|
5904
|
-
1.0.13beta1 10 10013 10.so.0.1.0.13beta1
|
5905
|
-
1.0.13rc1 10 10013 10.so.0.1.0.13rc1
|
5906
|
-
1.2.2rc1 12 10202 12.so.0.1.2.2rc1
|
5907
|
-
1.0.13 10 10013 10.so.0.1.0.13
|
5908
|
-
1.2.2 12 10202 12.so.0.1.2.2
|
5909
|
-
1.2.3rc1-6 12 10203 12.so.0.1.2.3rc1-6
|
5910
|
-
1.2.3 12 10203 12.so.0.1.2.3
|
5911
|
-
1.2.4beta1-3 13 10204 12.so.0.1.2.4beta1-3
|
5912
|
-
1.2.4rc1 13 10204 12.so.0.1.2.4rc1
|
5913
|
-
1.0.14 10 10014 10.so.0.1.0.14
|
5914
|
-
1.2.4 13 10204 12.so.0.1.2.4
|
5915
|
-
1.2.5beta1-2 13 10205 12.so.0.1.2.5beta1-2
|
5916
|
-
1.0.15rc1 10 10015 10.so.0.1.0.15rc1
|
5917
|
-
1.0.15 10 10015 10.so.0.1.0.15
|
5918
|
-
1.2.5 13 10205 12.so.0.1.2.5
|
5919
|
-
1.2.6beta1-4 13 10206 12.so.0.1.2.6beta1-4
|
5920
|
-
1.2.6rc1-5 13 10206 12.so.0.1.2.6rc1-5
|
5921
|
-
1.0.16 10 10016 10.so.0.1.0.16
|
5922
|
-
1.2.6 13 10206 12.so.0.1.2.6
|
5923
|
-
1.2.7beta1-2 13 10207 12.so.0.1.2.7beta1-2
|
5924
|
-
1.0.17rc1 10 10017 12.so.0.1.0.17rc1
|
5925
|
-
1.2.7rc1 13 10207 12.so.0.1.2.7rc1
|
5926
|
-
1.0.17 10 10017 12.so.0.1.0.17
|
5927
|
-
1.2.7 13 10207 12.so.0.1.2.7
|
5928
|
-
1.2.8beta1-5 13 10208 12.so.0.1.2.8beta1-5
|
5929
|
-
1.0.18rc1-5 10 10018 12.so.0.1.0.18rc1-5
|
5930
|
-
1.2.8rc1-5 13 10208 12.so.0.1.2.8rc1-5
|
5931
|
-
1.0.18 10 10018 12.so.0.1.0.18
|
5932
|
-
1.2.8 13 10208 12.so.0.1.2.8
|
5933
|
-
1.2.9beta1-3 13 10209 12.so.0.1.2.9beta1-3
|
5934
|
-
1.2.9beta4-11 13 10209 12.so.0.9[.0]
|
5935
|
-
1.2.9rc1 13 10209 12.so.0.9[.0]
|
5936
|
-
1.2.9 13 10209 12.so.0.9[.0]
|
5937
|
-
1.2.10beta1-7 13 10210 12.so.0.10[.0]
|
5938
|
-
1.2.10rc1-2 13 10210 12.so.0.10[.0]
|
5939
|
-
1.2.10 13 10210 12.so.0.10[.0]
|
5940
|
-
1.4.0beta1-6 14 10400 14.so.0.0[.0]
|
5941
|
-
1.2.11beta1-4 13 10210 12.so.0.11[.0]
|
5942
|
-
1.4.0beta7-8 14 10400 14.so.0.0[.0]
|
5943
|
-
1.2.11 13 10211 12.so.0.11[.0]
|
5944
|
-
1.2.12 13 10212 12.so.0.12[.0]
|
5945
|
-
1.4.0beta9-14 14 10400 14.so.0.0[.0]
|
5946
|
-
1.2.13 13 10213 12.so.0.13[.0]
|
5947
|
-
1.4.0beta15-36 14 10400 14.so.0.0[.0]
|
5948
|
-
1.4.0beta37-87 14 10400 14.so.14.0[.0]
|
5949
|
-
1.4.0rc01 14 10400 14.so.14.0[.0]
|
5950
|
-
1.4.0beta88-109 14 10400 14.so.14.0[.0]
|
5951
|
-
1.4.0rc02-08 14 10400 14.so.14.0[.0]
|
5952
|
-
1.4.0 14 10400 14.so.14.0[.0]
|
5953
|
-
1.4.1beta01-03 14 10401 14.so.14.1[.0]
|
5954
|
-
1.4.1rc01 14 10401 14.so.14.1[.0]
|
5955
|
-
1.4.1beta04-12 14 10401 14.so.14.1[.0]
|
5956
|
-
1.4.1 14 10401 14.so.14.1[.0]
|
5957
|
-
1.4.2 14 10402 14.so.14.2[.0]
|
5958
|
-
1.4.3 14 10403 14.so.14.3[.0]
|
5959
|
-
1.4.4 14 10404 14.so.14.4[.0]
|
5960
|
-
1.5.0beta01-58 15 10500 15.so.15.0[.0]
|
5961
|
-
1.5.0rc01-07 15 10500 15.so.15.0[.0]
|
5962
|
-
1.5.0 15 10500 15.so.15.0[.0]
|
5963
|
-
1.5.1beta01-11 15 10501 15.so.15.1[.0]
|
5964
|
-
1.5.1rc01-02 15 10501 15.so.15.1[.0]
|
5965
|
-
1.5.1 15 10501 15.so.15.1[.0]
|
5966
|
-
1.5.2beta01-03 15 10502 15.so.15.2[.0]
|
5967
|
-
1.5.2rc01-03 15 10502 15.so.15.2[.0]
|
5968
|
-
1.5.2 15 10502 15.so.15.2[.0]
|
5969
|
-
1.5.3beta01-10 15 10503 15.so.15.3[.0]
|
5970
|
-
1.5.3rc01-02 15 10503 15.so.15.3[.0]
|
5971
|
-
1.5.3beta11 15 10503 15.so.15.3[.0]
|
5972
|
-
1.5.3 [omitted]
|
5973
|
-
1.5.4beta01-08 15 10504 15.so.15.4[.0]
|
5974
|
-
1.5.4rc01 15 10504 15.so.15.4[.0]
|
5975
|
-
1.5.4 15 10504 15.so.15.4[.0]
|
5976
|
-
1.5.5beta01-08 15 10505 15.so.15.5[.0]
|
5977
|
-
1.5.5rc01 15 10505 15.so.15.5[.0]
|
5978
|
-
1.5.5 15 10505 15.so.15.5[.0]
|
5979
|
-
1.5.6beta01-07 15 10506 15.so.15.6[.0]
|
5980
|
-
1.5.6rc01-03 15 10506 15.so.15.6[.0]
|
5981
|
-
1.5.6 15 10506 15.so.15.6[.0]
|
5982
|
-
1.5.7beta01-05 15 10507 15.so.15.7[.0]
|
5983
|
-
1.5.7rc01-03 15 10507 15.so.15.7[.0]
|
5984
|
-
1.5.7 15 10507 15.so.15.7[.0]
|
5985
|
-
1.6.0beta01-40 16 10600 16.so.16.0[.0]
|
5986
|
-
1.6.0rc01-08 16 10600 16.so.16.0[.0]
|
5987
|
-
1.6.0 16 10600 16.so.16.0[.0]
|
5988
|
-
1.6.1beta01-09 16 10601 16.so.16.1[.0]
|
5989
|
-
1.6.1rc01 16 10601 16.so.16.1[.0]
|
5990
|
-
1.6.1 16 10601 16.so.16.1[.0]
|
5991
|
-
1.6.2beta01 16 10602 16.so.16.2[.0]
|
5992
|
-
1.6.2rc01-06 16 10602 16.so.16.2[.0]
|
5993
|
-
1.6.2 16 10602 16.so.16.2[.0]
|
5994
|
-
1.6.3beta01-11 16 10603 16.so.16.3[.0]
|
5995
|
-
1.6.3rc01 16 10603 16.so.16.3[.0]
|
5996
|
-
1.6.3 16 10603 16.so.16.3[.0]
|
5997
|
-
1.6.4beta01-02 16 10604 16.so.16.4[.0]
|
5998
|
-
1.6.4rc01 16 10604 16.so.16.4[.0]
|
5999
|
-
1.6.4 16 10604 16.so.16.4[.0]
|
6000
|
-
1.6.5 16 10605 16.so.16.5[.0]
|
6001
|
-
1.6.6 16 10606 16.so.16.6[.0]
|
6002
|
-
1.6.7beta01-04 16 10607 16.so.16.7[.0]
|
6003
|
-
1.6.7rc01-02 16 10607 16.so.16.7[.0]
|
6004
|
-
1.6.7 16 10607 16.so.16.7[.0]
|
6005
|
-
1.6.8beta01-02 16 10608 16.so.16.8[.0]
|
6006
|
-
1.6.8rc01-02 16 10608 16.so.16.8[.0]
|
6007
|
-
1.6.8 16 10608 16.so.16.8[.0]
|
6008
|
-
1.6.9beta01-04 16 10609 16.so.16.9[.0]
|
6009
|
-
1.6.9rc01-02 16 10609 16.so.16.9[.0]
|
6010
|
-
1.6.9 16 10609 16.so.16.9[.0]
|
6011
|
-
1.6.10beta01-03 16 10610 16.so.16.10[.0]
|
6012
|
-
1.6.10rc01-03 16 10610 16.so.16.10[.0]
|
6013
|
-
1.6.10 16 10610 16.so.16.10[.0]
|
6014
|
-
1.6.11beta01-06 16 10611 16.so.16.11[.0]
|
6015
|
-
1.6.11rc01-02 16 10611 16.so.16.11[.0]
|
6016
|
-
1.6.11 16 10611 16.so.16.11[.0]
|
6017
|
-
1.6.12rc01 16 10612 16.so.16.12[.0]
|
6018
|
-
1.6.12 16 10612 16.so.16.12[.0]
|
6019
|
-
1.6.13beta01-04 16 10613 16.so.16.13[.0]
|
6020
|
-
1.6.13rc01-02 16 10613 16.so.16.13[.0]
|
6021
|
-
1.6.13 16 10613 16.so.16.13[.0]
|
6022
|
-
1.6.14beta01-07 16 10614 16.so.16.14[.0]
|
6023
|
-
1.6.14rc01-02 16 10614 16.so.16.14[.0]
|
6024
|
-
1.6.14 16 10614 16.so.16.14[.0]
|
6025
|
-
1.6.15beta01-08 16 10615 16.so.16.15[.0]
|
6026
|
-
1.6.15rc01-03 16 10615 16.so.16.15[.0]
|
6027
|
-
1.6.15 16 10615 16.so.16.15[.0]
|
6028
|
-
1.6.16beta01-03 16 10616 16.so.16.16[.0]
|
6029
|
-
1.6.16rc01-02 16 10616 16.so.16.16[.0]
|
6030
|
-
1.6.16 16 10616 16.so.16.16[.0]
|
6031
|
-
1.6.17beta01-06 16 10617 16.so.16.17[.0]
|
6032
|
-
1.6.17rc01-06 16 10617 16.so.16.17[.0]
|
6033
|
-
1.6.17 16 10617 16.so.16.17[.0]
|
6034
|
-
1.6.18beta01-09 16 10618 16.so.16.18[.0]
|
6035
|
-
1.6.18rc01-03 16 10618 16.so.16.18[.0]
|
6036
|
-
1.6.18 16 10618 16.so.16.18[.0]
|
5920
|
+
0.89c "1.0 beta 3" 0.89 89 1.0.89
|
5921
|
+
0.90 "1.0 beta 4" 0.90 90 0.90 [should have been 2.0.90]
|
5922
|
+
0.95 "1.0 beta 5" 0.95 95 0.95 [should have been 2.0.95]
|
5923
|
+
0.96 "1.0 beta 6" 0.96 96 0.96 [should have been 2.0.96]
|
5924
|
+
0.97b "1.00.97 beta 7" 1.00.97 97 1.0.1 [should have been 2.0.97]
|
5925
|
+
0.97c 0.97 97 2.0.97
|
5926
|
+
0.98 0.98 98 2.0.98
|
5927
|
+
0.99 0.99 98 2.0.99
|
5928
|
+
0.99a-m 0.99 99 2.0.99
|
5929
|
+
1.00 1.00 100 2.1.0 [100 should be 10000]
|
5930
|
+
1.0.0 (from here on, the 100 2.1.0 [100 should be 10000]
|
5931
|
+
1.0.1 png.h string is 10001 2.1.0
|
5932
|
+
1.0.1a-e identical to the 10002 from here on, the shared library
|
5933
|
+
1.0.2 source version) 10002 is 2.V where V is the source code
|
5934
|
+
1.0.2a-b 10003 version, except as noted.
|
5935
|
+
1.0.3 10003
|
5936
|
+
1.0.3a-d 10004
|
5937
|
+
1.0.4 10004
|
5938
|
+
1.0.4a-f 10005
|
5939
|
+
1.0.5 (+ 2 patches) 10005
|
5940
|
+
1.0.5a-d 10006
|
5941
|
+
1.0.5e-r 10100 (not source compatible)
|
5942
|
+
1.0.5s-v 10006 (not binary compatible)
|
5943
|
+
1.0.6 (+ 3 patches) 10006 (still binary incompatible)
|
5944
|
+
1.0.6d-f 10007 (still binary incompatible)
|
5945
|
+
1.0.6g 10007
|
5946
|
+
1.0.6h 10007 10.6h (testing xy.z so-numbering)
|
5947
|
+
1.0.6i 10007 10.6i
|
5948
|
+
1.0.6j 10007 2.1.0.6j (incompatible with 1.0.0)
|
5949
|
+
1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14 (binary compatible)
|
5950
|
+
1.0.7beta15-18 1 10007 2.1.0.7beta15-18 (binary compatible)
|
5951
|
+
1.0.7rc1-2 1 10007 2.1.0.7rc1-2 (binary compatible)
|
5952
|
+
1.0.7 1 10007 (still compatible)
|
5953
|
+
...
|
5954
|
+
1.0.19 10 10019 10.so.0.19[.0]
|
5955
|
+
...
|
5956
|
+
1.2.56 13 10256 12.so.0.56[.0]
|
5957
|
+
...
|
5958
|
+
1.5.27 15 10527 15.so.15.27[.0]
|
5959
|
+
...
|
5960
|
+
1.6.23 16 10623 16.so.16.23[.0]
|
6037
5961
|
|
6038
5962
|
Henceforth the source version will match the shared-library minor
|
6039
5963
|
and patch numbers; the shared-library major version number will be
|
@@ -6043,11 +5967,10 @@ for applications, is an unsigned integer of the form xyyzz corresponding
|
|
6043
5967
|
to the source version x.y.z (leading zeros in y and z). Beta versions
|
6044
5968
|
were given the previous public release number plus a letter, until
|
6045
5969
|
version 1.0.6j; from then on they were given the upcoming public
|
6046
|
-
release number plus "betaNN" or "
|
5970
|
+
release number plus "betaNN" or "rcNN".
|
6047
5971
|
|
6048
5972
|
.SH "SEE ALSO"
|
6049
|
-
.
|
6050
|
-
|
5973
|
+
.IR libpngpf(3) ", " png(5)
|
6051
5974
|
.LP
|
6052
5975
|
.IR libpng :
|
6053
5976
|
.IP
|
@@ -6070,7 +5993,7 @@ ftp://ftp.info-zip.org/pub/infozip/zlib
|
|
6070
5993
|
.I libpng
|
6071
5994
|
or at
|
6072
5995
|
.br
|
6073
|
-
ftp://
|
5996
|
+
ftp://ftp.rfc-editor.org:/in-notes/rfc2083.txt
|
6074
5997
|
.br
|
6075
5998
|
or (as a W3C Recommendation) at
|
6076
5999
|
.br
|
@@ -6090,7 +6013,7 @@ possible without all of you.
|
|
6090
6013
|
|
6091
6014
|
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
6092
6015
|
|
6093
|
-
Libpng version 1.6.
|
6016
|
+
Libpng version 1.6.23 - June 9, 2016:
|
6094
6017
|
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
6095
6018
|
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
6096
6019
|
|
@@ -6102,21 +6025,24 @@ png-mng-implement at lists.sourceforge.net (subscription required; visit
|
|
6102
6025
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
6103
6026
|
to subscribe).
|
6104
6027
|
|
6105
|
-
.SH
|
6028
|
+
.SH NOTICES:
|
6106
6029
|
|
6107
|
-
|
6030
|
+
This copy of the libpng notices is provided for your convenience. In case of
|
6108
6031
|
any discrepancy between this copy and the notices in the file png.h that is
|
6109
|
-
included in the libpng distribution, the latter shall prevail.
|
6032
|
+
included in the libpng distribution, the latter shall prevail.
|
6033
|
+
|
6034
|
+
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
|
6110
6035
|
|
6111
6036
|
If you modify libpng you may insert additional notices immediately following
|
6112
6037
|
this sentence.
|
6113
6038
|
|
6114
6039
|
This code is released under the libpng license.
|
6115
6040
|
|
6116
|
-
libpng versions 1.0.7, July 1, 2000
|
6117
|
-
Copyright (c) 2000-2002, 2004, 2006-
|
6118
|
-
distributed according to the same
|
6119
|
-
|
6041
|
+
libpng versions 1.0.7, July 1, 2000 through 1.6.23, June 9, 2016 are
|
6042
|
+
Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are
|
6043
|
+
derived from libpng-1.0.6, and are distributed according to the same
|
6044
|
+
disclaimer and license as libpng-1.0.6 with the following individuals
|
6045
|
+
added to the list of Contributing Authors:
|
6120
6046
|
|
6121
6047
|
Simon-Pierre Cadieux
|
6122
6048
|
Eric S. Raymond
|
@@ -6134,19 +6060,25 @@ and with the following additions to the disclaimer:
|
|
6134
6060
|
risk of satisfactory quality, performance, accuracy, and effort is with
|
6135
6061
|
the user.
|
6136
6062
|
|
6063
|
+
Some files in the "contrib" directory and some configure-generated
|
6064
|
+
files that are distributed with libpng have other copyright owners and
|
6065
|
+
are released under other open source licenses.
|
6066
|
+
|
6137
6067
|
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
|
6138
|
-
Copyright (c) 1998-2000 Glenn Randers-Pehrson,
|
6139
|
-
|
6140
|
-
individuals added to the list
|
6068
|
+
Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
|
6069
|
+
libpng-0.96, and are distributed according to the same disclaimer and
|
6070
|
+
license as libpng-0.96, with the following individuals added to the list
|
6071
|
+
of Contributing Authors:
|
6141
6072
|
|
6142
6073
|
Tom Lane
|
6143
6074
|
Glenn Randers-Pehrson
|
6144
6075
|
Willem van Schaik
|
6145
6076
|
|
6146
6077
|
libpng versions 0.89, June 1996, through 0.96, May 1997, are
|
6147
|
-
Copyright (c) 1996-1997 Andreas Dilger,
|
6148
|
-
distributed according to the same disclaimer and license as
|
6149
|
-
with the following individuals added to the list of
|
6078
|
+
Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
|
6079
|
+
and are distributed according to the same disclaimer and license as
|
6080
|
+
libpng-0.88, with the following individuals added to the list of
|
6081
|
+
Contributing Authors:
|
6150
6082
|
|
6151
6083
|
John Bowler
|
6152
6084
|
Kevin Bracey
|
@@ -6155,6 +6087,9 @@ with the following individuals added to the list of Contributing Authors:
|
|
6155
6087
|
Greg Roelofs
|
6156
6088
|
Tom Tanner
|
6157
6089
|
|
6090
|
+
Some files in the "scripts" directory have other copyright owners
|
6091
|
+
but are released under this license.
|
6092
|
+
|
6158
6093
|
libpng versions 0.5, May 1995, through 0.88, January 1996, are
|
6159
6094
|
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
|
6160
6095
|
|
@@ -6193,6 +6128,31 @@ supporting the PNG file format in commercial products. If you use this
|
|
6193
6128
|
source code in a product, acknowledgment is not required but would be
|
6194
6129
|
appreciated.
|
6195
6130
|
|
6131
|
+
END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
|
6132
|
+
|
6133
|
+
TRADEMARK:
|
6134
|
+
|
6135
|
+
The name "libpng" has not been registered by the Copyright owner
|
6136
|
+
as a trademark in any jurisdiction. However, because libpng has
|
6137
|
+
been distributed and maintained world-wide, continually since 1995,
|
6138
|
+
the Copyright owner claims "common-law trademark protection" in any
|
6139
|
+
jurisdiction where common-law trademark is recognized.
|
6140
|
+
|
6141
|
+
OSI CERTIFICATION:
|
6142
|
+
|
6143
|
+
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
|
6144
|
+
a certification mark of the Open Source Initiative. OSI has not addressed
|
6145
|
+
the additional disclaimers inserted at version 1.0.7.
|
6146
|
+
|
6147
|
+
EXPORT CONTROL:
|
6148
|
+
|
6149
|
+
The Copyright owner believes that the Export Control Classification
|
6150
|
+
Number (ECCN) for libpng is EAR99, which means not subject to export
|
6151
|
+
controls or International Traffic in Arms Regulations (ITAR) because
|
6152
|
+
it is open source, publicly available software, that does not contain
|
6153
|
+
any encryption software. See the EAR, paragraphs 734.3(b)(3) and
|
6154
|
+
734.7(b).
|
6155
|
+
|
6196
6156
|
A "png_get_copyright" function is available, for convenient use in "about"
|
6197
6157
|
boxes and the like:
|
6198
6158
|
|
@@ -6201,13 +6161,9 @@ boxes and the like:
|
|
6201
6161
|
Also, the PNG logo (in PNG format, of course) is supplied in the
|
6202
6162
|
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
|
6203
6163
|
|
6204
|
-
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
|
6205
|
-
a certification mark of the Open Source Initiative. OSI has not addressed
|
6206
|
-
the additional disclaimers inserted at version 1.0.7.
|
6207
|
-
|
6208
6164
|
Glenn Randers-Pehrson
|
6209
6165
|
glennrp at users.sourceforge.net
|
6210
|
-
|
6166
|
+
June 9, 2016
|
6211
6167
|
|
6212
6168
|
.\" end of man page
|
6213
6169
|
|