cairo 1.12.6-x86-mingw32 → 1.12.7-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 +7 -0
- data/Gemfile +1 -1
- data/NEWS +24 -0
- data/README.rdoc +1 -1
- data/Rakefile +57 -14
- data/ext/cairo/rb_cairo.h +1 -1
- data/ext/cairo/rb_cairo_surface.c +2 -0
- data/lib/1.9/cairo.so +0 -0
- data/lib/2.0/cairo.so +0 -0
- data/lib/2.1/cairo.so +0 -0
- data/lib/cairo/papers.rb +24 -0
- data/test/test_image_surface.rb +28 -0
- 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 -10
- 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/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/etc/fonts/conf.d/30-metric-aliases.conf +259 -53
- data/vendor/local/etc/fonts/conf.d/30-urw-aliases.conf +4 -20
- data/vendor/local/etc/fonts/conf.d/45-latin.conf +16 -0
- data/vendor/local/etc/fonts/conf.d/README +3 -3
- data/vendor/local/etc/fonts/fonts.conf +1 -1
- data/vendor/local/include/cairo/cairo-gobject.h +4 -0
- data/vendor/local/include/cairo/cairo-version.h +1 -1
- data/vendor/local/include/fontconfig/fcprivate.h +2 -1
- data/vendor/local/include/fontconfig/fontconfig.h +7 -3
- data/vendor/local/include/freetype2/{freetype/config → config}/ftconfig.h +105 -13
- data/vendor/local/include/freetype2/{freetype/config → config}/ftheader.h +71 -58
- data/vendor/local/include/freetype2/{freetype/config → config}/ftmodule.h +0 -0
- data/vendor/local/include/freetype2/{freetype/config → config}/ftoption.h +41 -35
- data/vendor/local/include/freetype2/{freetype/config → config}/ftstdlib.h +0 -0
- data/vendor/local/include/freetype2/{freetype/freetype.h → freetype.h} +83 -40
- data/vendor/local/include/freetype2/ft2build.h +42 -0
- data/vendor/local/include/freetype2/{freetype/ftadvanc.h → ftadvanc.h} +14 -11
- data/vendor/local/include/freetype2/{freetype/ftautoh.h → ftautoh.h} +11 -3
- data/vendor/local/include/freetype2/{freetype/ftbbox.h → ftbbox.h} +3 -3
- data/vendor/local/include/freetype2/{freetype/ftbdf.h → ftbdf.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftbitmap.h → ftbitmap.h} +4 -4
- data/vendor/local/include/freetype2/{freetype/ftbzip2.h → ftbzip2.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftcache.h → ftcache.h} +4 -87
- data/vendor/local/include/freetype2/ftcffdrv.h +254 -0
- data/vendor/local/include/freetype2/{freetype/ftchapters.h → ftchapters.h} +4 -16
- data/vendor/local/include/freetype2/{freetype/ftcid.h → ftcid.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/fterrdef.h → fterrdef.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/fterrors.h → fterrors.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftgasp.h → ftgasp.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftglyph.h → ftglyph.h} +5 -5
- data/vendor/local/include/freetype2/{freetype/ftgxval.h → ftgxval.h} +5 -5
- data/vendor/local/include/freetype2/{freetype/ftgzip.h → ftgzip.h} +48 -1
- data/vendor/local/include/freetype2/{freetype/ftimage.h → ftimage.h} +20 -11
- data/vendor/local/include/freetype2/{freetype/ftincrem.h → ftincrem.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftlcdfil.h → ftlcdfil.h} +3 -3
- data/vendor/local/include/freetype2/{freetype/ftlist.h → ftlist.h} +6 -6
- data/vendor/local/include/freetype2/{freetype/ftlzw.h → ftlzw.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftmac.h → ftmac.h} +3 -3
- data/vendor/local/include/freetype2/{freetype/ftmm.h → ftmm.h} +3 -4
- data/vendor/local/include/freetype2/{freetype/ftmodapi.h → ftmodapi.h} +15 -8
- data/vendor/local/include/freetype2/{freetype/ftmoderr.h → ftmoderr.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftotval.h → ftotval.h} +3 -3
- data/vendor/local/include/freetype2/{freetype/ftoutln.h → ftoutln.h} +16 -7
- data/vendor/local/include/freetype2/{freetype/ftpfr.h → ftpfr.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftrender.h → ftrender.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftsizes.h → ftsizes.h} +2 -2
- data/vendor/local/include/freetype2/{freetype/ftsnames.h → ftsnames.h} +3 -3
- data/vendor/local/include/freetype2/{freetype/ftstroke.h → ftstroke.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ftsynth.h → ftsynth.h} +2 -2
- data/vendor/local/include/freetype2/{freetype/ftsystem.h → ftsystem.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/fttrigon.h → fttrigon.h} +0 -0
- data/vendor/local/include/freetype2/ftttdrv.h +170 -0
- data/vendor/local/include/freetype2/{freetype/fttypes.h → fttypes.h} +3 -3
- data/vendor/local/include/freetype2/{freetype/ftwinfnt.h → ftwinfnt.h} +4 -3
- data/vendor/local/include/freetype2/{freetype/ftxf86.h → ftxf86.h} +2 -2
- data/vendor/local/include/freetype2/{freetype/t1tables.h → t1tables.h} +0 -0
- data/vendor/local/include/freetype2/{freetype/ttnameid.h → ttnameid.h} +2 -2
- data/vendor/local/include/freetype2/{freetype/tttables.h → tttables.h} +24 -14
- data/vendor/local/include/freetype2/{freetype/tttags.h → tttags.h} +5 -1
- data/vendor/local/include/freetype2/{freetype/ttunpat.h → ttunpat.h} +0 -0
- data/vendor/local/include/libpng16/png.h +30 -12
- data/vendor/local/include/libpng16/pngconf.h +2 -1
- data/vendor/local/include/libpng16/pnglibconf.h +3 -3
- data/vendor/local/include/pixman-1/pixman-version.h +3 -3
- data/vendor/local/include/pixman-1/pixman.h +1 -1
- data/vendor/local/include/png.h +30 -12
- data/vendor/local/include/pngconf.h +2 -1
- data/vendor/local/include/pnglibconf.h +3 -3
- data/vendor/local/lib/fontconfig.def +2 -1
- 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 +3 -3
- 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 +3 -3
- data/vendor/local/lib/libcairo.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libcairo.la +3 -3
- data/vendor/local/lib/libfontconfig.a +0 -0
- data/vendor/local/lib/libfontconfig.dll.a +0 -0
- data/vendor/local/lib/libfontconfig.la +3 -3
- data/vendor/local/lib/libfreetype.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libfreetype.la +3 -3
- data/vendor/local/lib/libpixman-1.a +0 -0
- data/vendor/local/lib/libpixman-1.dll.a +0 -0
- data/vendor/local/lib/libpixman-1.la +4 -4
- 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 +3 -3
- data/vendor/local/lib/pkgconfig/fontconfig.pc +6 -4
- data/vendor/local/lib/pkgconfig/freetype2.pc +4 -4
- data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
- data/vendor/local/lib/pkgconfig/pixman-1.pc +1 -1
- data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +259 -53
- data/vendor/local/share/fontconfig/conf.avail/30-urw-aliases.conf +4 -20
- data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +16 -0
- 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 +3 -3
- 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 +8 -8
- data/vendor/local/share/gtk-doc/html/cairo/cairo-SVG-Surfaces.html +3 -3
- 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-XCB-Surfaces.html +0 -8
- 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 +11 -11
- data/vendor/local/share/gtk-doc/html/cairo/cairo-cairo-surface-t.html +13 -13
- 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/index.html +1 -1
- data/vendor/local/share/license/fontconfig/README +83 -2
- data/vendor/local/share/license/freetype/README +5 -5
- data/vendor/local/share/license/freetype/README.git +5 -1
- data/vendor/local/share/license/libpng/README +18 -18
- data/vendor/local/share/man/man3/libpng.3 +136 -54
- data/vendor/local/share/man/man3/libpngpf.3 +2 -2
- data/vendor/local/share/man/man5/png.5 +1 -1
- metadata +74 -80
- data/vendor/local/etc/fonts/fonts.conf.bak +0 -155
- data/vendor/local/include/freetype2/freetype/ftcffdrv.h +0 -150
- data/vendor/local/include/ft2build.h +0 -61
@@ -224,7 +224,7 @@ maintain a separate reference to it.
|
|
224
224
|
<td>a newly allocated <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> with a reference
|
225
225
|
count of 1. The initial reference count should be released
|
226
226
|
with <a class="link" href="cairo-cairo-t.html#cairo-destroy" title="cairo_destroy ()"><code class="function">cairo_destroy()</code></a> when you are done using the <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a>.
|
227
|
-
This function never returns <
|
227
|
+
This function never returns <code class="literal">NULL</code>. If memory cannot be
|
228
228
|
allocated, a special <a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> object will be returned on
|
229
229
|
which <a class="link" href="cairo-cairo-t.html#cairo-status" title="cairo_status ()"><code class="function">cairo_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>. If
|
230
230
|
you attempt to target a surface which does not support
|
@@ -1051,7 +1051,7 @@ See also <a class="link" href="cairo-cairo-t.html#cairo-set-dash" title="cairo_s
|
|
1051
1051
|
<em class="parameter"><code><span class="type">double</span> *dashes</code></em>,
|
1052
1052
|
<em class="parameter"><code><span class="type">double</span> *offset</code></em>);</pre>
|
1053
1053
|
<p>
|
1054
|
-
Gets the current dash array. If not <
|
1054
|
+
Gets the current dash array. If not <code class="literal">NULL</code>, <em class="parameter"><code>dashes</code></em> should be big
|
1055
1055
|
enough to hold at least the number of values returned by
|
1056
1056
|
<a class="link" href="cairo-cairo-t.html#cairo-get-dash-count" title="cairo_get_dash_count ()"><code class="function">cairo_get_dash_count()</code></a>.
|
1057
1057
|
</p>
|
@@ -1065,12 +1065,12 @@ enough to hold at least the number of values returned by
|
|
1065
1065
|
</tr>
|
1066
1066
|
<tr>
|
1067
1067
|
<td><p><span class="term"><em class="parameter"><code>dashes</code></em> :</span></p></td>
|
1068
|
-
<td>return value for the dash array, or <
|
1068
|
+
<td>return value for the dash array, or <code class="literal">NULL</code>
|
1069
1069
|
</td>
|
1070
1070
|
</tr>
|
1071
1071
|
<tr>
|
1072
1072
|
<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
|
1073
|
-
<td>return value for the current dash offset, or <
|
1073
|
+
<td>return value for the current dash offset, or <code class="literal">NULL</code>
|
1074
1074
|
</td>
|
1075
1075
|
</tr>
|
1076
1076
|
</tbody>
|
@@ -2122,7 +2122,7 @@ be dereferenced.
|
|
2122
2122
|
<pre class="programlisting"><a class="link" href="cairo-cairo-t.html#cairo-rectangle-list-t" title="cairo_rectangle_list_t"><span class="returnvalue">cairo_rectangle_list_t</span></a> * cairo_copy_clip_rectangle_list (<em class="parameter"><code><a class="link" href="cairo-cairo-t.html#cairo-t" title="cairo_t"><span class="type">cairo_t</span></a> *cr</code></em>);</pre>
|
2123
2123
|
<p>
|
2124
2124
|
Gets the current clip region as a list of rectangles in user coordinates.
|
2125
|
-
Never returns <
|
2125
|
+
Never returns <code class="literal">NULL</code>.
|
2126
2126
|
</p>
|
2127
2127
|
<p>
|
2128
2128
|
The status in the list may be <a class="link" href="cairo-Error-handling.html#CAIRO-STATUS-CLIP-NOT-REPRESENTABLE:CAPS"><code class="literal">CAIRO_STATUS_CLIP_NOT_REPRESENTABLE</code></a> to
|
@@ -2639,7 +2639,7 @@ object is a nil object, 0 will be returned.</td>
|
|
2639
2639
|
<em class="parameter"><code><a class="link" href="cairo-Types.html#cairo-destroy-func-t" title="cairo_destroy_func_t ()"><span class="type">cairo_destroy_func_t</span></a> destroy</code></em>);</pre>
|
2640
2640
|
<p>
|
2641
2641
|
Attach user data to <em class="parameter"><code>cr</code></em>. To remove user data from a surface,
|
2642
|
-
call this function with the key that was used to set it and <
|
2642
|
+
call this function with the key that was used to set it and <code class="literal">NULL</code>
|
2643
2643
|
for <em class="parameter"><code>data</code></em>.
|
2644
2644
|
</p>
|
2645
2645
|
<div class="variablelist"><table border="0">
|
@@ -2683,7 +2683,7 @@ slot could not be allocated for the user data.</td>
|
|
2683
2683
|
<p>
|
2684
2684
|
Return user data previously attached to <em class="parameter"><code>cr</code></em> using the specified
|
2685
2685
|
key. If no user data has been attached with the given key this
|
2686
|
-
function returns <
|
2686
|
+
function returns <code class="literal">NULL</code>.
|
2687
2687
|
</p>
|
2688
2688
|
<div class="variablelist"><table border="0">
|
2689
2689
|
<col align="left" valign="top">
|
@@ -2700,7 +2700,7 @@ attached to</td>
|
|
2700
2700
|
</tr>
|
2701
2701
|
<tr>
|
2702
2702
|
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
|
2703
|
-
<td>the user data previously attached or <
|
2703
|
+
<td>the user data previously attached or <code class="literal">NULL</code>.</td>
|
2704
2704
|
</tr>
|
2705
2705
|
</tbody>
|
2706
2706
|
</table></div>
|
@@ -537,7 +537,7 @@ destroyed if there are no other references to it.
|
|
537
537
|
</tr>
|
538
538
|
<tr>
|
539
539
|
<td><p><span class="term"><em class="parameter"><code>font_face</code></em> :</span></p></td>
|
540
|
-
<td>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 <
|
540
|
+
<td>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</td>
|
541
541
|
</tr>
|
542
542
|
</tbody>
|
543
543
|
</table></div>
|
@@ -563,7 +563,7 @@ Gets the current font face for a <a class="link" href="cairo-cairo-t.html#cairo-
|
|
563
563
|
<td>the current font face. This object is owned by
|
564
564
|
cairo. To keep a reference to it, you must call
|
565
565
|
<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>.
|
566
|
-
This function never returns <
|
566
|
+
This function never returns <code class="literal">NULL</code>. If memory cannot be allocated, a
|
567
567
|
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
|
568
568
|
<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
|
569
569
|
this nil object will cause its error state to propagate to other
|
@@ -624,7 +624,7 @@ Gets the current scaled font for a <a class="link" href="cairo-cairo-t.html#cair
|
|
624
624
|
<td>the current scaled font. This object is owned by
|
625
625
|
cairo. To keep a reference to it, you must call
|
626
626
|
<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>.
|
627
|
-
This function never returns <
|
627
|
+
This function never returns <code class="literal">NULL</code>. If memory cannot be allocated, a
|
628
628
|
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
|
629
629
|
<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
|
630
630
|
this nil object will cause its error state to propagate to other
|
@@ -676,7 +676,7 @@ serious text-using applications. See <a class="link" href="cairo-text.html#cairo
|
|
676
676
|
</tr>
|
677
677
|
<tr>
|
678
678
|
<td><p><span class="term"><em class="parameter"><code>utf8</code></em> :</span></p></td>
|
679
|
-
<td>a NUL-terminated string of text encoded in UTF-8, or <
|
679
|
+
<td>a NUL-terminated string of text encoded in UTF-8, or <code class="literal">NULL</code>
|
680
680
|
</td>
|
681
681
|
</tr>
|
682
682
|
</tbody>
|
@@ -844,7 +844,7 @@ affect the x_advance and y_advance values.
|
|
844
844
|
</tr>
|
845
845
|
<tr>
|
846
846
|
<td><p><span class="term"><em class="parameter"><code>utf8</code></em> :</span></p></td>
|
847
|
-
<td>a NUL-terminated string of text encoded in UTF-8, or <
|
847
|
+
<td>a NUL-terminated string of text encoded in UTF-8, or <code class="literal">NULL</code>
|
848
848
|
</td>
|
849
849
|
</tr>
|
850
850
|
<tr>
|
@@ -1025,8 +1025,8 @@ For all other uses, user can use their own allocation method
|
|
1025
1025
|
for glyphs.
|
1026
1026
|
</p>
|
1027
1027
|
<p>
|
1028
|
-
This function returns <
|
1029
|
-
or if out of memory. That means, the <
|
1028
|
+
This function returns <code class="literal">NULL</code> if <em class="parameter"><code>num_glyphs</code></em> is not positive,
|
1029
|
+
or if out of memory. That means, the <code class="literal">NULL</code> return value
|
1030
1030
|
signals out-of-memory only if <em class="parameter"><code>num_glyphs</code></em> was positive.
|
1031
1031
|
</p>
|
1032
1032
|
<div class="variablelist"><table border="0">
|
@@ -1062,7 +1062,7 @@ for glyphs.
|
|
1062
1062
|
<col align="left" valign="top">
|
1063
1063
|
<tbody><tr>
|
1064
1064
|
<td><p><span class="term"><em class="parameter"><code>glyphs</code></em> :</span></p></td>
|
1065
|
-
<td>array of glyphs to free, or <
|
1065
|
+
<td>array of glyphs to free, or <code class="literal">NULL</code>
|
1066
1066
|
</td>
|
1067
1067
|
</tr></tbody>
|
1068
1068
|
</table></div>
|
@@ -1081,8 +1081,8 @@ For all other uses, user can use their own allocation method
|
|
1081
1081
|
for text clusters.
|
1082
1082
|
</p>
|
1083
1083
|
<p>
|
1084
|
-
This function returns <
|
1085
|
-
or if out of memory. That means, the <
|
1084
|
+
This function returns <code class="literal">NULL</code> if <em class="parameter"><code>num_clusters</code></em> is not positive,
|
1085
|
+
or if out of memory. That means, the <code class="literal">NULL</code> return value
|
1086
1086
|
signals out-of-memory only if <em class="parameter"><code>num_clusters</code></em> was positive.
|
1087
1087
|
</p>
|
1088
1088
|
<div class="variablelist"><table border="0">
|
@@ -1118,7 +1118,7 @@ for text clusters.
|
|
1118
1118
|
<col align="left" valign="top">
|
1119
1119
|
<tbody><tr>
|
1120
1120
|
<td><p><span class="term"><em class="parameter"><code>clusters</code></em> :</span></p></td>
|
1121
|
-
<td>array of text clusters to free, or <
|
1121
|
+
<td>array of text clusters to free, or <code class="literal">NULL</code>
|
1122
1122
|
</td>
|
1123
1123
|
</tr></tbody>
|
1124
1124
|
</table></div>
|
@@ -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.12.
|
17
|
+
<div><p class="releaseinfo">for Cairo 1.12.16
|
18
18
|
</p></div>
|
19
19
|
</div>
|
20
20
|
<hr>
|
@@ -1,12 +1,93 @@
|
|
1
1
|
Fontconfig
|
2
2
|
Font configuration and customization library
|
3
|
-
|
4
|
-
2013-
|
3
|
+
Version 2.11
|
4
|
+
2013-10-11
|
5
5
|
|
6
6
|
|
7
7
|
Check INSTALL for compilation and installation instructions.
|
8
8
|
Report bugs to https://bugs.freedesktop.org in the fontconfig module.
|
9
9
|
|
10
|
+
2.11
|
11
|
+
|
12
|
+
Akira TAGOH (15):
|
13
|
+
Do not create a config dir for migration when no config files nor dirs
|
14
|
+
Add a test case of the migration for config place
|
15
|
+
Fix memory leaks in FcFreeTypeQueryFace
|
16
|
+
Bug 68955 - Deprecate / remove FC_RASTERIZER
|
17
|
+
Copy all values from the font to the pattern if the pattern doesn't have the element
|
18
|
+
Fix a crash when FcPattern is set to null on FcFontSetList() and FcFontList()
|
19
|
+
Add the description of -q option to the man page
|
20
|
+
avoid reading config.h twice
|
21
|
+
clean up
|
22
|
+
Add the relative path for <include> to fonts.conf if the parent path is same to fonts.conf
|
23
|
+
Workaround the race condition issue on updating cache
|
24
|
+
exit with the error code when FcNameParse() failed
|
25
|
+
Add missing doc for FcStrListFirst and fix a typo
|
26
|
+
Bump libtool revision
|
27
|
+
Update CaseFolding.txt to Unicode 6.3
|
28
|
+
|
29
|
+
Jan Alexander Steffens (heftig) (1):
|
30
|
+
Further changes to 30-metric-aliases.conf
|
31
|
+
|
32
|
+
W. Trevor King (1):
|
33
|
+
doc/fccharset.fncs: Describe the map format in more detail
|
34
|
+
|
35
|
+
2.10.95 (2.11 RC5)
|
36
|
+
|
37
|
+
Akira TAGOH (2):
|
38
|
+
Fix a typo
|
39
|
+
Fix a crash
|
40
|
+
|
41
|
+
2.10.94 (2.11 RC4)
|
42
|
+
|
43
|
+
Akira TAGOH (25):
|
44
|
+
Bug 64906 - FcNameParse() should ignore leading whitespace in parameters
|
45
|
+
Fix a comparison of constant warning with clang
|
46
|
+
Fix a shift count overflow on 32bit box
|
47
|
+
Fix a incompatible pointer warning on NetBSD
|
48
|
+
Add FcTypeUnknown to FcType to avoid comparison of constant -1
|
49
|
+
Fix the behavior of intermixed tests end edits in match
|
50
|
+
Ignore scandir() check on mingw
|
51
|
+
Use INT_MAX instead of unreliable hardcoding value
|
52
|
+
Add FC_UNUSED to FC_ASSERT_STATIC macro to avoid compiler warning
|
53
|
+
Rework to apply the intermixed test and edit elements in one-pass
|
54
|
+
trivial code optimization
|
55
|
+
Correct fontconfig.pc to add certain dependencies for build
|
56
|
+
Correct fontconfig.pc to add certain dependencies for static build
|
57
|
+
Fix wrong edit position
|
58
|
+
Bug 67809 - Invalid read/write with valgrind when assigning something twice
|
59
|
+
warn deprecated only when migration failed
|
60
|
+
Bug 67845 - Match on FC_SCALABLE
|
61
|
+
Bug 16818 - fontformat in match pattern is not respected?
|
62
|
+
Bug 68340 - More metric compat fonts
|
63
|
+
Bug 63399 - Add default aliases for Georgia, Garamond, Palatino Linotype, Trebuchet MS
|
64
|
+
Fix a typo
|
65
|
+
Fix a crash when non-builtin objects are edited
|
66
|
+
Fix a wrong edit position when 'kind' is different
|
67
|
+
Bug 68587 - copy qu.orth to quz.orth
|
68
|
+
Add quz.orth to Makefile.am
|
69
|
+
|
70
|
+
Behdad Esfahbod (2):
|
71
|
+
Minor
|
72
|
+
Fix assertion
|
73
|
+
|
74
|
+
2.10.93 (2.11 RC3)
|
75
|
+
|
76
|
+
Akira TAGOH (10):
|
77
|
+
Bug 62980 - matching native fonts with even :lang=en
|
78
|
+
Ensure closing fp on error
|
79
|
+
Obtain fonts data via FT_Face instead of opening a file directly
|
80
|
+
Revert the previous change and rework to not export freetype API outside fcfreetype.c
|
81
|
+
documented FC_HASH and FC_POSTSCRIPT_NAME
|
82
|
+
Bug 63329 - make check fails: .. contents:: :depth: 2
|
83
|
+
Use the glob matching for filename
|
84
|
+
Bug 63452 - conf.d/README outdated
|
85
|
+
Fix missing OSAtomicCompareAndSwapPtrBarrier() on Mac OS X 10.4
|
86
|
+
Bug 63922 - FcFreeTypeQueryFace fails on postscripts fonts loaded from memory
|
87
|
+
|
88
|
+
Sebastian Freundt (1):
|
89
|
+
build-chain, replace INCLUDES directive by AM_CPPFLAGS
|
90
|
+
|
10
91
|
2.10.92 (2.11 RC2)
|
11
92
|
|
12
93
|
Akira TAGOH (33):
|
@@ -1,5 +1,5 @@
|
|
1
|
-
FreeType 2.
|
2
|
-
|
1
|
+
FreeType 2.5.2
|
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.
|
28
|
-
freetype-doc-2.
|
29
|
-
|
27
|
+
freetype-doc-2.5.2.tar.bz2
|
28
|
+
freetype-doc-2.5.2.tar.gz
|
29
|
+
ftdoc252.zip
|
30
30
|
|
31
31
|
To view the documentation online, go to
|
32
32
|
|
@@ -31,9 +31,13 @@ configure script is necessary at all; saying
|
|
31
31
|
should work on all platforms which have GNU make (or makepp).
|
32
32
|
|
33
33
|
|
34
|
+
Similarly, a build with `cmake' can be done directly from the git
|
35
|
+
repository.
|
36
|
+
|
37
|
+
|
34
38
|
----------------------------------------------------------------------
|
35
39
|
|
36
|
-
Copyright 2005,
|
40
|
+
Copyright 2005-2010, 2013 by
|
37
41
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
38
42
|
|
39
43
|
This file is part of the FreeType project, and may only be used,
|
@@ -1,11 +1,11 @@
|
|
1
|
-
README for libpng version 1.6.
|
1
|
+
README for libpng version 1.6.8 - December 19, 2013 (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.
|
5
5
|
|
6
|
-
Libpng comes in several distribution formats. Get libpng-*.tar.gz
|
7
|
-
libpng-*.tar.xz or
|
8
|
-
|
6
|
+
Libpng comes in several distribution formats. Get libpng-*.tar.gz or
|
7
|
+
libpng-*.tar.xz or if you want UNIX-style line endings in the text files,
|
8
|
+
or lpng*.7z or lpng*.zip if you want DOS-style line endings.
|
9
9
|
|
10
10
|
Version 0.89 was the first official release of libpng. Don't let the
|
11
11
|
fact that it's the first release fool you. The libpng library has been in
|
@@ -77,17 +77,15 @@ compression library that is useful for more things than just PNG files.
|
|
77
77
|
You can use zlib as a drop-in replacement for fread() and fwrite() if
|
78
78
|
you are so inclined.
|
79
79
|
|
80
|
-
zlib should be available at the same place that libpng is, or at.
|
81
|
-
ftp://ftp.info-zip.org/pub/infozip/zlib
|
80
|
+
zlib should be available at the same place that libpng is, or at zlib.net.
|
82
81
|
|
83
82
|
You may also want a copy of the PNG specification. It is available
|
84
83
|
as an RFC, a W3C Recommendation, and an ISO/IEC Standard. You can find
|
85
84
|
these at http://www.libpng.org/pub/png/documents/
|
86
85
|
|
87
86
|
This code is currently being archived at libpng.sf.net in the
|
88
|
-
[DOWNLOAD] area, and
|
89
|
-
|
90
|
-
e-mail me, and I'll help you find it.
|
87
|
+
[DOWNLOAD] area, and at ftp://ftp.simplesystems.org. If you can't find it
|
88
|
+
in any of those places, e-mail me, and I'll help you find it.
|
91
89
|
|
92
90
|
If you have any code changes, requests, problems, etc., please e-mail
|
93
91
|
them to me. Also, I'd appreciate any make files or project files,
|
@@ -123,7 +121,7 @@ and ...". If in doubt, send questions to me. I'll bounce them
|
|
123
121
|
to others, if necessary.
|
124
122
|
|
125
123
|
Please do not send suggestions on how to change PNG. We have
|
126
|
-
been discussing PNG for
|
124
|
+
been discussing PNG for eighteen years now, and it is official and
|
127
125
|
finished. If you have suggestions for libpng, however, I'll
|
128
126
|
gladly listen. Even if your suggestion is not used immediately,
|
129
127
|
it may be used later.
|
@@ -167,23 +165,25 @@ Files in this distribution:
|
|
167
165
|
pngwrite.c => High-level write functions
|
168
166
|
pngwtran.c => Write data transformations
|
169
167
|
pngwutil.c => Write utility functions
|
168
|
+
arm => Contains optimized code for the ARM platform
|
170
169
|
contrib => Contributions
|
170
|
+
examples => Example programs
|
171
171
|
gregbook => source code for PNG reading and writing, from
|
172
172
|
Greg Roelofs' "PNG: The Definitive Guide",
|
173
173
|
O'Reilly, 1999
|
174
|
-
|
175
|
-
|
176
|
-
|
174
|
+
libtests => Test programs
|
175
|
+
pngminim => Minimal decoder, encoder, and progressive decoder
|
176
|
+
programs demonstrating use of pngusr.dfa
|
177
|
+
pngminus => Simple pnm2png and png2pnm programs
|
178
|
+
pngsuite => Test images
|
179
|
+
tools => Various tools
|
177
180
|
visupng => Contains a MSVC workspace for VisualPng
|
178
181
|
projects => Contains project files and workspaces for
|
179
182
|
building a DLL
|
180
|
-
|
181
|
-
libpng and zlib
|
182
|
-
visualc6 => Contains a Microsoft Visual C++ (MSVC)
|
183
|
-
workspace for building libpng and zlib
|
183
|
+
owatcom => Contains a WATCOM project for building libpng
|
184
184
|
visualc71 => Contains a Microsoft Visual C++ (MSVC)
|
185
185
|
workspace for building libpng and zlib
|
186
|
-
|
186
|
+
vstudio => Contains a Microsoft Visual C++ (MSVC)
|
187
187
|
workspace for building libpng and zlib
|
188
188
|
scripts => Directory containing scripts for building libpng:
|
189
189
|
(see scripts/README.txt for the list of scripts)
|
@@ -1,6 +1,6 @@
|
|
1
|
-
.TH LIBPNG 3 "
|
1
|
+
.TH LIBPNG 3 "December 19, 2013"
|
2
2
|
.SH NAME
|
3
|
-
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.
|
3
|
+
libpng \- Portable Network Graphics (PNG) Reference Library 1.6.8
|
4
4
|
.SH SYNOPSIS
|
5
5
|
\fB
|
6
6
|
#include <png.h>\fP
|
@@ -504,7 +504,7 @@ Following is a copy of the libpng-manual.txt file that accompanies libpng.
|
|
504
504
|
.SH LIBPNG.TXT
|
505
505
|
libpng-manual.txt - A description on how to use and modify libpng
|
506
506
|
|
507
|
-
libpng version 1.6.
|
507
|
+
libpng version 1.6.8 - December 19, 2013
|
508
508
|
Updated and distributed by Glenn Randers-Pehrson
|
509
509
|
<glennrp at users.sourceforge.net>
|
510
510
|
Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
@@ -515,7 +515,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
|
515
515
|
|
516
516
|
Based on:
|
517
517
|
|
518
|
-
libpng versions 0.97, January 1998, through 1.6.
|
518
|
+
libpng versions 0.97, January 1998, through 1.6.8 - December 19, 2013
|
519
519
|
Updated and distributed by Glenn Randers-Pehrson
|
520
520
|
Copyright (c) 1998-2013 Glenn Randers-Pehrson
|
521
521
|
|
@@ -554,9 +554,7 @@ libpng-manual.txt - A description on how to use and modify libpng
|
|
554
554
|
.SH I. Introduction
|
555
555
|
|
556
556
|
This file describes how to use and modify the PNG reference library
|
557
|
-
(known as libpng) for your own use.
|
558
|
-
file: introduction, structures, reading, writing, and modification and
|
559
|
-
configuration notes for various special platforms. In addition to this
|
557
|
+
(known as libpng) for your own use. In addition to this
|
560
558
|
file, example.c is a good starting point for using the library, as
|
561
559
|
it is heavily commented and should include everything most people
|
562
560
|
will need. We assume that libpng is already installed; see the
|
@@ -674,7 +672,7 @@ All APIs that take (double) arguments also have a matching API that
|
|
674
672
|
takes the corresponding fixed point integer arguments. The fixed point
|
675
673
|
API has the same name as the floating point one with "_fixed" appended.
|
676
674
|
The actual range of values permitted in the APIs is frequently less than
|
677
|
-
the full range of (png_fixed_point) (
|
675
|
+
the full range of (png_fixed_point) (\-21474 to +21474). When APIs require
|
678
676
|
a non-negative argument the type is recorded as png_uint_32 above. Consult
|
679
677
|
the header file and the text below for more information.
|
680
678
|
|
@@ -715,7 +713,7 @@ The easiest way to make minor changes to the libpng configuration when
|
|
715
713
|
auto-configuration is supported is to add definitions to the command line
|
716
714
|
using (typically) CPPFLAGS. For example:
|
717
715
|
|
718
|
-
CPPFLAGS
|
716
|
+
CPPFLAGS=\-DPNG_NO_FLOATING_ARITHMETIC
|
719
717
|
|
720
718
|
will change the internal libpng math implementation for gamma correction and
|
721
719
|
other arithmetic calculations to fixed point, avoiding the need for fast
|
@@ -723,7 +721,7 @@ floating point support. The result can be seen in the generated pnglibconf.h -
|
|
723
721
|
make sure it contains the changed feature macro setting.
|
724
722
|
|
725
723
|
If you need to make more extensive configuration changes - more than one or two
|
726
|
-
feature macro settings - you can either add
|
724
|
+
feature macro settings - you can either add \-DPNG_USER_CONFIG to the build
|
727
725
|
command line and put a list of feature macro settings in pngusr.h or you can set
|
728
726
|
DFA_XTRA (a makefile variable) to a file containing the same information in the
|
729
727
|
form of 'option' settings.
|
@@ -782,7 +780,7 @@ pngusr.dfa in these directories.
|
|
782
780
|
|
783
781
|
C. Configuration using PNG_USR_CONFIG
|
784
782
|
|
785
|
-
If
|
783
|
+
If \-DPNG_USR_CONFIG is added to the CFLAGS when pnglibconf.h is built the file
|
786
784
|
pngusr.h will automatically be included before the options in
|
787
785
|
scripts/pnglibconf.dfa are processed. Your pngusr.h file should contain only
|
788
786
|
macro definitions turning features on or off or setting settings.
|
@@ -1012,7 +1010,7 @@ input stream. You must supply the function
|
|
1012
1010
|
unknown chunk structure, process it, and return one
|
1013
1011
|
of the following: */
|
1014
1012
|
|
1015
|
-
return (
|
1013
|
+
return (\-n); /* chunk had an error */
|
1016
1014
|
return (0); /* did not recognize */
|
1017
1015
|
return (n); /* success */
|
1018
1016
|
}
|
@@ -1063,7 +1061,7 @@ non-interlaced case the row that was just handled is simply one less than the
|
|
1063
1061
|
passed in row number, and pass will always be 0. For the interlaced case the
|
1064
1062
|
same applies unless the row value is 0, in which case the row just handled was
|
1065
1063
|
the last one from one of the preceding passes. Because interlacing may skip a
|
1066
|
-
pass you cannot be sure that the preceding pass is just 'pass
|
1064
|
+
pass you cannot be sure that the preceding pass is just 'pass\-1', if you really
|
1067
1065
|
need to know what the last pass is record (row,pass) from the callback and use
|
1068
1066
|
the last recorded value each time.
|
1069
1067
|
|
@@ -1153,7 +1151,7 @@ callback function:
|
|
1153
1151
|
.SS User limits
|
1154
1152
|
|
1155
1153
|
The PNG specification allows the width and height of an image to be as
|
1156
|
-
large as 2^31
|
1154
|
+
large as 2^(31\-1 (0x7fffffff), or about 2.147 billion rows and columns.
|
1157
1155
|
Since very few applications really need to process such large images,
|
1158
1156
|
we have imposed an arbitrary 1-million limit on rows and columns.
|
1159
1157
|
Larger images will be rejected immediately with a png_error() call. If
|
@@ -1246,7 +1244,7 @@ situations:
|
|
1246
1244
|
encoding.
|
1247
1245
|
|
1248
1246
|
You would use the linear (unencoded) value if you need to process the pixel
|
1249
|
-
values further because this avoids the need to decode and
|
1247
|
+
values further because this avoids the need to decode and re-encode each
|
1250
1248
|
component value whenever arithmetic is performed. A lot of graphics software
|
1251
1249
|
uses linear values for this reason, often with higher precision component values
|
1252
1250
|
to preserve overall accuracy.
|
@@ -2725,13 +2723,13 @@ point to libpng-allocated storage with the following function:
|
|
2725
2723
|
or simply PNG_FREE_ALL
|
2726
2724
|
|
2727
2725
|
seq - sequence number of item to be freed
|
2728
|
-
(
|
2726
|
+
(\-1 for all items)
|
2729
2727
|
|
2730
2728
|
This function may be safely called when the relevant storage has
|
2731
2729
|
already been freed, or has not yet been allocated, or was allocated
|
2732
2730
|
by the user and not by libpng, and will in those cases do nothing.
|
2733
2731
|
The "seq" parameter is ignored if only one item of the selected data
|
2734
|
-
type, such as PLTE, is allowed. If "seq" is not
|
2732
|
+
type, such as PLTE, is allowed. If "seq" is not \-1, and multiple items
|
2735
2733
|
are allowed for the data type identified in the mask, such as text or
|
2736
2734
|
sPLT, only the n'th item in the structure is freed, where n is "seq".
|
2737
2735
|
|
@@ -2795,7 +2793,7 @@ For a more compact example of reading a PNG image, see the file example.c.
|
|
2795
2793
|
|
2796
2794
|
.SS Reading PNG files progressively
|
2797
2795
|
|
2798
|
-
The progressive reader is slightly different
|
2796
|
+
The progressive reader is slightly different from the non-progressive
|
2799
2797
|
reader. Instead of calling png_read_info(), png_read_rows(), and
|
2800
2798
|
png_read_end(), you make one call to png_process_data(), which calls
|
2801
2799
|
callbacks when it has the info, a row, or the end of the image. You
|
@@ -3132,7 +3130,7 @@ non-interlaced case the row that was just handled is simply one less than the
|
|
3132
3130
|
passed in row number, and pass will always be 0. For the interlaced case the
|
3133
3131
|
same applies unless the row value is 0, in which case the row just handled was
|
3134
3132
|
the last one from one of the preceding passes. Because interlacing may skip a
|
3135
|
-
pass you cannot be sure that the preceding pass is just 'pass
|
3133
|
+
pass you cannot be sure that the preceding pass is just 'pass\-1', if you really
|
3136
3134
|
need to know what the last pass is record (row,pass) from the callback and use
|
3137
3135
|
the last recorded value each time.
|
3138
3136
|
|
@@ -3597,13 +3595,47 @@ a writeable buffer of at least 29 bytes.
|
|
3597
3595
|
|
3598
3596
|
.SS Writing unknown chunks
|
3599
3597
|
|
3600
|
-
You can use the png_set_unknown_chunks function to queue up chunks
|
3601
|
-
for writing. You give it a chunk name, raw data, and a size
|
3602
|
-
|
3603
|
-
|
3604
|
-
|
3605
|
-
|
3606
|
-
|
3598
|
+
You can use the png_set_unknown_chunks function to queue up private chunks
|
3599
|
+
for writing. You give it a chunk name, location, raw data, and a size. You
|
3600
|
+
also must use png_set_keep_unknown_chunks() to ensure that libpng will
|
3601
|
+
handle them. That's all there is to it. The chunks will be written by the
|
3602
|
+
next following png_write_info_before_PLTE, png_write_info, or png_write_end
|
3603
|
+
function, depending upon the specified location. Any chunks previously
|
3604
|
+
read into the info structure's unknown-chunk list will also be written out
|
3605
|
+
in a sequence that satisfies the PNG specification's ordering rules.
|
3606
|
+
|
3607
|
+
Here is an example of writing two private chunks, prVt and miNE:
|
3608
|
+
|
3609
|
+
#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
|
3610
|
+
/* Set unknown chunk data */
|
3611
|
+
png_unknown_chunk unk_chunk[2];
|
3612
|
+
strcpy((char *) unk_chunk[0].name, "prVt";
|
3613
|
+
unk_chunk[0].data = (unsigned char *) "PRIVATE DATA";
|
3614
|
+
unk_chunk[0].size = strlen(unk_chunk[0].data)+1;
|
3615
|
+
unk_chunk[0].location = PNG_HAVE_IHDR;
|
3616
|
+
strcpy((char *) unk_chunk[1].name, "miNE";
|
3617
|
+
unk_chunk[1].data = (unsigned char *) "MY CHUNK DATA";
|
3618
|
+
unk_chunk[1].size = strlen(unk_chunk[0].data)+1;
|
3619
|
+
unk_chunk[1].location = PNG_AFTER_IDAT;
|
3620
|
+
png_set_unknown_chunks(write_ptr, write_info_ptr,
|
3621
|
+
unk_chunk, 2);
|
3622
|
+
/* Needed because miNE is not safe-to-copy */
|
3623
|
+
png_set_keep_unknown_chunks(png, PNG_HANDLE_CHUNK_ALWAYS,
|
3624
|
+
(png_bytep) "miNE", 1);
|
3625
|
+
# if PNG_LIBPNG_VER < 10600
|
3626
|
+
/* Deal with unknown chunk location bug in 1.5.x and earlier */
|
3627
|
+
png_set_unknown_chunk_location(png, info, 0, PNG_HAVE_IHDR);
|
3628
|
+
png_set_unknown_chunk_location(png, info, 1, PNG_AFTER_IDAT);
|
3629
|
+
# endif
|
3630
|
+
# if PNG_LIBPNG_VER < 10500
|
3631
|
+
/* PNG_AFTER_IDAT writes two copies of the chunk prior to libpng-1.5.0,
|
3632
|
+
* one before IDAT and another after IDAT, so don't use it; only use
|
3633
|
+
* PNG_HAVE_IHDR location. This call resets the location previously
|
3634
|
+
* set by assignment and png_set_unknown_chunk_location() for chunk 1.
|
3635
|
+
*/
|
3636
|
+
png_set_unknown_chunk_location(png, info, 1, PNG_HAVE_IHDR);
|
3637
|
+
# endif
|
3638
|
+
#endif
|
3607
3639
|
|
3608
3640
|
.SS The high-level write interface
|
3609
3641
|
|
@@ -3938,13 +3970,13 @@ point to libpng-allocated storage with the following function:
|
|
3938
3970
|
or simply PNG_FREE_ALL
|
3939
3971
|
|
3940
3972
|
seq - sequence number of item to be freed
|
3941
|
-
(
|
3973
|
+
(\-1 for all items)
|
3942
3974
|
|
3943
3975
|
This function may be safely called when the relevant storage has
|
3944
3976
|
already been freed, or has not yet been allocated, or was allocated
|
3945
3977
|
by the user and not by libpng, and will in those cases do nothing.
|
3946
3978
|
The "seq" parameter is ignored if only one item of the selected data
|
3947
|
-
type, such as PLTE, is allowed. If "seq" is not
|
3979
|
+
type, such as PLTE, is allowed. If "seq" is not \-1, and multiple items
|
3948
3980
|
are allowed for the data type identified in the mask, such as text or
|
3949
3981
|
sPLT, only the n'th item in the structure is freed, where n is "seq".
|
3950
3982
|
|
@@ -4007,7 +4039,7 @@ The simplified API, which became available in libpng-1.6.0, hides the details
|
|
4007
4039
|
of both libpng and the PNG file format itself.
|
4008
4040
|
It allows PNG files to be read into a very limited number of
|
4009
4041
|
in-memory bitmap formats or to be written from the same formats. If these
|
4010
|
-
formats do not
|
4042
|
+
formats do not accommodate your needs then you can, and should, use the more
|
4011
4043
|
sophisticated APIs above - these support a wide variety of in-memory formats
|
4012
4044
|
and a wide variety of sophisticated transformations to those formats as well
|
4013
4045
|
as a wide variety of APIs to manipulate ancilliary information.
|
@@ -4498,9 +4530,12 @@ as warnings.
|
|
4498
4530
|
|
4499
4531
|
png_set_benign_errors (png_ptr, int allowed);
|
4500
4532
|
|
4501
|
-
allowed: 0:
|
4533
|
+
allowed: 0: treat png_benign_error() as an error.
|
4502
4534
|
1: treat png_benign_error() as a warning.
|
4503
4535
|
|
4536
|
+
As of libpng-1.6.0, the default condition is to treat benign errors as
|
4537
|
+
warnings while reading and as errors while writing.
|
4538
|
+
|
4504
4539
|
.SS Custom chunks
|
4505
4540
|
|
4506
4541
|
If you need to read or write custom chunks, you may need to get deeper
|
@@ -4772,12 +4807,12 @@ the message, "message" is the formatted string to be printed,
|
|
4772
4807
|
and p1 and p2 are parameters that are to be embedded in the string
|
4773
4808
|
according to printf-style formatting directives. For example,
|
4774
4809
|
|
4775
|
-
png_debug1(2, "foo=%d
|
4810
|
+
png_debug1(2, "foo=%d", foo);
|
4776
4811
|
|
4777
4812
|
is expanded to
|
4778
4813
|
|
4779
4814
|
if (PNG_DEBUG > 2)
|
4780
|
-
fprintf(PNG_DEBUG_FILE, "foo=%d\
|
4815
|
+
fprintf(PNG_DEBUG_FILE, "foo=%d\en", foo);
|
4781
4816
|
|
4782
4817
|
When PNG_DEBUG is defined but is zero, the macros aren't defined, but you
|
4783
4818
|
can still use PNG_DEBUG to control your own debugging:
|
@@ -4794,7 +4829,7 @@ this version of libpng, but if you insert some they will be printed.
|
|
4794
4829
|
|
4795
4830
|
Starting with libpng-1.6.0, you can configure libpng (when using the
|
4796
4831
|
"configure" script) to prefix all exported symbols by means of the
|
4797
|
-
configuration option "
|
4832
|
+
configuration option "\-\-with\-libpng\-prefix=FOO_", where FOO_ can be any
|
4798
4833
|
string beginning with a letter and containing only uppercase
|
4799
4834
|
and lowercase letters, digits, and the underscore (i.e., a C language
|
4800
4835
|
identifier). This creates a set of macros in pnglibconf.h, so this is
|
@@ -5079,7 +5114,7 @@ it has not been well tested and doesn't actually "dither".
|
|
5079
5114
|
The code was not
|
5080
5115
|
removed, however, and could be enabled by building libpng with
|
5081
5116
|
PNG_READ_DITHER_SUPPORTED defined. In libpng-1.4.2, this support
|
5082
|
-
was
|
5117
|
+
was re-enabled, but the function was renamed png_set_quantize() to
|
5083
5118
|
reflect more accurately what it actually does. At the same time,
|
5084
5119
|
the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros were also renamed to
|
5085
5120
|
PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS, and PNG_READ_DITHER_SUPPORTED
|
@@ -5092,11 +5127,11 @@ We removed the trailing '.' from the warning and error messages.
|
|
5092
5127
|
From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the
|
5093
5128
|
function) incorrectly returned a value of type png_uint_32.
|
5094
5129
|
|
5095
|
-
Checking for invalid palette index on
|
5096
|
-
1.5.10.
|
5097
|
-
This is enabled by default because this condition is an
|
5098
|
-
to the PNG specification, Clause 11.3.2, but the error can
|
5099
|
-
each png_ptr with
|
5130
|
+
Checking for invalid palette index on write was added at libpng
|
5131
|
+
1.5.10. If a pixel contains an invalid (out-of-range) index libpng issues
|
5132
|
+
a benign error. This is enabled by default because this condition is an
|
5133
|
+
error according to the PNG specification, Clause 11.3.2, but the error can
|
5134
|
+
be ignored in each png_ptr with
|
5100
5135
|
|
5101
5136
|
png_set_check_for_invalid_index(png_ptr, allowed);
|
5102
5137
|
|
@@ -5117,7 +5152,7 @@ reading, and after png_write_png() or png_write_image() while writing.
|
|
5117
5152
|
|
5118
5153
|
int max_palette = png_get_palette_max(png_ptr, info_ptr);
|
5119
5154
|
|
5120
|
-
This will return the maximum palette index found in the image, or "
|
5155
|
+
This will return the maximum palette index found in the image, or "\-1" if
|
5121
5156
|
the palette was not checked, or "0" if no palette was found. Note that this
|
5122
5157
|
does not account for any palette index used by ancillary chunks such as the
|
5123
5158
|
bKGD chunk; you must check those separately to determine the maximum
|
@@ -5223,7 +5258,7 @@ did not exist.)
|
|
5223
5258
|
Applications can now choose whether to use these macros or to call the
|
5224
5259
|
corresponding function by defining PNG_USE_READ_MACROS or
|
5225
5260
|
PNG_NO_USE_READ_MACROS before including png.h. Notice that this is
|
5226
|
-
only supported from 1.5.0
|
5261
|
+
only supported from 1.5.0; defining PNG_NO_USE_READ_MACROS prior to 1.5.0
|
5227
5262
|
will lead to a link failure.
|
5228
5263
|
|
5229
5264
|
Prior to libpng-1.5.4, the zlib compressor used the same set of parameters
|
@@ -5259,6 +5294,9 @@ limits are now
|
|
5259
5294
|
png_user_chunk_cache_max 0 (unlimited) 128
|
5260
5295
|
png_user_chunk_malloc_max 0 (unlimited) 8,000,000
|
5261
5296
|
|
5297
|
+
The png_set_option() function (and the "options" member of the png struct) was
|
5298
|
+
added to libpng-1.5.15.
|
5299
|
+
|
5262
5300
|
B. Changes to the build and configuration of libpng
|
5263
5301
|
|
5264
5302
|
Details of internal changes to the library code can be found in the CHANGES
|
@@ -5452,9 +5490,9 @@ symbols, using the PNG_PREFIX macro.
|
|
5452
5490
|
|
5453
5491
|
We no longer include string.h in png.h. The include statement has been moved
|
5454
5492
|
to pngpriv.h, where it is not accessible by applications. Applications that
|
5455
|
-
need access to information in string.h must add an '#include
|
5493
|
+
need access to information in string.h must add an '#include <string.h>'
|
5456
5494
|
directive. It does not matter whether this is placed prior to or after
|
5457
|
-
the '
|
5495
|
+
the '#include "png.h"' directive.
|
5458
5496
|
|
5459
5497
|
The following API are now DEPRECATED:
|
5460
5498
|
png_info_init_3()
|
@@ -5482,15 +5520,25 @@ where "rp" indicates a "restricted pointer".
|
|
5482
5520
|
|
5483
5521
|
Error detection in some chunks has improved; in particular the iCCP chunk
|
5484
5522
|
reader now does pretty complete validation of the basic format. Some bad
|
5485
|
-
profiles that were previously accepted are now
|
5486
|
-
|
5487
|
-
|
5488
|
-
|
5523
|
+
profiles that were previously accepted are now accepted with a warning or
|
5524
|
+
rejected, depending upon the png_set_benign_errors() setting, in particular the
|
5525
|
+
very old broken Microsoft/HP 3144-byte sRGB profile. The PNG spec requirement
|
5526
|
+
that only grayscale profiles may appear in images with color type 0 or 4 and
|
5527
|
+
that even if the image only contains gray pixels, only RGB profiles may appear
|
5489
5528
|
in images with color type 2, 3, or 6, is now enforced. The sRGB chunk
|
5490
5529
|
is allowed to appear in images with any color type.
|
5491
5530
|
|
5531
|
+
Prior to libpng-1.6.0 a warning would be issued if the iTXt chunk contained
|
5532
|
+
an empty language field or an empty translated keyword. Both of these
|
5533
|
+
are allowed by the PNG specification, so these warnings are no longer issued.
|
5534
|
+
|
5492
5535
|
The library now issues an error if the application attempts to set a
|
5493
|
-
transform after it calls png_read_update_info()
|
5536
|
+
transform after it calls png_read_update_info() or if it attempts to call
|
5537
|
+
both png_read_update_info() and png_start_read_image() or to call either
|
5538
|
+
of them more than once.
|
5539
|
+
|
5540
|
+
The default condition for benign_errors is now to treat benign errors as
|
5541
|
+
warnings while reading and as errors while writing.
|
5494
5542
|
|
5495
5543
|
The library now issues a warning if both background processing and RGB to
|
5496
5544
|
gray are used when gamma correction happens. As with previous versions of
|
@@ -5508,6 +5556,26 @@ The machine-generated configure files are no longer included in branches
|
|
5508
5556
|
libpng16 and later of the GIT repository. They continue to be included
|
5509
5557
|
in the tarball releases, however.
|
5510
5558
|
|
5559
|
+
Libpng-1.6.0 through 1.6.2 used the CMF bytes at the beginning of the IDAT
|
5560
|
+
stream to set the size of the sliding window for reading instead of using the
|
5561
|
+
default 32-kbyte sliding window size. It was discovered that there are
|
5562
|
+
hundreds of PNG files in the wild that have incorrect CMF bytes that caused
|
5563
|
+
libpng to issue a "too far back" error and reject the file. Libpng-1.6.3 and
|
5564
|
+
later calculate their own safe CMF from the image dimensions, provide a way
|
5565
|
+
to revert to the libpng-1.5.x behavior (ignoring the CMF bytes and using a
|
5566
|
+
32-kbyte sliding window), by using
|
5567
|
+
|
5568
|
+
png_set_option(png_ptr, PNG_MAXIMUM_INFLATE_WINDOW,
|
5569
|
+
PNG_OPTION_ON);
|
5570
|
+
|
5571
|
+
and provide a tool (contrib/tools/pngfix) for optimizing the CMF bytes
|
5572
|
+
correctly.
|
5573
|
+
|
5574
|
+
Libpng-1.6.0 and libpng-1.6.1 wrote uncompressed iTXt chunks with the wrong
|
5575
|
+
length, which resulted in PNG files that cannot be read beyond the bad iTXt
|
5576
|
+
chunk. This error was fixed in libpng-1.6.3, and a tool (called
|
5577
|
+
contrib/tools/png-fix-itxt) has been added to the libpng distribution.
|
5578
|
+
|
5511
5579
|
.SH XIII. Detecting libpng
|
5512
5580
|
|
5513
5581
|
The png_get_io_ptr() function has been present since libpng-0.88, has never
|
@@ -5649,7 +5717,7 @@ C binary operator and after "for" or "while", and before
|
|
5649
5717
|
being cast, nor do we put one between a function name and the
|
5650
5718
|
left parenthesis that follows it:
|
5651
5719
|
|
5652
|
-
for (i = 2; i > 0;
|
5720
|
+
for (i = 2; i > 0; \-\-i)
|
5653
5721
|
y[i] = a(x) + (int)b;
|
5654
5722
|
|
5655
5723
|
We prefer #ifdef and #ifndef to #if defined() and #if !defined()
|
@@ -5670,13 +5738,13 @@ Other rules can be inferred by inspecting the libpng source.
|
|
5670
5738
|
|
5671
5739
|
.SH XVI. Y2K Compliance in libpng
|
5672
5740
|
|
5673
|
-
|
5741
|
+
December 19, 2013
|
5674
5742
|
|
5675
5743
|
Since the PNG Development group is an ad-hoc body, we can't make
|
5676
5744
|
an official declaration.
|
5677
5745
|
|
5678
5746
|
This is your unofficial assurance that libpng from version 0.71 and
|
5679
|
-
upward through 1.6.
|
5747
|
+
upward through 1.6.8 are Y2K compliant. It is my belief that earlier
|
5680
5748
|
versions were also Y2K compliant.
|
5681
5749
|
|
5682
5750
|
Libpng only has two year fields. One is a 2-byte unsigned integer
|
@@ -5890,6 +5958,20 @@ the first widely used release:
|
|
5890
5958
|
1.6.2beta01 16 10602 16.so.16.2[.0]
|
5891
5959
|
1.6.2rc01-06 16 10602 16.so.16.2[.0]
|
5892
5960
|
1.6.2 16 10602 16.so.16.2[.0]
|
5961
|
+
1.6.3beta01-11 16 10603 16.so.16.3[.0]
|
5962
|
+
1.6.3rc01 16 10603 16.so.16.3[.0]
|
5963
|
+
1.6.3 16 10603 16.so.16.3[.0]
|
5964
|
+
1.6.4beta01-02 16 10604 16.so.16.4[.0]
|
5965
|
+
1.6.4rc01 16 10604 16.so.16.4[.0]
|
5966
|
+
1.6.4 16 10604 16.so.16.4[.0]
|
5967
|
+
1.6.5 16 10605 16.so.16.5[.0]
|
5968
|
+
1.6.6 16 10606 16.so.16.6[.0]
|
5969
|
+
1.6.7beta01-04 16 10607 16.so.16.7[.0]
|
5970
|
+
1.6.7rc01-02 16 10607 16.so.16.7[.0]
|
5971
|
+
1.6.7 16 10607 16.so.16.7[.0]
|
5972
|
+
1.6.8beta01-02 16 10608 16.so.16.8[.0]
|
5973
|
+
1.6.8rc01-02 16 10608 16.so.16.8[.0]
|
5974
|
+
1.6.8 16 10608 16.so.16.8[.0]
|
5893
5975
|
|
5894
5976
|
Henceforth the source version will match the shared-library minor
|
5895
5977
|
and patch numbers; the shared-library major version number will be
|
@@ -5946,7 +6028,7 @@ possible without all of you.
|
|
5946
6028
|
|
5947
6029
|
Thanks to Frank J. T. Wojcik for helping with the documentation.
|
5948
6030
|
|
5949
|
-
Libpng version 1.6.
|
6031
|
+
Libpng version 1.6.8 - December 19, 2013:
|
5950
6032
|
Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
|
5951
6033
|
Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
|
5952
6034
|
|
@@ -5969,7 +6051,7 @@ this sentence.
|
|
5969
6051
|
|
5970
6052
|
This code is released under the libpng license.
|
5971
6053
|
|
5972
|
-
libpng versions 1.2.6, August 15, 2004, through 1.6.
|
6054
|
+
libpng versions 1.2.6, August 15, 2004, through 1.6.8, December 19, 2013, are
|
5973
6055
|
Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
|
5974
6056
|
distributed according to the same disclaimer and license as libpng-1.2.5
|
5975
6057
|
with the following individual added to the list of Contributing Authors
|
@@ -6068,7 +6150,7 @@ certification mark of the Open Source Initiative.
|
|
6068
6150
|
|
6069
6151
|
Glenn Randers-Pehrson
|
6070
6152
|
glennrp at users.sourceforge.net
|
6071
|
-
|
6153
|
+
December 19, 2013
|
6072
6154
|
|
6073
6155
|
.\" end of man page
|
6074
6156
|
|