cairo 1.14.3-x64-mingw32 → 1.14.6-x64-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.

Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/NEWS +11 -0
  3. data/Rakefile +11 -9
  4. data/ext/cairo/rb_cairo.h +2 -2
  5. data/ext/cairo/rb_cairo_font_options.c +5 -1
  6. data/ext/cairo/rb_cairo_surface.c +28 -5
  7. data/lib/2.2/cairo.so +0 -0
  8. data/lib/2.3/cairo.so +0 -0
  9. data/test/test_font_options.rb +47 -2
  10. data/vendor/local/bin/fc-cache.exe +0 -0
  11. data/vendor/local/bin/fc-cat.exe +0 -0
  12. data/vendor/local/bin/fc-list.exe +0 -0
  13. data/vendor/local/bin/fc-match.exe +0 -0
  14. data/vendor/local/bin/fc-pattern.exe +0 -0
  15. data/vendor/local/bin/fc-query.exe +0 -0
  16. data/vendor/local/bin/fc-scan.exe +0 -0
  17. data/vendor/local/bin/fc-validate.exe +0 -0
  18. data/vendor/local/bin/freetype-config +6 -8
  19. data/vendor/local/bin/libcairo-2.dll +0 -0
  20. data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
  21. data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
  22. data/vendor/local/bin/libfontconfig-1.dll +0 -0
  23. data/vendor/local/bin/libfreetype-6.dll +0 -0
  24. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  25. data/vendor/local/bin/libpixman-1-0.dll +0 -0
  26. data/vendor/local/bin/libpng-config +1 -1
  27. data/vendor/local/bin/libpng16-16.dll +0 -0
  28. data/vendor/local/bin/libpng16-config +1 -1
  29. data/vendor/local/bin/libstdc++-6.dll +0 -0
  30. data/vendor/local/bin/libwinpthread-1.dll +0 -0
  31. data/vendor/local/bin/libxml2-2.dll +0 -0
  32. data/vendor/local/bin/png-fix-itxt.exe +0 -0
  33. data/vendor/local/bin/pngfix.exe +0 -0
  34. data/vendor/local/bin/xmlcatalog.exe +0 -0
  35. data/vendor/local/bin/xmllint.exe +0 -0
  36. data/vendor/local/bin/zlib1.dll +0 -0
  37. data/vendor/local/include/cairo/cairo-features.h +15 -0
  38. data/vendor/local/include/cairo/cairo-version.h +1 -1
  39. data/vendor/local/include/freetype2/{config → freetype/config}/ftconfig.h +15 -9
  40. data/vendor/local/include/freetype2/{config → freetype/config}/ftheader.h +64 -65
  41. data/vendor/local/include/freetype2/{config → freetype/config}/ftmodule.h +0 -0
  42. data/vendor/local/include/freetype2/{config → freetype/config}/ftoption.h +29 -64
  43. data/vendor/local/include/freetype2/{config → freetype/config}/ftstdlib.h +6 -6
  44. data/vendor/local/include/freetype2/{freetype.h → freetype/freetype.h} +270 -67
  45. data/vendor/local/include/freetype2/{ftadvanc.h → freetype/ftadvanc.h} +4 -4
  46. data/vendor/local/include/freetype2/{ftautoh.h → freetype/ftautoh.h} +59 -6
  47. data/vendor/local/include/freetype2/{ftbbox.h → freetype/ftbbox.h} +4 -4
  48. data/vendor/local/include/freetype2/{ftbdf.h → freetype/ftbdf.h} +4 -4
  49. data/vendor/local/include/freetype2/{ftbitmap.h → freetype/ftbitmap.h} +4 -4
  50. data/vendor/local/include/freetype2/{ftbzip2.h → freetype/ftbzip2.h} +4 -4
  51. data/vendor/local/include/freetype2/{ftcache.h → freetype/ftcache.h} +4 -4
  52. data/vendor/local/include/freetype2/{ftcffdrv.h → freetype/ftcffdrv.h} +8 -8
  53. data/vendor/local/include/freetype2/{ftchapters.h → freetype/ftchapters.h} +14 -0
  54. data/vendor/local/include/freetype2/{ftcid.h → freetype/ftcid.h} +4 -4
  55. data/vendor/local/include/freetype2/{fterrdef.h → freetype/fterrdef.h} +39 -12
  56. data/vendor/local/include/freetype2/{fterrors.h → freetype/fterrors.h} +73 -45
  57. data/vendor/local/include/freetype2/{ftfntfmt.h → freetype/ftfntfmt.h} +7 -4
  58. data/vendor/local/include/freetype2/{ftgasp.h → freetype/ftgasp.h} +4 -4
  59. data/vendor/local/include/freetype2/{ftglyph.h → freetype/ftglyph.h} +4 -4
  60. data/vendor/local/include/freetype2/{ftgxval.h → freetype/ftgxval.h} +4 -4
  61. data/vendor/local/include/freetype2/{ftgzip.h → freetype/ftgzip.h} +4 -4
  62. data/vendor/local/include/freetype2/{ftimage.h → freetype/ftimage.h} +6 -6
  63. data/vendor/local/include/freetype2/{ftincrem.h → freetype/ftincrem.h} +4 -4
  64. data/vendor/local/include/freetype2/{ftlcdfil.h → freetype/ftlcdfil.h} +111 -76
  65. data/vendor/local/include/freetype2/{ftlist.h → freetype/ftlist.h} +4 -4
  66. data/vendor/local/include/freetype2/{ftlzw.h → freetype/ftlzw.h} +4 -4
  67. data/vendor/local/include/freetype2/{ftmac.h → freetype/ftmac.h} +4 -4
  68. data/vendor/local/include/freetype2/{ftmm.h → freetype/ftmm.h} +10 -5
  69. data/vendor/local/include/freetype2/{ftmodapi.h → freetype/ftmodapi.h} +15 -17
  70. data/vendor/local/include/freetype2/{ftmoderr.h → freetype/ftmoderr.h} +5 -5
  71. data/vendor/local/include/freetype2/{ftotval.h → freetype/ftotval.h} +4 -4
  72. data/vendor/local/include/freetype2/{ftoutln.h → freetype/ftoutln.h} +6 -6
  73. data/vendor/local/include/freetype2/{ftpfr.h → freetype/ftpfr.h} +4 -4
  74. data/vendor/local/include/freetype2/{ftrender.h → freetype/ftrender.h} +4 -4
  75. data/vendor/local/include/freetype2/{ftsizes.h → freetype/ftsizes.h} +4 -4
  76. data/vendor/local/include/freetype2/{ftsnames.h → freetype/ftsnames.h} +4 -4
  77. data/vendor/local/include/freetype2/{ftstroke.h → freetype/ftstroke.h} +4 -4
  78. data/vendor/local/include/freetype2/{ftsynth.h → freetype/ftsynth.h} +4 -4
  79. data/vendor/local/include/freetype2/{ftsystem.h → freetype/ftsystem.h} +4 -4
  80. data/vendor/local/include/freetype2/{fttrigon.h → freetype/fttrigon.h} +6 -6
  81. data/vendor/local/include/freetype2/{ftttdrv.h → freetype/ftttdrv.h} +81 -4
  82. data/vendor/local/include/freetype2/{fttypes.h → freetype/fttypes.h} +4 -4
  83. data/vendor/local/include/freetype2/{ftwinfnt.h → freetype/ftwinfnt.h} +4 -4
  84. data/vendor/local/include/freetype2/{t1tables.h → freetype/t1tables.h} +4 -4
  85. data/vendor/local/include/freetype2/{ttnameid.h → freetype/ttnameid.h} +4 -4
  86. data/vendor/local/include/freetype2/{tttables.h → freetype/tttables.h} +4 -4
  87. data/vendor/local/include/freetype2/{tttags.h → freetype/tttags.h} +4 -4
  88. data/vendor/local/include/freetype2/{ttunpat.h → freetype/ttunpat.h} +11 -8
  89. data/vendor/local/include/freetype2/ft2build.h +5 -5
  90. data/vendor/local/include/libpng16/png.h +310 -318
  91. data/vendor/local/include/libpng16/pngconf.h +8 -8
  92. data/vendor/local/include/libpng16/pnglibconf.h +3 -4
  93. data/vendor/local/include/png.h +310 -318
  94. data/vendor/local/include/pngconf.h +8 -8
  95. data/vendor/local/include/pnglibconf.h +3 -4
  96. data/vendor/local/lib/libcairo-gobject.a +0 -0
  97. data/vendor/local/lib/libcairo-gobject.dll.a +0 -0
  98. data/vendor/local/lib/libcairo-gobject.la +2 -2
  99. data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
  100. data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
  101. data/vendor/local/lib/libcairo-script-interpreter.la +1 -1
  102. data/vendor/local/lib/libcairo.a +0 -0
  103. data/vendor/local/lib/libcairo.dll.a +0 -0
  104. data/vendor/local/lib/libcairo.la +1 -1
  105. data/vendor/local/lib/libfontconfig.dll.a +0 -0
  106. data/vendor/local/lib/libfreetype.a +0 -0
  107. data/vendor/local/lib/libfreetype.dll.a +0 -0
  108. data/vendor/local/lib/libfreetype.la +1 -1
  109. data/vendor/local/lib/libpixman-1.a +0 -0
  110. data/vendor/local/lib/libpixman-1.dll.a +0 -0
  111. data/vendor/local/lib/libpng.a +0 -0
  112. data/vendor/local/lib/libpng.dll.a +0 -0
  113. data/vendor/local/lib/libpng.la +2 -2
  114. data/vendor/local/lib/libpng16.a +0 -0
  115. data/vendor/local/lib/libpng16.dll.a +0 -0
  116. data/vendor/local/lib/libpng16.la +2 -2
  117. data/vendor/local/lib/libxml2.a +0 -0
  118. data/vendor/local/lib/libxml2.dll.a +0 -0
  119. data/vendor/local/lib/libz.a +0 -0
  120. data/vendor/local/lib/libz.dll.a +0 -0
  121. data/vendor/local/lib/pkgconfig/cairo-fc.pc +1 -1
  122. data/vendor/local/lib/pkgconfig/cairo-ft.pc +1 -1
  123. data/vendor/local/lib/pkgconfig/cairo-gobject.pc +1 -1
  124. data/vendor/local/lib/pkgconfig/cairo-pdf.pc +1 -1
  125. data/vendor/local/lib/pkgconfig/cairo-png.pc +1 -1
  126. data/vendor/local/lib/pkgconfig/cairo-ps.pc +1 -1
  127. data/vendor/local/lib/pkgconfig/cairo-script.pc +1 -1
  128. data/vendor/local/lib/pkgconfig/cairo-svg.pc +1 -1
  129. data/vendor/local/lib/pkgconfig/cairo-win32-font.pc +1 -1
  130. data/vendor/local/lib/pkgconfig/cairo-win32.pc +1 -1
  131. data/vendor/local/lib/pkgconfig/cairo.pc +1 -1
  132. data/vendor/local/lib/pkgconfig/freetype2.pc +3 -3
  133. data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
  134. data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
  135. data/vendor/local/share/aclocal/freetype2.m4 +1 -1
  136. data/vendor/local/share/gtk-doc/html/cairo/cairo-Error-handling.html +1 -1
  137. data/vendor/local/share/gtk-doc/html/cairo/cairo-FreeType-Fonts.html +1 -1
  138. data/vendor/local/share/gtk-doc/html/cairo/cairo-Image-Surfaces.html +1 -1
  139. data/vendor/local/share/gtk-doc/html/cairo/cairo-PDF-Surfaces.html +4 -4
  140. data/vendor/local/share/gtk-doc/html/cairo/cairo-Paths.html +3 -3
  141. data/vendor/local/share/gtk-doc/html/cairo/cairo-PostScript-Surfaces.html +6 -6
  142. data/vendor/local/share/gtk-doc/html/cairo/cairo-Recording-Surfaces.html +3 -3
  143. data/vendor/local/share/gtk-doc/html/cairo/cairo-Regions.html +10 -10
  144. data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +3 -3
  145. data/vendor/local/share/gtk-doc/html/cairo/cairo-Script-Surfaces.html +1 -1
  146. data/vendor/local/share/gtk-doc/html/cairo/cairo-User-Fonts.html +14 -14
  147. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Fonts.html +1 -1
  148. data/vendor/local/share/gtk-doc/html/cairo/cairo-Win32-Surfaces.html +5 -5
  149. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-Surfaces.html +1 -1
  150. data/vendor/local/share/gtk-doc/html/cairo/cairo-XLib-XRender-Backend.html +1 -1
  151. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-device-t.html +3 -3
  152. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-face-t.html +4 -4
  153. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-font-options-t.html +2 -2
  154. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-pattern-t.html +31 -31
  155. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-scaled-font-t.html +12 -12
  156. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +18 -18
  157. data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-t.html +8 -8
  158. data/vendor/local/share/gtk-doc/html/cairo/cairo-text.html +11 -11
  159. data/vendor/local/share/gtk-doc/html/cairo/cairo.devhelp2 +1 -0
  160. data/vendor/local/share/gtk-doc/html/cairo/index-1.12.html +2 -2
  161. data/vendor/local/share/gtk-doc/html/cairo/index-1.14.html +52 -0
  162. data/vendor/local/share/gtk-doc/html/cairo/index.html +2 -1
  163. data/vendor/local/share/gtk-doc/html/cairo/language-bindings.html +2 -2
  164. data/vendor/local/share/license/freetype/README +7 -6
  165. data/vendor/local/share/license/freetype/README.git +1 -1
  166. data/vendor/local/share/license/libpng/README +1 -1
  167. data/vendor/local/share/man/man1/freetype-config.1 +1 -1
  168. data/vendor/local/share/man/man3/libpng.3 +308 -352
  169. data/vendor/local/share/man/man3/libpngpf.3 +2 -2
  170. data/vendor/local/share/man/man5/png.5 +4 -4
  171. metadata +72 -72
  172. data/lib/2.0/cairo.so +0 -0
  173. 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="language-bindings.html" title="Appendix A. Creating a language binding for cairo">
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="language-bindings.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
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.2
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.12.html" title="Index of new symbols in 1.12">
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.12.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
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
- ftdoc26.zip
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-2015 by
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-2015 by
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,4 +1,4 @@
1
- README for libpng version 1.6.18 - July 23, 2015 (shared library 16.0)
1
+ README for libpng version 1.6.23 - June 9, 2016 (shared library 16.0)
2
2
  See the note about version numbers near the top of png.h
3
3
 
4
4
  See INSTALL for instructions on how to install libpng.
@@ -1,4 +1,4 @@
1
- .TH FREETYPE-CONFIG 1 "June 2015" "FreeType 2.6"
1
+ .TH FREETYPE-CONFIG 1 "February 2016" "FreeType 2.6.3"
2
2
  .
3
3
  .
4
4
  .SH NAME
@@ -1,6 +1,6 @@
1
- .TH LIBPNG 3 "July 23, 2015"
1
+ .TH LIBPNG 3 "June 9, 2016"
2
2
  .SH NAME
3
- libpng \- Portable Network Graphics (PNG) Reference Library 1.6.18
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.18 - July 23, 2015
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-2015 Glenn Randers-Pehrson
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.18 - July 23, 2015
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-2015 Glenn Randers-Pehrson
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://www.libpng.org/pub/png/documents/>. It is technically equivalent
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
- as RFC 2083 <http://www.libpng.org/pub/png/documents/> and as a
586
- W3C Recommendation <http://www.w3.org/TR/REC.png.html>.
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/documents/>.
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://www.info-zip.org/pub/infozip/zlib/>.
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. You can impose a limit on the total number
1181
- of sPLT, tEXt, iTXt, zTXt, and unknown chunks that will be stored, with
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
- You can also set a limit on the amount of memory that a compressed chunk
1190
- other than IDAT can occupy, with
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
- byte, unless png_set_packing() is called. 8-bit RGB data will be stored
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 or
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 is
2356
- either PNG_FILLER_BEFORE or PNG_FILLER_AFTER, depending upon whether
2357
- you want the filler before the RGB or after. This transformation
2358
- does not affect images that already have full alpha channels. To add an
2359
- opaque alpha channel, use filler=0xff or 0xffff and PNG_FILLER_AFTER which
2360
- will generate RGBA pixels.
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
- This function was added in libpng-1.2.7.
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
- <http://www.poynton.com/>, in section 9:
2438
+ Copyright (c) 2006-11-28 Charles Poynton, in section 9:
2429
2439
 
2430
- <http://www.poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC9>
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
- stack and memset() it to all zero.
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
- format and allocate a buffer for the image.
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
- 4) Call png_image_finish_read to read the image into
4236
- your buffer.
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 in memory.
4266
+ image samples.
4251
4267
 
4252
4268
  3) Call the appropriate png_image_write... function with a
4253
- pointer to the image to write the PNG data.
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 define the in-memory format of an image that you
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 following field warning_or_error
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 this value are reserved; the low two bits contain
4276
- a two bit code such that a value more than 1 indicates a failure in the API
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
- When a color-mapped image is used as a result of calling
4315
- png_image_read_colormap or png_image_write_colormap the channels are encoded
4316
- in the color-map and the descriptions above apply to the color-map entries.
4317
- The image data is encoded as small integers, value 0..255, that index the
4318
- entries in the color-map. One integer (one byte) is stored for each pixel.
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 channel encodings.
4346
+ separate defines for each of the two component encodings.
4325
4347
 
4326
- A format is built up using single bit flag values. Not all combinations are
4327
- valid: use the bit flag values below for testing a format returned by the
4328
- read APIs, but set formats from the derived values.
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, if you see
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. You can
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 0x01 format with an alpha channel
4345
- PNG_FORMAT_FLAG_COLOR 0x02 color format: otherwise grayscale
4346
- PNG_FORMAT_FLAG_LINEAR 0x04 png_uint_16 channels else png_byte
4347
- PNG_FORMAT_FLAG_COLORMAP 0x08 libpng use only
4348
- PNG_FORMAT_FLAG_BGR 0x10 BGR colors, else order is RGB
4349
- PNG_FORMAT_FLAG_AFIRST 0x20 alpha channel comes first
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 0
4359
- PNG_FORMAT_GA PNG_FORMAT_FLAG_ALPHA
4360
- PNG_FORMAT_AG (PNG_FORMAT_GA|PNG_FORMAT_FLAG_AFIRST)
4361
- PNG_FORMAT_RGB PNG_FORMAT_FLAG_COLOR
4362
- PNG_FORMAT_BGR (PNG_FORMAT_FLAG_COLOR|PNG_FORMAT_FLAG_BGR)
4363
- PNG_FORMAT_RGBA (PNG_FORMAT_RGB|PNG_FORMAT_FLAG_ALPHA)
4364
- PNG_FORMAT_ARGB (PNG_FORMAT_RGBA|PNG_FORMAT_FLAG_AFIRST)
4365
- PNG_FORMAT_BGRA (PNG_FORMAT_BGR|PNG_FORMAT_FLAG_ALPHA)
4366
- PNG_FORMAT_ABGR (PNG_FORMAT_BGRA|PNG_FORMAT_FLAG_AFIRST)
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 PNG_FORMAT_FLAG_LINEAR
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
- Color-mapped formats are obtained by calling png_image_{read,write}_colormap,
4385
- as appropriate after setting png_image::format to the format of the color-map
4386
- to be read or written. Applications may check the value of
4387
- PNG_FORMAT_FLAG_COLORMAP to see if they have called the colormap API. The
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
- PNG_FORMAT_OF_COLORMAP(fmt) ((fmt) & ~PNG_FORMAT_FLAG_COLORMAP)
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 after a call to
4399
- png_image_{read,write}_colormap. The remaining macros return information
4400
- about the rows in the image and the complete image.
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, it is
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
- Returns the size, in bytes, of an image buffer given a png_image and a row
4474
- stride - the number of components to leave space for in each row. This
4475
- macro takes care of multiplying row_stride by PNG_IMAGE_PIXEL_COMONENT_SIZE
4476
- when the image has 2-byte components.
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
- PNG_IMAGE_FLAG_COLORMAP == 0x02
4483
- The PNG is color-mapped. If this flag is set png_image_read_colormap
4484
- can be used without further loss of image information. If it is not set
4485
- png_image_read_colormap will cause significant loss if the image has any
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 and PNG_NO_FILTERS
4841
- to turn filtering on and off, respectively.
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 = PNG_FILTER_NONE | PNG_FILTER_SUB
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 | PNG_ALL_FILTERS;
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 0x7ffffff (i.e., made unlimited). Therefore, the
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 been eliminated and the definition of
5510
- png_alloc_size_t is now controlled by a flag so that 'small size_t' systems
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 prefer to express integers that are used as bit masks in hex format,
5757
- with an even number of lower-case hex digits (e.g., 0x00, 0xff, 0x0100).
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 in variable names rather than camelCase, except
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.18 are Y2K compliant. It is my belief that earlier
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 ("beta 3") 0.89 89 1.0.89
5842
- 0.90 ("beta 4") 0.90 90 0.90
5843
- 0.95 ("beta 5") 0.95 95 0.95
5844
- 0.96 ("beta 6") 0.96 96 0.96
5845
- 0.97b ("beta 7") 1.00.97 97 1.0.1
5846
- 0.97c 0.97 97 2.0.97
5847
- 0.98 0.98 98 2.0.98
5848
- 0.99 0.99 98 2.0.99
5849
- 0.99a-m 0.99 99 2.0.99
5850
- 1.00 1.00 100 2.1.0
5851
- 1.0.0 1.0.0 100 2.1.0
5852
- 1.0.0 (from here on, the 100 2.1.0
5853
- 1.0.1 png.h string is 10001 2.1.0
5854
- 1.0.1a-e identical to the 10002 from here on, the
5855
- 1.0.2 source version) 10002 shared library is 2.V
5856
- 1.0.2a-b 10003 where V is the source
5857
- 1.0.1 10001 code version except as
5858
- 1.0.1a-e 10002 2.1.0.1a-e noted.
5859
- 1.0.2 10002 2.1.0.2
5860
- 1.0.2a-b 10003 2.1.0.2a-b
5861
- 1.0.3 10003 2.1.0.3
5862
- 1.0.3a-d 10004 2.1.0.3a-d
5863
- 1.0.4 10004 2.1.0.4
5864
- 1.0.4a-f 10005 2.1.0.4a-f
5865
- 1.0.5 (+ 2 patches) 10005 2.1.0.5
5866
- 1.0.5a-d 10006 2.1.0.5a-d
5867
- 1.0.5e-r 10100 2.1.0.5e-r
5868
- 1.0.5s-v 10006 2.1.0.5s-v
5869
- 1.0.6 (+ 3 patches) 10006 2.1.0.6
5870
- 1.0.6d-g 10007 2.1.0.6d-g
5871
- 1.0.6h 10007 10.6h
5872
- 1.0.6i 10007 10.6i
5873
- 1.0.6j 10007 2.1.0.6j
5874
- 1.0.7beta11-14 DLLNUM 10007 2.1.0.7beta11-14
5875
- 1.0.7beta15-18 1 10007 2.1.0.7beta15-18
5876
- 1.0.7rc1-2 1 10007 2.1.0.7rc1-2
5877
- 1.0.7 1 10007 2.1.0.7
5878
- 1.0.8beta1-4 1 10008 2.1.0.8beta1-4
5879
- 1.0.8rc1 1 10008 2.1.0.8rc1
5880
- 1.0.8 1 10008 2.1.0.8
5881
- 1.0.9beta1-6 1 10009 2.1.0.9beta1-6
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 "rcN".
5970
+ release number plus "betaNN" or "rcNN".
6047
5971
 
6048
5972
  .SH "SEE ALSO"
6049
- .BR "png"(5), " libpngpf"(3), " zlib"(3), " deflate"(5), " " and " zlib"(5)
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://ds.internic.net/rfc/rfc2083.txt
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.18 - July 23, 2015:
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 COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
6028
+ .SH NOTICES:
6106
6029
 
6107
- (This copy of the libpng notices is provided for your convenience. In case of
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, through 1.6.18, July 23, 2015, are
6117
- Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, and are
6118
- distributed according to the same disclaimer and license as libpng-1.0.6
6119
- with the following individuals added to the list of Contributing Authors:
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, and are distributed according
6139
- to the same disclaimer and license as libpng-0.96, with the following
6140
- individuals added to the list of Contributing Authors:
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, and are
6148
- distributed according to the same disclaimer and license as libpng-0.88,
6149
- with the following individuals added to the list of Contributing Authors:
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
- July 23, 2015
6166
+ June 9, 2016
6211
6167
 
6212
6168
  .\" end of man page
6213
6169