cairo 1.15.2-x86-mingw32 → 1.15.3-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of cairo might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/NEWS +20 -0
- data/Rakefile +10 -18
- data/ext/cairo/extconf.rb +1 -0
- data/ext/cairo/rb_cairo.h +1 -1
- data/ext/cairo/rb_cairo_font_options.c +5 -1
- data/ext/cairo/rb_cairo_surface.c +32 -6
- data/lib/2.2/cairo.so +0 -0
- data/lib/2.3/cairo.so +0 -0
- data/test/test_font_options.rb +47 -2
- data/test/test_pdf_surface.rb +8 -0
- data/test/test_svg_surface.rb +8 -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 +1 -1
- data/vendor/local/bin/libcairo-2.dll +0 -0
- data/vendor/local/bin/libcairo-gobject-2.dll +0 -0
- data/vendor/local/bin/libcairo-script-interpreter-2.dll +0 -0
- data/vendor/local/bin/libfontconfig-1.dll +0 -0
- data/vendor/local/bin/libfreetype-6.dll +0 -0
- data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
- data/vendor/local/bin/libpixman-1-0.dll +0 -0
- data/vendor/local/bin/libpng-config +1 -1
- data/vendor/local/bin/libpng16-16.dll +0 -0
- data/vendor/local/bin/libpng16-config +1 -1
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/libwinpthread-1.dll +0 -0
- data/vendor/local/bin/libxml2-2.dll +0 -0
- data/vendor/local/bin/png-fix-itxt.exe +0 -0
- data/vendor/local/bin/pngfix.exe +0 -0
- data/vendor/local/bin/xml2-config +4 -4
- 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/10-hinting-slight.conf +13 -0
- data/vendor/local/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +17 -15
- data/vendor/local/etc/fonts/conf.d/30-metric-aliases.conf +83 -17
- data/vendor/local/etc/fonts/conf.d/45-latin.conf +113 -33
- data/vendor/local/etc/fonts/conf.d/60-latin.conf +3 -0
- data/vendor/local/etc/fonts/fonts.conf +0 -66
- data/vendor/local/include/fontconfig/fcprivate.h +3 -0
- data/vendor/local/include/fontconfig/fontconfig.h +48 -7
- data/vendor/local/include/freetype2/freetype/config/ftoption.h +95 -13
- data/vendor/local/include/freetype2/freetype/config/ftstdlib.h +3 -1
- data/vendor/local/include/freetype2/freetype/freetype.h +66 -32
- data/vendor/local/include/freetype2/freetype/ftautoh.h +9 -1
- data/vendor/local/include/freetype2/freetype/ftcache.h +4 -4
- data/vendor/local/include/freetype2/freetype/ftcffdrv.h +18 -5
- data/vendor/local/include/freetype2/freetype/ftcid.h +2 -2
- data/vendor/local/include/freetype2/freetype/ftgzip.h +5 -5
- data/vendor/local/include/freetype2/freetype/ftimage.h +1 -11
- data/vendor/local/include/freetype2/freetype/ftmm.h +9 -5
- data/vendor/local/include/freetype2/freetype/ftotval.h +6 -6
- data/vendor/local/include/freetype2/freetype/ftoutln.h +8 -0
- data/vendor/local/include/freetype2/freetype/ftsystem.h +1 -1
- data/vendor/local/include/freetype2/freetype/ftttdrv.h +41 -22
- data/vendor/local/include/freetype2/freetype/tttables.h +1 -1
- data/vendor/local/include/libpng16/png.h +259 -123
- data/vendor/local/include/libpng16/pngconf.h +25 -25
- data/vendor/local/include/libpng16/pnglibconf.h +2 -1
- data/vendor/local/include/libxml2/libxml/dict.h +14 -8
- data/vendor/local/include/libxml2/libxml/parser.h +2 -2
- data/vendor/local/include/libxml2/libxml/parserInternals.h +1 -1
- data/vendor/local/include/libxml2/libxml/schemasInternals.h +46 -46
- data/vendor/local/include/libxml2/libxml/tree.h +2 -1
- data/vendor/local/include/libxml2/libxml/xmlerror.h +1 -1
- data/vendor/local/include/libxml2/libxml/xmlstring.h +4 -4
- data/vendor/local/include/libxml2/libxml/xmlversion.h +5 -5
- data/vendor/local/include/libxml2/libxml/xpathInternals.h +1 -1
- data/vendor/local/include/pixman-1/pixman-version.h +3 -3
- data/vendor/local/include/png.h +259 -123
- data/vendor/local/include/pngconf.h +25 -25
- data/vendor/local/include/pnglibconf.h +2 -1
- data/vendor/local/lib/cmake/libxml2/libxml2-config.cmake +3 -3
- data/vendor/local/lib/fontconfig.def +10 -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 +2 -2
- data/vendor/local/lib/libcairo-script-interpreter.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.dll.a +0 -0
- data/vendor/local/lib/libcairo-script-interpreter.la +2 -2
- data/vendor/local/lib/libcairo.a +0 -0
- data/vendor/local/lib/libcairo.dll.a +0 -0
- data/vendor/local/lib/libcairo.la +2 -2
- data/vendor/local/lib/libfontconfig.dll.a +0 -0
- data/vendor/local/lib/libfontconfig.la +5 -5
- data/vendor/local/lib/libfreetype.a +0 -0
- data/vendor/local/lib/libfreetype.dll.a +0 -0
- data/vendor/local/lib/libfreetype.la +1 -1
- data/vendor/local/lib/libpixman-1.a +0 -0
- data/vendor/local/lib/libpixman-1.dll.a +0 -0
- data/vendor/local/lib/libpixman-1.la +5 -5
- 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/libxml2.la +3 -3
- data/vendor/local/lib/libz.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/fontconfig.pc +3 -3
- data/vendor/local/lib/pkgconfig/freetype2.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng.pc +1 -1
- data/vendor/local/lib/pkgconfig/libpng16.pc +1 -1
- data/vendor/local/lib/pkgconfig/libxml-2.0.pc +2 -2
- data/vendor/local/lib/pkgconfig/pixman-1.pc +1 -1
- data/vendor/local/lib/xml2Conf.sh +2 -2
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/Copyright +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/testHTML.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/testSAX.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/testXPath.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/examples/xmllint.c +19 -11
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/DOM.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/FAQ.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/Libxml2-Logo-180x168.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/Libxml2-Logo-90x34.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/encoding.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/examples.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/examples.xsl +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/book1.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/home.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/index.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/left.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-DOCBparser.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-HTMLparser.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-HTMLtree.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-SAX.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-SAX2.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-c14n.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-catalog.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-chvalid.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-debugXML.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-dict.html +14 -14
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-encoding.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-entities.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-globals.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-hash.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-lib.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-list.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-nanoftp.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-nanohttp.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-parser.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-parserInternals.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-pattern.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-relaxng.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-schemasInternals.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-schematron.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-threads.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-tree.html +2 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-uri.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-valid.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xinclude.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xlink.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlIO.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlautomata.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlerror.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlexports.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlmemory.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlmodule.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlreader.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlregexp.html +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlsave.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlschemas.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlschemastypes.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlstring.html +4 -4
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlunicode.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlversion.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xmlwriter.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xpath.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xpathInternals.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xpointer.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/libxml-xzlib.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/right.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/html/up.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/index.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io1.res +1 -1
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/io2.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/libxml.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse3.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/parse4.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader3.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader3.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader4.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/reader4.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/redhat.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/smallfootonly.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/structure.gif +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/test1.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/test2.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/test3.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/testWriter.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tree2.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tst.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apa.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apb.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apc.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apd.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ape.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apf.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/apg.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/aph.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/api.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s02.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s03.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s04.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s05.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s06.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s07.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s08.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ar01s09.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/blank.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/1.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/10.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/2.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/3.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/4.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/5.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/6.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/7.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/8.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/callouts/9.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/caution.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/draft.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/home.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/important.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/next.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/note.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/prev.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/tip.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/toc-blank.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/toc-minus.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/toc-plus.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/up.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/images/warning.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includeaddattribute.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includeaddkeyword.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includeconvert.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includegetattribute.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includekeyword.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/includexpath.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/index.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/ix01.html +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/tutorial/xmltutorial.pdf +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/w3c.png +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/writer.xml +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xml.html +165 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath1.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath1.res +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath2.c +0 -0
- data/vendor/local/share/doc/{libxml2-2.9.2 → libxml2-2.9.4}/html/xpath2.res +0 -0
- data/vendor/local/share/fontconfig/conf.avail/10-hinting-full.conf +13 -0
- data/vendor/local/share/fontconfig/conf.avail/10-hinting-medium.conf +13 -0
- data/vendor/local/share/fontconfig/conf.avail/10-hinting-none.conf +13 -0
- data/vendor/local/share/fontconfig/conf.avail/10-hinting-slight.conf +13 -0
- data/vendor/local/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf +17 -15
- data/vendor/local/share/fontconfig/conf.avail/30-metric-aliases.conf +83 -17
- data/vendor/local/share/fontconfig/conf.avail/45-latin.conf +113 -33
- data/vendor/local/share/fontconfig/conf.avail/60-latin.conf +3 -0
- data/vendor/local/share/gtk-doc/html/libxml2/general.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-dict.html +16 -16
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-parser.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-tree.html +3 -2
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlmemory.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlregexp.html +1 -1
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2-xmlstring.html +4 -4
- data/vendor/local/share/gtk-doc/html/libxml2/libxml2.devhelp +1 -0
- data/vendor/local/share/license/fontconfig/README +220 -2
- data/vendor/local/share/license/freetype/README +5 -5
- data/vendor/local/share/license/libpng/README +4 -1
- data/vendor/local/share/man/man1/freetype-config.1 +1 -1
- data/vendor/local/share/man/man3/libpng.3 +82 -27
- data/vendor/local/share/man/man3/libpngpf.3 +2 -2
- data/vendor/local/share/man/man5/png.5 +2 -2
- metadata +185 -176
@@ -219,8 +219,8 @@ FT_BEGIN_HEADER
|
|
219
219
|
* U+0F00 - U+0FFF // Tibetan
|
220
220
|
* U+1900 - U+194F // Limbu
|
221
221
|
* U+1B80 - U+1BBF // Sundanese
|
222
|
-
* U+1C80 - U+1CDF // Meetei Mayak
|
223
222
|
* U+A800 - U+A82F // Syloti Nagri
|
223
|
+
* U+ABC0 - U+ABFF // Meetei Mayek
|
224
224
|
* U+11800 - U+118DF // Sharada
|
225
225
|
* }
|
226
226
|
*
|
@@ -428,6 +428,9 @@ FT_BEGIN_HEADER
|
|
428
428
|
* @note:
|
429
429
|
* This property can be used with @FT_Property_Get also.
|
430
430
|
*
|
431
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
432
|
+
* variable (using values 1 and 0 for `on' and `off', respectively).
|
433
|
+
*
|
431
434
|
* The warping code can also change advance widths. Have a look at the
|
432
435
|
* `lsb_delta' and `rsb_delta' fields in the @FT_GlyphSlotRec structure
|
433
436
|
* for details on improving inter-glyph distances while rendering.
|
@@ -473,6 +476,9 @@ FT_BEGIN_HEADER
|
|
473
476
|
* The smaller the size (especially 9ppem and down), the higher the loss
|
474
477
|
* of emboldening versus the CFF driver.
|
475
478
|
*
|
479
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
480
|
+
* variable similar to the CFF driver.
|
481
|
+
*
|
476
482
|
*/
|
477
483
|
|
478
484
|
|
@@ -489,6 +495,8 @@ FT_BEGIN_HEADER
|
|
489
495
|
* CFF_CONFIG_OPTION_DARKENING_PARAMETER_* #defines for consistency.
|
490
496
|
* Note the differences described in @no-stem-darkening[autofit].
|
491
497
|
*
|
498
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
499
|
+
* variable similar to the CFF driver.
|
492
500
|
*/
|
493
501
|
|
494
502
|
|
@@ -749,7 +749,7 @@ FT_BEGIN_HEADER
|
|
749
749
|
/* aglyph :: The corresponding @FT_Glyph object. 0~in case of */
|
750
750
|
/* failure. */
|
751
751
|
/* */
|
752
|
-
/* anode :: Used to return the address of
|
752
|
+
/* anode :: Used to return the address of the corresponding cache */
|
753
753
|
/* node after incrementing its reference count (see note */
|
754
754
|
/* below). */
|
755
755
|
/* */
|
@@ -802,7 +802,7 @@ FT_BEGIN_HEADER
|
|
802
802
|
/* aglyph :: The corresponding @FT_Glyph object. 0~in case of */
|
803
803
|
/* failure. */
|
804
804
|
/* */
|
805
|
-
/* anode :: Used to return the address of
|
805
|
+
/* anode :: Used to return the address of the corresponding */
|
806
806
|
/* cache node after incrementing its reference count */
|
807
807
|
/* (see note below). */
|
808
808
|
/* */
|
@@ -957,7 +957,7 @@ FT_BEGIN_HEADER
|
|
957
957
|
/* <Output> */
|
958
958
|
/* sbit :: A handle to a small bitmap descriptor. */
|
959
959
|
/* */
|
960
|
-
/* anode :: Used to return the address of
|
960
|
+
/* anode :: Used to return the address of the corresponding cache */
|
961
961
|
/* node after incrementing its reference count (see note */
|
962
962
|
/* below). */
|
963
963
|
/* */
|
@@ -1012,7 +1012,7 @@ FT_BEGIN_HEADER
|
|
1012
1012
|
/* <Output> */
|
1013
1013
|
/* sbit :: A handle to a small bitmap descriptor. */
|
1014
1014
|
/* */
|
1015
|
-
/* anode :: Used to return the address of
|
1015
|
+
/* anode :: Used to return the address of the corresponding */
|
1016
1016
|
/* cache node after incrementing its reference count */
|
1017
1017
|
/* (see note below). */
|
1018
1018
|
/* */
|
@@ -89,7 +89,7 @@ FT_BEGIN_HEADER
|
|
89
89
|
* features preserve the design's weight and spacing much better than
|
90
90
|
* aliased type would.
|
91
91
|
*
|
92
|
-
* 2)
|
92
|
+
* 2) Alignment in the vertical direction: Weights and spacing along the
|
93
93
|
* y~axis are less critical; what is much more important is the visual
|
94
94
|
* alignment of related features (like cap-height and x-height). The
|
95
95
|
* sense of alignment for these is enhanced by the sharpness of grid-fit
|
@@ -110,7 +110,7 @@ FT_BEGIN_HEADER
|
|
110
110
|
* to minimize distortion.
|
111
111
|
*
|
112
112
|
* @order:
|
113
|
-
* hinting-engine
|
113
|
+
* hinting-engine[cff]
|
114
114
|
* no-stem-darkening[cff]
|
115
115
|
* darkening-parameters[cff]
|
116
116
|
*
|
@@ -120,7 +120,7 @@ FT_BEGIN_HEADER
|
|
120
120
|
/**************************************************************************
|
121
121
|
*
|
122
122
|
* @property:
|
123
|
-
* hinting-engine
|
123
|
+
* hinting-engine[cff]
|
124
124
|
*
|
125
125
|
* @description:
|
126
126
|
* Thanks to Adobe, which contributed a new hinting (and parsing)
|
@@ -148,6 +148,8 @@ FT_BEGIN_HEADER
|
|
148
148
|
* @note:
|
149
149
|
* This property can be used with @FT_Property_Get also.
|
150
150
|
*
|
151
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
152
|
+
* variable (using values `adobe' or `freetype').
|
151
153
|
*/
|
152
154
|
|
153
155
|
|
@@ -157,8 +159,8 @@ FT_BEGIN_HEADER
|
|
157
159
|
* FT_CFF_HINTING_XXX
|
158
160
|
*
|
159
161
|
* @description:
|
160
|
-
* A list of constants used for the @hinting-engine property to
|
161
|
-
* the hinting engine for CFF fonts.
|
162
|
+
* A list of constants used for the @hinting-engine[cff] property to
|
163
|
+
* select the hinting engine for CFF fonts.
|
162
164
|
*
|
163
165
|
* @values:
|
164
166
|
* FT_CFF_HINTING_FREETYPE ::
|
@@ -199,6 +201,9 @@ FT_BEGIN_HEADER
|
|
199
201
|
* @note:
|
200
202
|
* This property can be used with @FT_Property_Get also.
|
201
203
|
*
|
204
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
205
|
+
* variable (using values 1 and 0 for `on' and `off', respectively).
|
206
|
+
*
|
202
207
|
*/
|
203
208
|
|
204
209
|
|
@@ -248,6 +253,14 @@ FT_BEGIN_HEADER
|
|
248
253
|
* @note:
|
249
254
|
* This property can be used with @FT_Property_Get also.
|
250
255
|
*
|
256
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
257
|
+
* variable, using eight comma-separated integers without spaces. Here
|
258
|
+
* the above example, using `\' to break the line for readability.
|
259
|
+
*
|
260
|
+
* {
|
261
|
+
* FREETYPE_PROPERTIES=\
|
262
|
+
* cff:darkening-parameters=500,300,1000,200,1500,100,2000,0
|
263
|
+
* }
|
251
264
|
*/
|
252
265
|
|
253
266
|
/* */
|
@@ -97,8 +97,8 @@ FT_BEGIN_HEADER
|
|
97
97
|
*
|
98
98
|
* @description:
|
99
99
|
* Retrieve the type of the input face, CID keyed or not. In
|
100
|
-
*
|
101
|
-
* successfully also for CID-keyed fonts in an
|
100
|
+
* contrast to the @FT_IS_CID_KEYED macro this function returns
|
101
|
+
* successfully also for CID-keyed fonts in an SFNT wrapper.
|
102
102
|
*
|
103
103
|
* @input:
|
104
104
|
* face ::
|
@@ -117,11 +117,11 @@ FT_BEGIN_HEADER
|
|
117
117
|
*
|
118
118
|
* @inout:
|
119
119
|
* output_len ::
|
120
|
-
* Before calling the function, this is the
|
121
|
-
*
|
122
|
-
*
|
123
|
-
*
|
124
|
-
*
|
120
|
+
* Before calling the function, this is the total size of the output
|
121
|
+
* buffer, which must be large enough to hold the entire uncompressed
|
122
|
+
* data (so the size of the uncompressed data must be known in
|
123
|
+
* advance). After calling the function, `output_len' is the size of
|
124
|
+
* the used data in `output'.
|
125
125
|
*
|
126
126
|
* @return:
|
127
127
|
* FreeType error code. 0~means success.
|
@@ -747,7 +747,7 @@ FT_BEGIN_HEADER
|
|
747
747
|
/*************************************************************************/
|
748
748
|
/* */
|
749
749
|
/* A raster is a scan converter, in charge of rendering an outline into */
|
750
|
-
/* a
|
750
|
+
/* a bitmap. This section contains the public API for rasters. */
|
751
751
|
/* */
|
752
752
|
/* Note that in FreeType 2, all rasters are now encapsulated within */
|
753
753
|
/* specific modules called `renderers'. See `ftrender.h' for more */
|
@@ -860,16 +860,6 @@ FT_BEGIN_HEADER
|
|
860
860
|
/* This can be used to write anti-aliased outlines directly to a */
|
861
861
|
/* given background bitmap, and even perform translucency. */
|
862
862
|
/* */
|
863
|
-
/* Note that the `count' field cannot be greater than a fixed value */
|
864
|
-
/* defined by the `FT_MAX_GRAY_SPANS' configuration macro in */
|
865
|
-
/* `ftoption.h'. By default, this value is set to~32, which means */
|
866
|
-
/* that if there are more than 32~spans on a given scanline, the */
|
867
|
-
/* callback is called several times with the same `y' parameter in */
|
868
|
-
/* order to draw all callbacks. */
|
869
|
-
/* */
|
870
|
-
/* Otherwise, the callback is only called once per scan-line, and */
|
871
|
-
/* only for those scanlines that do have `gray' pixels on them. */
|
872
|
-
/* */
|
873
863
|
typedef void
|
874
864
|
(*FT_SpanFunc)( int y,
|
875
865
|
int count,
|
@@ -195,11 +195,15 @@ FT_BEGIN_HEADER
|
|
195
195
|
/* (where every glyph could have a different */
|
196
196
|
/* number of designs). */
|
197
197
|
/* */
|
198
|
-
/* num_namedstyles :: The number of named styles;
|
199
|
-
/*
|
200
|
-
/*
|
201
|
-
/*
|
202
|
-
/*
|
198
|
+
/* num_namedstyles :: The number of named styles; a `named style' is */
|
199
|
+
/* a tuple of design coordinates that has a string */
|
200
|
+
/* ID (in the `name' table) associated with it. */
|
201
|
+
/* The font can tell the user that, for example, */
|
202
|
+
/* [Weight=1.5,Width=1.1] is `Bold'. */
|
203
|
+
/* */
|
204
|
+
/* For Type 1 Multiple Masters fonts, this value */
|
205
|
+
/* is always zero because the format does not */
|
206
|
+
/* support named styles. */
|
203
207
|
/* */
|
204
208
|
/* axis :: An axis descriptor table. */
|
205
209
|
/* GX fonts contain slightly more data than MM. */
|
@@ -106,12 +106,12 @@ FT_BEGIN_HEADER
|
|
106
106
|
#define FT_VALIDATE_JSTF 0x1000
|
107
107
|
#define FT_VALIDATE_MATH 0x2000
|
108
108
|
|
109
|
-
#define FT_VALIDATE_OT FT_VALIDATE_BASE | \
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
109
|
+
#define FT_VALIDATE_OT ( FT_VALIDATE_BASE | \
|
110
|
+
FT_VALIDATE_GDEF | \
|
111
|
+
FT_VALIDATE_GPOS | \
|
112
|
+
FT_VALIDATE_GSUB | \
|
113
|
+
FT_VALIDATE_JSTF | \
|
114
|
+
FT_VALIDATE_MATH )
|
115
115
|
|
116
116
|
/**********************************************************************
|
117
117
|
*
|
@@ -115,6 +115,10 @@ FT_BEGIN_HEADER
|
|
115
115
|
/* outline for stroking purposes (otherwise it would result in a */
|
116
116
|
/* visible dot when round caps are used). */
|
117
117
|
/* */
|
118
|
+
/* Similarly, the function returns success for an empty outline also */
|
119
|
+
/* (doing nothing, this is, not calling any emitter); if necessary, */
|
120
|
+
/* you should filter this out, too. */
|
121
|
+
/* */
|
118
122
|
FT_EXPORT( FT_Error )
|
119
123
|
FT_Outline_Decompose( FT_Outline* outline,
|
120
124
|
const FT_Outline_Funcs* func_interface,
|
@@ -213,6 +217,10 @@ FT_BEGIN_HEADER
|
|
213
217
|
/* <Return> */
|
214
218
|
/* FreeType error code. 0~means success. */
|
215
219
|
/* */
|
220
|
+
/* <Note> */
|
221
|
+
/* An empty outline, or an outline with a single point only is also */
|
222
|
+
/* valid. */
|
223
|
+
/* */
|
216
224
|
FT_EXPORT( FT_Error )
|
217
225
|
FT_Outline_Check( FT_Outline* outline );
|
218
226
|
|
@@ -290,7 +290,7 @@ FT_BEGIN_HEADER
|
|
290
290
|
* The stream size in bytes.
|
291
291
|
*
|
292
292
|
* In case of compressed streams where the size is unknown before
|
293
|
-
* actually doing the decompression, the value is set to 0x7FFFFFFF.
|
293
|
+
* actually doing the decompression, the value is set to 0x7FFFFFFF.
|
294
294
|
* (Note that this size value can occur for normal streams also; it is
|
295
295
|
* thus just a hint.)
|
296
296
|
*
|
@@ -138,31 +138,37 @@ FT_BEGIN_HEADER
|
|
138
138
|
* interpreter-version
|
139
139
|
*
|
140
140
|
* @description:
|
141
|
-
|
142
|
-
*
|
143
|
-
*
|
144
|
-
*
|
145
|
-
*
|
141
|
+
|
142
|
+
* Currently, three versions are available, two representing the
|
143
|
+
* bytecode interpreter with subpixel hinting support (old `Infinality'
|
144
|
+
* code and new stripped-down and higher performance `minimal' code) and
|
145
|
+
* one without, respectively. The default is subpixel support if
|
146
|
+
* TT_CONFIG_OPTION_SUBPIXEL_HINTING is defined, and no subpixel support
|
147
|
+
* otherwise (since it isn't available then).
|
146
148
|
*
|
147
149
|
* If subpixel hinting is on, many TrueType bytecode instructions behave
|
148
150
|
* differently compared to B/W or grayscale rendering (except if `native
|
149
|
-
* ClearType' is selected by the font).
|
150
|
-
* much increased horizontal resolution, then sampling down
|
151
|
-
* output to subpixel precision. However, many older fonts
|
152
|
-
* suited to this and must be specially taken care of by
|
153
|
-
* (hardcoded)
|
151
|
+
* ClearType' is selected by the font). Microsoft's main idea is to
|
152
|
+
* render at a much increased horizontal resolution, then sampling down
|
153
|
+
* the created output to subpixel precision. However, many older fonts
|
154
|
+
* are not suited to this and must be specially taken care of by
|
155
|
+
* applying (hardcoded) tweaks in Microsoft's interpreter.
|
154
156
|
*
|
155
157
|
* Details on subpixel hinting and some of the necessary tweaks can be
|
156
158
|
* found in Greg Hitchcock's whitepaper at
|
157
|
-
* `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
|
159
|
+
* `http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx'.
|
160
|
+
* Note that FreeType currently doesn't really `subpixel hint' (6x1, 6x2,
|
161
|
+
* or 6x5 supersampling) like discussed in the paper. Depending on the
|
162
|
+
* chosen interpreter, it simply ignores instructions on vertical stems
|
163
|
+
* to arrive at very similar results.
|
158
164
|
*
|
159
|
-
* The following example code demonstrates how to
|
165
|
+
* The following example code demonstrates how to deactivate subpixel
|
160
166
|
* hinting (omitting the error handling).
|
161
167
|
*
|
162
168
|
* {
|
163
169
|
* FT_Library library;
|
164
170
|
* FT_Face face;
|
165
|
-
* FT_UInt interpreter_version =
|
171
|
+
* FT_UInt interpreter_version = TT_INTERPRETER_VERSION_35;
|
166
172
|
*
|
167
173
|
*
|
168
174
|
* FT_Init_FreeType( &library );
|
@@ -175,6 +181,8 @@ FT_BEGIN_HEADER
|
|
175
181
|
* @note:
|
176
182
|
* This property can be used with @FT_Property_Get also.
|
177
183
|
*
|
184
|
+
* This property can be set via the `FREETYPE_PROPERTIES' environment
|
185
|
+
* variable (using values `35', `38', or `40').
|
178
186
|
*/
|
179
187
|
|
180
188
|
|
@@ -197,9 +205,19 @@ FT_BEGIN_HEADER
|
|
197
205
|
*
|
198
206
|
* TT_INTERPRETER_VERSION_38 ::
|
199
207
|
* Version~38 corresponds to MS rasterizer v.1.9; it is roughly
|
200
|
-
* equivalent to the hinting provided by DirectWrite ClearType (as
|
201
|
-
*
|
202
|
-
* Windows~7).
|
208
|
+
* equivalent to the hinting provided by DirectWrite ClearType (as can
|
209
|
+
* be found, for example, in the Internet Explorer~9 running on
|
210
|
+
* Windows~7). It is used in FreeType to select the `Infinality'
|
211
|
+
* subpixel hinting code. The code may be removed in a future
|
212
|
+
* version.
|
213
|
+
*
|
214
|
+
* TT_INTERPRETER_VERSION_40 ::
|
215
|
+
* Version~40 corresponds to MS rasterizer v.2.1; it is roughly
|
216
|
+
* equivalent to the hinting provided by DirectWrite ClearType (as can
|
217
|
+
* be found, for example, in Microsoft's Edge Browser on Windows~10).
|
218
|
+
* It is used in FreeType to select the `minimal' subpixel hinting
|
219
|
+
* code, a stripped-down and higher performance version of the
|
220
|
+
* `Infinality' code.
|
203
221
|
*
|
204
222
|
* @note:
|
205
223
|
* This property controls the behaviour of the bytecode interpreter
|
@@ -207,9 +225,9 @@ FT_BEGIN_HEADER
|
|
207
225
|
* get rasterized! In particular, it does not control subpixel color
|
208
226
|
* filtering.
|
209
227
|
*
|
210
|
-
* If FreeType has not been compiled with configuration option
|
211
|
-
* FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 causes
|
212
|
-
* `FT_Err_Unimplemented_Feature' error.
|
228
|
+
* If FreeType has not been compiled with the configuration option
|
229
|
+
* FT_CONFIG_OPTION_SUBPIXEL_HINTING, selecting version~38 or~40 causes
|
230
|
+
* an `FT_Err_Unimplemented_Feature' error.
|
213
231
|
*
|
214
232
|
* Depending on the graphics framework, Microsoft uses different
|
215
233
|
* bytecode and rendering engines. As a consequence, the version
|
@@ -290,13 +308,14 @@ FT_BEGIN_HEADER
|
|
290
308
|
* the version~1 gasp table exclusively (like Color ClearType), while
|
291
309
|
* v1.6 only respects the values of version~0 (bits 0 and~1).
|
292
310
|
*
|
293
|
-
*
|
294
|
-
*
|
295
|
-
*
|
311
|
+
* Keep in mind that the features of the above interpreter versions
|
312
|
+
* might not map exactly to FreeType features or behavior because it is
|
313
|
+
* a fundamentally different library with different internals.
|
296
314
|
*
|
297
315
|
*/
|
298
316
|
#define TT_INTERPRETER_VERSION_35 35
|
299
317
|
#define TT_INTERPRETER_VERSION_38 38
|
318
|
+
#define TT_INTERPRETER_VERSION_40 40
|
300
319
|
|
301
320
|
/* */
|
302
321
|
|
@@ -587,7 +587,7 @@ FT_BEGIN_HEADER
|
|
587
587
|
/* */
|
588
588
|
/* FT_SFNT_HHEA :: To access the font's @TT_HoriHeader structure. */
|
589
589
|
/* */
|
590
|
-
/* FT_SFNT_VHEA :: To access the font's @TT_VertHeader
|
590
|
+
/* FT_SFNT_VHEA :: To access the font's @TT_VertHeader structure. */
|
591
591
|
/* */
|
592
592
|
/* FT_SFNT_POST :: To access the font's @TT_Postscript structure. */
|
593
593
|
/* */
|
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
/* png.h - header file for PNG reference library
|
3
3
|
*
|
4
|
-
* libpng version 1.6.
|
4
|
+
* libpng version 1.6.26, October 20, 2016
|
5
5
|
*
|
6
6
|
* Copyright (c) 1998-2002,2004,2006-2016 Glenn Randers-Pehrson
|
7
7
|
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
@@ -12,7 +12,7 @@
|
|
12
12
|
* Authors and maintainers:
|
13
13
|
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
|
14
14
|
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
|
15
|
-
* libpng versions 0.97, January 1998, through 1.6.
|
15
|
+
* libpng versions 0.97, January 1998, through 1.6.26, October 20, 2016:
|
16
16
|
* Glenn Randers-Pehrson.
|
17
17
|
* See also "Contributing Authors", below.
|
18
18
|
*/
|
@@ -25,7 +25,11 @@
|
|
25
25
|
*
|
26
26
|
* This code is released under the libpng license.
|
27
27
|
*
|
28
|
-
*
|
28
|
+
* Some files in the "contrib" directory and some configure-generated
|
29
|
+
* files that are distributed with libpng have other copyright owners and
|
30
|
+
* are released under other open source licenses.
|
31
|
+
*
|
32
|
+
* libpng versions 1.0.7, July 1, 2000 through 1.6.26, October 20, 2016 are
|
29
33
|
* Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are
|
30
34
|
* derived from libpng-1.0.6, and are distributed according to the same
|
31
35
|
* disclaimer and license as libpng-1.0.6 with the following individuals
|
@@ -37,6 +41,7 @@
|
|
37
41
|
* Cosmin Truta
|
38
42
|
* Gilles Vollant
|
39
43
|
* James Yu
|
44
|
+
* Mandar Sahastrabuddhe
|
40
45
|
*
|
41
46
|
* and with the following additions to the disclaimer:
|
42
47
|
*
|
@@ -47,6 +52,10 @@
|
|
47
52
|
* risk of satisfactory quality, performance, accuracy, and effort is with
|
48
53
|
* the user.
|
49
54
|
*
|
55
|
+
* Some files in the "contrib" directory have other copyright owners and
|
56
|
+
* are released under other open source licenses.
|
57
|
+
*
|
58
|
+
*
|
50
59
|
* libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
|
51
60
|
* Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from
|
52
61
|
* libpng-0.96, and are distributed according to the same disclaimer and
|
@@ -57,6 +66,9 @@
|
|
57
66
|
* Glenn Randers-Pehrson
|
58
67
|
* Willem van Schaik
|
59
68
|
*
|
69
|
+
* Some files in the "scripts" directory have different copyright owners
|
70
|
+
* but are also released under this license.
|
71
|
+
*
|
60
72
|
* libpng versions 0.89, June 1996, through 0.96, May 1997, are
|
61
73
|
* Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88,
|
62
74
|
* and are distributed according to the same disclaimer and license as
|
@@ -70,6 +82,9 @@
|
|
70
82
|
* Greg Roelofs
|
71
83
|
* Tom Tanner
|
72
84
|
*
|
85
|
+
* Some files in the "scripts" directory have other copyright owners
|
86
|
+
* but are released under this license.
|
87
|
+
*
|
73
88
|
* libpng versions 0.5, May 1995, through 0.88, January 1996, are
|
74
89
|
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
|
75
90
|
*
|
@@ -109,6 +124,29 @@
|
|
109
124
|
* appreciated.
|
110
125
|
*
|
111
126
|
* END OF COPYRIGHT NOTICE, DISCLAIMER, and LICENSE.
|
127
|
+
*
|
128
|
+
* TRADEMARK:
|
129
|
+
*
|
130
|
+
* The name "libpng" has not been registered by the Copyright owner
|
131
|
+
* as a trademark in any jurisdiction. However, because libpng has
|
132
|
+
* been distributed and maintained world-wide, continually since 1995,
|
133
|
+
* the Copyright owner claims "common-law trademark protection" in any
|
134
|
+
* jurisdiction where common-law trademark is recognized.
|
135
|
+
*
|
136
|
+
* OSI CERTIFICATION:
|
137
|
+
*
|
138
|
+
* Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
|
139
|
+
* a certification mark of the Open Source Initiative. OSI has not addressed
|
140
|
+
* the additional disclaimers inserted at version 1.0.7.
|
141
|
+
*
|
142
|
+
* EXPORT CONTROL:
|
143
|
+
*
|
144
|
+
* The Copyright owner believes that the Export Control Classification
|
145
|
+
* Number (ECCN) for libpng is EAR99, which means not subject to export
|
146
|
+
* controls or International Traffic in Arms Regulations (ITAR) because
|
147
|
+
* it is open source, publicly available software, that does not contain
|
148
|
+
* any encryption software. See the EAR, paragraphs 734.3(b)(3) and
|
149
|
+
* 734.7(b).
|
112
150
|
*/
|
113
151
|
|
114
152
|
/*
|
@@ -121,12 +159,6 @@
|
|
121
159
|
* files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
|
122
160
|
*/
|
123
161
|
|
124
|
-
/*
|
125
|
-
* Libpng is OSI Certified Open Source Software. OSI Certified Open Source is
|
126
|
-
* a certification mark of the Open Source Initiative. OSI has not addressed
|
127
|
-
* the additional disclaimers inserted at version 1.0.7.
|
128
|
-
*/
|
129
|
-
|
130
162
|
/*
|
131
163
|
* The contributing authors would like to thank all those who helped
|
132
164
|
* with testing, bug fixes, and patience. This wouldn't have been
|
@@ -182,11 +214,11 @@
|
|
182
214
|
* ...
|
183
215
|
* 1.0.19 10 10019 10.so.0.19[.0]
|
184
216
|
* ...
|
185
|
-
* 1.2.
|
217
|
+
* 1.2.56 13 10256 12.so.0.56[.0]
|
186
218
|
* ...
|
187
|
-
* 1.5.
|
219
|
+
* 1.5.27 15 10527 15.so.15.27[.0]
|
188
220
|
* ...
|
189
|
-
* 1.6.
|
221
|
+
* 1.6.26 16 10626 16.so.16.26[.0]
|
190
222
|
*
|
191
223
|
* Henceforth the source version will match the shared-library major
|
192
224
|
* and minor numbers; the shared-library major version number will be
|
@@ -214,13 +246,13 @@
|
|
214
246
|
* Y2K compliance in libpng:
|
215
247
|
* =========================
|
216
248
|
*
|
217
|
-
*
|
249
|
+
* October 20, 2016
|
218
250
|
*
|
219
251
|
* Since the PNG Development group is an ad-hoc body, we can't make
|
220
252
|
* an official declaration.
|
221
253
|
*
|
222
254
|
* This is your unofficial assurance that libpng from version 0.71 and
|
223
|
-
* upward through 1.6.
|
255
|
+
* upward through 1.6.26 are Y2K compliant. It is my belief that
|
224
256
|
* earlier versions were also Y2K compliant.
|
225
257
|
*
|
226
258
|
* Libpng only has two year fields. One is a 2-byte unsigned integer
|
@@ -282,9 +314,8 @@
|
|
282
314
|
*/
|
283
315
|
|
284
316
|
/* Version information for png.h - this should match the version in png.c */
|
285
|
-
#define PNG_LIBPNG_VER_STRING "1.6.
|
286
|
-
#define PNG_HEADER_VERSION_STRING \
|
287
|
-
" libpng version 1.6.21 - January 15, 2016\n"
|
317
|
+
#define PNG_LIBPNG_VER_STRING "1.6.26"
|
318
|
+
#define PNG_HEADER_VERSION_STRING " libpng version 1.6.26 - October 20, 2016\n"
|
288
319
|
|
289
320
|
#define PNG_LIBPNG_VER_SONUM 16
|
290
321
|
#define PNG_LIBPNG_VER_DLLNUM 16
|
@@ -292,7 +323,7 @@
|
|
292
323
|
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
|
293
324
|
#define PNG_LIBPNG_VER_MAJOR 1
|
294
325
|
#define PNG_LIBPNG_VER_MINOR 6
|
295
|
-
#define PNG_LIBPNG_VER_RELEASE
|
326
|
+
#define PNG_LIBPNG_VER_RELEASE 26
|
296
327
|
|
297
328
|
/* This should match the numeric part of the final component of
|
298
329
|
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
|
@@ -323,20 +354,20 @@
|
|
323
354
|
* version 1.0.0 was mis-numbered 100 instead of 10000). From
|
324
355
|
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
|
325
356
|
*/
|
326
|
-
#define PNG_LIBPNG_VER
|
357
|
+
#define PNG_LIBPNG_VER 10626 /* 1.6.26 */
|
327
358
|
|
328
359
|
/* Library configuration: these options cannot be changed after
|
329
360
|
* the library has been built.
|
330
361
|
*/
|
331
362
|
#ifndef PNGLCONF_H
|
332
|
-
|
333
|
-
|
334
|
-
|
363
|
+
/* If pnglibconf.h is missing, you can
|
364
|
+
* copy scripts/pnglibconf.h.prebuilt to pnglibconf.h
|
365
|
+
*/
|
335
366
|
# include "pnglibconf.h"
|
336
367
|
#endif
|
337
368
|
|
338
369
|
#ifndef PNG_VERSION_INFO_ONLY
|
339
|
-
|
370
|
+
/* Machine specific configuration. */
|
340
371
|
# include "pngconf.h"
|
341
372
|
#endif
|
342
373
|
|
@@ -433,7 +464,7 @@ extern "C" {
|
|
433
464
|
/* This triggers a compiler error in png.c, if png.c and png.h
|
434
465
|
* do not agree upon the version number.
|
435
466
|
*/
|
436
|
-
typedef char*
|
467
|
+
typedef char* png_libpng_version_1_6_26;
|
437
468
|
|
438
469
|
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
|
439
470
|
*
|
@@ -626,17 +657,17 @@ typedef png_time * * png_timepp;
|
|
626
657
|
*/
|
627
658
|
typedef struct png_unknown_chunk_t
|
628
659
|
{
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
660
|
+
png_byte name[5]; /* Textual chunk name with '\0' terminator */
|
661
|
+
png_byte *data; /* Data, should not be modified on read! */
|
662
|
+
png_size_t size;
|
663
|
+
|
664
|
+
/* On write 'location' must be set using the flag values listed below.
|
665
|
+
* Notice that on read it is set by libpng however the values stored have
|
666
|
+
* more bits set than are listed below. Always treat the value as a
|
667
|
+
* bitmask. On write set only one bit - setting multiple bits may cause the
|
668
|
+
* chunk to be written in multiple places.
|
669
|
+
*/
|
670
|
+
png_byte location; /* mode of operation at read time */
|
640
671
|
}
|
641
672
|
png_unknown_chunk;
|
642
673
|
|
@@ -734,24 +765,22 @@ typedef png_unknown_chunk * * png_unknown_chunkpp;
|
|
734
765
|
* data in the info_struct to be written into the output file. The values
|
735
766
|
* of the PNG_INFO_<chunk> defines should NOT be changed.
|
736
767
|
*/
|
737
|
-
#define PNG_INFO_gAMA
|
738
|
-
#define PNG_INFO_sBIT
|
739
|
-
#define PNG_INFO_cHRM
|
740
|
-
#define PNG_INFO_PLTE
|
741
|
-
#define PNG_INFO_tRNS
|
742
|
-
#define PNG_INFO_bKGD
|
743
|
-
#define PNG_INFO_hIST
|
744
|
-
#define PNG_INFO_pHYs
|
745
|
-
#define PNG_INFO_oFFs
|
746
|
-
#define PNG_INFO_tIME
|
747
|
-
#define PNG_INFO_pCAL
|
748
|
-
#define PNG_INFO_sRGB
|
749
|
-
#define PNG_INFO_iCCP
|
750
|
-
#define PNG_INFO_sPLT
|
751
|
-
#define PNG_INFO_sCAL
|
752
|
-
#
|
753
|
-
#define PNG_INFO_IDAT 0x8000 /* ESR, 1.0.6 */
|
754
|
-
#endif
|
768
|
+
#define PNG_INFO_gAMA 0x0001U
|
769
|
+
#define PNG_INFO_sBIT 0x0002U
|
770
|
+
#define PNG_INFO_cHRM 0x0004U
|
771
|
+
#define PNG_INFO_PLTE 0x0008U
|
772
|
+
#define PNG_INFO_tRNS 0x0010U
|
773
|
+
#define PNG_INFO_bKGD 0x0020U
|
774
|
+
#define PNG_INFO_hIST 0x0040U
|
775
|
+
#define PNG_INFO_pHYs 0x0080U
|
776
|
+
#define PNG_INFO_oFFs 0x0100U
|
777
|
+
#define PNG_INFO_tIME 0x0200U
|
778
|
+
#define PNG_INFO_pCAL 0x0400U
|
779
|
+
#define PNG_INFO_sRGB 0x0800U /* GR-P, 0.96a */
|
780
|
+
#define PNG_INFO_iCCP 0x1000U /* ESR, 1.0.6 */
|
781
|
+
#define PNG_INFO_sPLT 0x2000U /* ESR, 1.0.6 */
|
782
|
+
#define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */
|
783
|
+
#define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */
|
755
784
|
|
756
785
|
/* This is used for the transformation routines, as some of them
|
757
786
|
* change these values for the row. It also should enable using
|
@@ -1322,7 +1351,7 @@ PNG_EXPORT(229, void, png_set_scale_16, (png_structrp png_ptr));
|
|
1322
1351
|
#endif
|
1323
1352
|
|
1324
1353
|
#ifdef PNG_READ_STRIP_16_TO_8_SUPPORTED
|
1325
|
-
#define
|
1354
|
+
#define PNG_READ_16_TO_8_SUPPORTED /* Name prior to 1.5.4 */
|
1326
1355
|
/* Strip the second byte of information from a 16-bit depth file. */
|
1327
1356
|
PNG_EXPORT(48, void, png_set_strip_16, (png_structrp png_ptr));
|
1328
1357
|
#endif
|
@@ -1473,8 +1502,8 @@ PNG_EXPORT(67, void, png_set_filter, (png_structrp png_ptr, int method,
|
|
1473
1502
|
#define PNG_FILTER_UP 0x20
|
1474
1503
|
#define PNG_FILTER_AVG 0x40
|
1475
1504
|
#define PNG_FILTER_PAETH 0x80
|
1476
|
-
#define
|
1477
|
-
|
1505
|
+
#define PNG_FAST_FILTERS (PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP)
|
1506
|
+
#define PNG_ALL_FILTERS (PNG_FAST_FILTERS | PNG_FILTER_AVG | PNG_FILTER_PAETH)
|
1478
1507
|
|
1479
1508
|
/* Filter values (not flags) - used in pngwrite.c, pngwutil.c for now.
|
1480
1509
|
* These defines should NOT be changed.
|
@@ -1751,21 +1780,21 @@ PNG_EXPORT(99, void, png_data_freer, (png_const_structrp png_ptr,
|
|
1751
1780
|
#define PNG_SET_WILL_FREE_DATA 1
|
1752
1781
|
#define PNG_USER_WILL_FREE_DATA 2
|
1753
1782
|
/* Flags for png_ptr->free_me and info_ptr->free_me */
|
1754
|
-
#define PNG_FREE_HIST
|
1755
|
-
#define PNG_FREE_ICCP
|
1756
|
-
#define PNG_FREE_SPLT
|
1757
|
-
#define PNG_FREE_ROWS
|
1758
|
-
#define PNG_FREE_PCAL
|
1759
|
-
#define PNG_FREE_SCAL
|
1783
|
+
#define PNG_FREE_HIST 0x0008U
|
1784
|
+
#define PNG_FREE_ICCP 0x0010U
|
1785
|
+
#define PNG_FREE_SPLT 0x0020U
|
1786
|
+
#define PNG_FREE_ROWS 0x0040U
|
1787
|
+
#define PNG_FREE_PCAL 0x0080U
|
1788
|
+
#define PNG_FREE_SCAL 0x0100U
|
1760
1789
|
#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
|
1761
|
-
# define PNG_FREE_UNKN
|
1790
|
+
# define PNG_FREE_UNKN 0x0200U
|
1762
1791
|
#endif
|
1763
|
-
/* PNG_FREE_LIST
|
1764
|
-
#define PNG_FREE_PLTE
|
1765
|
-
#define PNG_FREE_TRNS
|
1766
|
-
#define PNG_FREE_TEXT
|
1767
|
-
#define PNG_FREE_ALL
|
1768
|
-
#define PNG_FREE_MUL
|
1792
|
+
/* PNG_FREE_LIST 0x0400U removed in 1.6.0 because it is ignored */
|
1793
|
+
#define PNG_FREE_PLTE 0x1000U
|
1794
|
+
#define PNG_FREE_TRNS 0x2000U
|
1795
|
+
#define PNG_FREE_TEXT 0x4000U
|
1796
|
+
#define PNG_FREE_ALL 0x7fffU
|
1797
|
+
#define PNG_FREE_MUL 0x4220U /* PNG_FREE_SPLT|PNG_FREE_TEXT|PNG_FREE_UNKN */
|
1769
1798
|
|
1770
1799
|
#ifdef PNG_USER_MEM_SUPPORTED
|
1771
1800
|
PNG_EXPORTA(100, png_voidp, png_malloc_default, (png_const_structrp png_ptr,
|
@@ -2271,8 +2300,10 @@ PNG_EXPORT(171, void, png_set_sCAL_s, (png_const_structrp png_ptr,
|
|
2271
2300
|
* except for the IHDR, PLTE, tRNS, IDAT, and IEND chunks (which continue to
|
2272
2301
|
* be processed by libpng.
|
2273
2302
|
*/
|
2303
|
+
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
2274
2304
|
PNG_EXPORT(172, void, png_set_keep_unknown_chunks, (png_structrp png_ptr,
|
2275
2305
|
int keep, png_const_bytep chunk_list, int num_chunks));
|
2306
|
+
#endif /* HANDLE_AS_UNKNOWN */
|
2276
2307
|
|
2277
2308
|
/* The "keep" PNG_HANDLE_CHUNK_ parameter for the specified chunk is returned;
|
2278
2309
|
* the result is therefore true (non-zero) if special handling is required,
|
@@ -2280,7 +2311,7 @@ PNG_EXPORT(172, void, png_set_keep_unknown_chunks, (png_structrp png_ptr,
|
|
2280
2311
|
*/
|
2281
2312
|
PNG_EXPORT(173, int, png_handle_as_unknown, (png_const_structrp png_ptr,
|
2282
2313
|
png_const_bytep chunk_name));
|
2283
|
-
#endif
|
2314
|
+
#endif /* SET_UNKNOWN_CHUNKS */
|
2284
2315
|
|
2285
2316
|
#ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
|
2286
2317
|
PNG_EXPORT(174, void, png_set_unknown_chunks, (png_const_structrp png_ptr,
|
@@ -2501,33 +2532,37 @@ PNG_EXPORT(216, png_uint_32, png_get_io_chunk_type,
|
|
2501
2532
|
|
2502
2533
|
/* fg and bg should be in `gamma 1.0' space; alpha is the opacity */
|
2503
2534
|
|
2504
|
-
# define png_composite(composite, fg, alpha, bg)
|
2505
|
-
|
2506
|
-
|
2507
|
-
|
2508
|
-
|
2509
|
-
|
2510
|
-
|
2511
|
-
|
2512
|
-
|
2513
|
-
|
2514
|
-
|
2515
|
-
|
2516
|
-
|
2535
|
+
# define png_composite(composite, fg, alpha, bg) \
|
2536
|
+
{ \
|
2537
|
+
png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) \
|
2538
|
+
* (png_uint_16)(alpha) \
|
2539
|
+
+ (png_uint_16)(bg)*(png_uint_16)(255 \
|
2540
|
+
- (png_uint_16)(alpha)) + 128); \
|
2541
|
+
(composite) = (png_byte)(((temp + (temp >> 8)) >> 8) & 0xff); \
|
2542
|
+
}
|
2543
|
+
|
2544
|
+
# define png_composite_16(composite, fg, alpha, bg) \
|
2545
|
+
{ \
|
2546
|
+
png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) \
|
2547
|
+
* (png_uint_32)(alpha) \
|
2548
|
+
+ (png_uint_32)(bg)*(65535 \
|
2549
|
+
- (png_uint_32)(alpha)) + 32768); \
|
2550
|
+
(composite) = (png_uint_16)(0xffff & ((temp + (temp >> 16)) >> 16)); \
|
2551
|
+
}
|
2517
2552
|
|
2518
2553
|
#else /* Standard method using integer division */
|
2519
2554
|
|
2520
|
-
# define png_composite(composite, fg, alpha, bg)
|
2521
|
-
|
2522
|
-
|
2523
|
-
|
2524
|
-
|
2525
|
-
|
2526
|
-
# define png_composite_16(composite, fg, alpha, bg)
|
2527
|
-
|
2528
|
-
|
2529
|
-
|
2530
|
-
|
2555
|
+
# define png_composite(composite, fg, alpha, bg) \
|
2556
|
+
(composite) = \
|
2557
|
+
(png_byte)(0xff & (((png_uint_16)(fg) * (png_uint_16)(alpha) + \
|
2558
|
+
(png_uint_16)(bg) * (png_uint_16)(255 - (png_uint_16)(alpha)) + \
|
2559
|
+
127) / 255))
|
2560
|
+
|
2561
|
+
# define png_composite_16(composite, fg, alpha, bg) \
|
2562
|
+
(composite) = \
|
2563
|
+
(png_uint_16)(0xffff & (((png_uint_32)(fg) * (png_uint_32)(alpha) + \
|
2564
|
+
(png_uint_32)(bg)*(png_uint_32)(65535 - (png_uint_32)(alpha)) + \
|
2565
|
+
32767) / 65535))
|
2531
2566
|
#endif /* READ_COMPOSITE_NODIV */
|
2532
2567
|
|
2533
2568
|
#ifdef PNG_READ_INT_FUNCTIONS_SUPPORTED
|
@@ -2563,38 +2598,38 @@ PNG_EXPORT(207, void, png_save_uint_16, (png_bytep buf, unsigned int i));
|
|
2563
2598
|
* format for negative values, which is almost certainly true.
|
2564
2599
|
*/
|
2565
2600
|
# define PNG_get_uint_32(buf) \
|
2566
|
-
|
2567
|
-
|
2568
|
-
|
2569
|
-
|
2601
|
+
(((png_uint_32)(*(buf)) << 24) + \
|
2602
|
+
((png_uint_32)(*((buf) + 1)) << 16) + \
|
2603
|
+
((png_uint_32)(*((buf) + 2)) << 8) + \
|
2604
|
+
((png_uint_32)(*((buf) + 3))))
|
2570
2605
|
|
2571
2606
|
/* From libpng-1.4.0 until 1.4.4, the png_get_uint_16 macro (but not the
|
2572
2607
|
* function) incorrectly returned a value of type png_uint_32.
|
2573
2608
|
*/
|
2574
2609
|
# define PNG_get_uint_16(buf) \
|
2575
|
-
|
2576
|
-
|
2577
|
-
|
2610
|
+
((png_uint_16) \
|
2611
|
+
(((unsigned int)(*(buf)) << 8) + \
|
2612
|
+
((unsigned int)(*((buf) + 1)))))
|
2578
2613
|
|
2579
2614
|
# define PNG_get_int_32(buf) \
|
2580
|
-
|
2581
|
-
|
2582
|
-
|
2615
|
+
((png_int_32)((*(buf) & 0x80) \
|
2616
|
+
? -((png_int_32)(((png_get_uint_32(buf)^0xffffffffU)+1U)&0x7fffffffU)) \
|
2617
|
+
: (png_int_32)png_get_uint_32(buf)))
|
2583
2618
|
|
2584
|
-
|
2585
|
-
|
2586
|
-
|
2619
|
+
/* If PNG_PREFIX is defined the same thing as below happens in pnglibconf.h,
|
2620
|
+
* but defining a macro name prefixed with PNG_PREFIX.
|
2621
|
+
*/
|
2587
2622
|
# ifndef PNG_PREFIX
|
2588
|
-
#
|
2589
|
-
#
|
2590
|
-
#
|
2623
|
+
# define png_get_uint_32(buf) PNG_get_uint_32(buf)
|
2624
|
+
# define png_get_uint_16(buf) PNG_get_uint_16(buf)
|
2625
|
+
# define png_get_int_32(buf) PNG_get_int_32(buf)
|
2591
2626
|
# endif
|
2592
2627
|
#else
|
2593
2628
|
# ifdef PNG_PREFIX
|
2594
|
-
|
2595
|
-
#
|
2596
|
-
#
|
2597
|
-
#
|
2629
|
+
/* No macros; revert to the (redefined) function */
|
2630
|
+
# define PNG_get_uint_32 (png_get_uint_32)
|
2631
|
+
# define PNG_get_uint_16 (png_get_uint_16)
|
2632
|
+
# define PNG_get_int_32 (png_get_int_32)
|
2598
2633
|
# endif
|
2599
2634
|
#endif
|
2600
2635
|
|
@@ -2889,12 +2924,19 @@ typedef struct
|
|
2889
2924
|
* is the minimum 'row stride', the minimum count of components between each
|
2890
2925
|
* row. For a color-mapped image this is the minimum number of bytes in a
|
2891
2926
|
* row.
|
2927
|
+
*
|
2928
|
+
* WARNING: this macro overflows for some images with more than one component
|
2929
|
+
* and very large image widths. libpng will refuse to process an image where
|
2930
|
+
* this macro would overflow.
|
2892
2931
|
*/
|
2893
2932
|
|
2894
2933
|
#define PNG_IMAGE_BUFFER_SIZE(image, row_stride)\
|
2895
2934
|
(PNG_IMAGE_PIXEL_COMPONENT_SIZE((image).format)*(image).height*(row_stride))
|
2896
2935
|
/* Return the size, in bytes, of an image buffer given a png_image and a row
|
2897
2936
|
* stride - the number of components to leave space for in each row.
|
2937
|
+
*
|
2938
|
+
* WARNING: this macro overflows a 32-bit integer for some large PNG images,
|
2939
|
+
* libpng will refuse to process an image where such an overflow would occur.
|
2898
2940
|
*/
|
2899
2941
|
|
2900
2942
|
#define PNG_IMAGE_SIZE(image)\
|
@@ -3015,7 +3057,6 @@ PNG_EXPORT(238, void, png_image_free, (png_imagep image));
|
|
3015
3057
|
#endif /* SIMPLIFIED_READ */
|
3016
3058
|
|
3017
3059
|
#ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
|
3018
|
-
#ifdef PNG_STDIO_SUPPORTED
|
3019
3060
|
/* WRITE APIS
|
3020
3061
|
* ----------
|
3021
3062
|
* For write you must initialize a png_image structure to describe the image to
|
@@ -3032,6 +3073,7 @@ PNG_EXPORT(238, void, png_image_free, (png_imagep image));
|
|
3032
3073
|
* values do not correspond to the colors in sRGB.
|
3033
3074
|
* colormap_entries: set to the number of entries in the color-map (0 to 256)
|
3034
3075
|
*/
|
3076
|
+
#ifdef PNG_SIMPLIFIED_WRITE_STDIO_SUPPORTED
|
3035
3077
|
PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image,
|
3036
3078
|
const char *file, int convert_to_8bit, const void *buffer,
|
3037
3079
|
png_int_32 row_stride, const void *colormap));
|
@@ -3041,8 +3083,9 @@ PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
|
|
3041
3083
|
int convert_to_8_bit, const void *buffer, png_int_32 row_stride,
|
3042
3084
|
const void *colormap));
|
3043
3085
|
/* Write the image to the given (FILE*). */
|
3086
|
+
#endif /* SIMPLIFIED_WRITE_STDIO */
|
3044
3087
|
|
3045
|
-
/* With
|
3088
|
+
/* With all write APIs if image is in one of the linear formats with 16-bit
|
3046
3089
|
* data then setting convert_to_8_bit will cause the output to be an 8-bit PNG
|
3047
3090
|
* gamma encoded according to the sRGB specification, otherwise a 16-bit linear
|
3048
3091
|
* encoded PNG file is written.
|
@@ -3054,13 +3097,103 @@ PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
|
|
3054
3097
|
*
|
3055
3098
|
* With all APIs row_stride is handled as in the read APIs - it is the spacing
|
3056
3099
|
* from one row to the next in component sized units (1 or 2 bytes) and if
|
3057
|
-
* negative indicates a bottom-up row layout in the buffer. If row_stride is
|
3058
|
-
* libpng will calculate it for you from the image width and number of
|
3100
|
+
* negative indicates a bottom-up row layout in the buffer. If row_stride is
|
3101
|
+
* zero, libpng will calculate it for you from the image width and number of
|
3102
|
+
* channels.
|
3059
3103
|
*
|
3060
|
-
* Note that the write API does not support interlacing, sub-8-bit pixels
|
3061
|
-
*
|
3104
|
+
* Note that the write API does not support interlacing, sub-8-bit pixels or
|
3105
|
+
* most ancillary chunks. If you need to write text chunks (e.g. for copyright
|
3106
|
+
* notices) you need to use one of the other APIs.
|
3062
3107
|
*/
|
3063
|
-
|
3108
|
+
|
3109
|
+
PNG_EXPORT(245, int, png_image_write_to_memory, (png_imagep image, void *memory,
|
3110
|
+
png_alloc_size_t * PNG_RESTRICT memory_bytes, int convert_to_8_bit,
|
3111
|
+
const void *buffer, png_int_32 row_stride, const void *colormap));
|
3112
|
+
/* Write the image to the given memory buffer. The function both writes the
|
3113
|
+
* whole PNG data stream to *memory and updates *memory_bytes with the count
|
3114
|
+
* of bytes written.
|
3115
|
+
*
|
3116
|
+
* 'memory' may be NULL. In this case *memory_bytes is not read however on
|
3117
|
+
* success the number of bytes which would have been written will still be
|
3118
|
+
* stored in *memory_bytes. On failure *memory_bytes will contain 0.
|
3119
|
+
*
|
3120
|
+
* If 'memory' is not NULL it must point to memory[*memory_bytes] of
|
3121
|
+
* writeable memory.
|
3122
|
+
*
|
3123
|
+
* If the function returns success memory[*memory_bytes] (if 'memory' is not
|
3124
|
+
* NULL) contains the written PNG data. *memory_bytes will always be less
|
3125
|
+
* than or equal to the original value.
|
3126
|
+
*
|
3127
|
+
* If the function returns false and *memory_bytes was not changed an error
|
3128
|
+
* occured during write. If *memory_bytes was changed, or is not 0 if
|
3129
|
+
* 'memory' was NULL, the write would have succeeded but for the memory
|
3130
|
+
* buffer being too small. *memory_bytes contains the required number of
|
3131
|
+
* bytes and will be bigger that the original value.
|
3132
|
+
*/
|
3133
|
+
|
3134
|
+
#define png_image_write_get_memory_size(image, size, convert_to_8_bit, buffer,\
|
3135
|
+
row_stride, colormap)\
|
3136
|
+
png_image_write_to_memory(&(image), 0, &(size), convert_to_8_bit, buffer,\
|
3137
|
+
row_stride, colormap)
|
3138
|
+
/* Return the amount of memory in 'size' required to compress this image.
|
3139
|
+
* The png_image structure 'image' must be filled in as in the above
|
3140
|
+
* function and must not be changed before the actual write call, the buffer
|
3141
|
+
* and all other parameters must also be identical to that in the final
|
3142
|
+
* write call. The 'size' variable need not be initialized.
|
3143
|
+
*
|
3144
|
+
* NOTE: the macro returns true/false, if false is returned 'size' will be
|
3145
|
+
* set to zero and the write failed and probably will fail if tried again.
|
3146
|
+
*/
|
3147
|
+
|
3148
|
+
/* You can pre-allocate the buffer by making sure it is of sufficient size
|
3149
|
+
* regardless of the amount of compression achieved. The buffer size will
|
3150
|
+
* always be bigger than the original image and it will never be filled. The
|
3151
|
+
* following macros are provided to assist in allocating the buffer.
|
3152
|
+
*/
|
3153
|
+
#define PNG_IMAGE_DATA_SIZE(image) (PNG_IMAGE_SIZE(image)+(image).height)
|
3154
|
+
/* The number of uncompressed bytes in the PNG byte encoding of the image;
|
3155
|
+
* uncompressing the PNG IDAT data will give this number of bytes.
|
3156
|
+
*
|
3157
|
+
* NOTE: while PNG_IMAGE_SIZE cannot overflow for an image in memory this
|
3158
|
+
* macro can because of the extra bytes used in the PNG byte encoding. You
|
3159
|
+
* need to avoid this macro if your image size approaches 2^30 in width or
|
3160
|
+
* height. The same goes for the remainder of these macros; they all produce
|
3161
|
+
* bigger numbers than the actual in-memory image size.
|
3162
|
+
*/
|
3163
|
+
#ifndef PNG_ZLIB_MAX_SIZE
|
3164
|
+
# define PNG_ZLIB_MAX_SIZE(b) ((b)+(((b)+7U)>>3)+(((b)+63U)>>6)+11U)
|
3165
|
+
/* An upper bound on the number of compressed bytes given 'b' uncompressed
|
3166
|
+
* bytes. This is based on deflateBounds() in zlib; different
|
3167
|
+
* implementations of zlib compression may conceivably produce more data so
|
3168
|
+
* if your zlib implementation is not zlib itself redefine this macro
|
3169
|
+
* appropriately.
|
3170
|
+
*/
|
3171
|
+
#endif
|
3172
|
+
|
3173
|
+
#define PNG_IMAGE_COMPRESSED_SIZE_MAX(image)\
|
3174
|
+
PNG_ZLIB_MAX_SIZE((png_alloc_size_t)PNG_IMAGE_DATA_SIZE(image))
|
3175
|
+
/* An upper bound on the size of the data in the PNG IDAT chunks. */
|
3176
|
+
|
3177
|
+
#define PNG_IMAGE_PNG_SIZE_MAX_(image, image_size)\
|
3178
|
+
((8U/*sig*/+25U/*IHDR*/+16U/*gAMA*/+44U/*cHRM*/+12U/*IEND*/+\
|
3179
|
+
(((image).format&PNG_FORMAT_FLAG_COLORMAP)?/*colormap: PLTE, tRNS*/\
|
3180
|
+
12U+3U*(image).colormap_entries/*PLTE data*/+\
|
3181
|
+
(((image).format&PNG_FORMAT_FLAG_ALPHA)?\
|
3182
|
+
12U/*tRNS*/+(image).colormap_entries:0U):0U)+\
|
3183
|
+
12U)+(12U*((image_size)/PNG_ZBUF_SIZE))/*IDAT*/+(image_size))
|
3184
|
+
/* A helper for the following macro; if your compiler cannot handle the
|
3185
|
+
* following macro use this one with the result of
|
3186
|
+
* PNG_IMAGE_COMPRESSED_SIZE_MAX(image) as the second argument (most
|
3187
|
+
* compilers should handle this just fine.)
|
3188
|
+
*/
|
3189
|
+
|
3190
|
+
#define PNG_IMAGE_PNG_SIZE_MAX(image)\
|
3191
|
+
PNG_IMAGE_PNG_SIZE_MAX_(image, PNG_IMAGE_COMPRESSED_SIZE_MAX(image))
|
3192
|
+
/* An upper bound on the total length of the PNG data stream for 'image'.
|
3193
|
+
* The result is of type png_alloc_size_t, on 32-bit systems this may
|
3194
|
+
* overflow even though PNG_IMAGE_DATA_SIZE does not overflow; the write will
|
3195
|
+
* run out of buffer space but return a corrected size which should work.
|
3196
|
+
*/
|
3064
3197
|
#endif /* SIMPLIFIED_WRITE */
|
3065
3198
|
/*******************************************************************************
|
3066
3199
|
* END OF SIMPLIFIED API
|
@@ -3094,7 +3227,10 @@ PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
|
|
3094
3227
|
#endif
|
3095
3228
|
#define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */
|
3096
3229
|
#define PNG_SKIP_sRGB_CHECK_PROFILE 4 /* SOFTWARE: Check ICC profile for sRGB */
|
3097
|
-
#
|
3230
|
+
#ifdef PNG_MIPS_MSA_API_SUPPORTED
|
3231
|
+
# define PNG_MIPS_MSA 6 /* HARDWARE: MIPS Msa SIMD instructions supported */
|
3232
|
+
#endif
|
3233
|
+
#define PNG_OPTION_NEXT 8 /* Next option - numbers must be even */
|
3098
3234
|
|
3099
3235
|
/* Return values: NOTE: there are four values and 'off' is *not* zero */
|
3100
3236
|
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */
|
@@ -3118,7 +3254,7 @@ PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option,
|
|
3118
3254
|
* one to use is one more than this.)
|
3119
3255
|
*/
|
3120
3256
|
#ifdef PNG_EXPORT_LAST_ORDINAL
|
3121
|
-
PNG_EXPORT_LAST_ORDINAL(
|
3257
|
+
PNG_EXPORT_LAST_ORDINAL(245);
|
3122
3258
|
#endif
|
3123
3259
|
|
3124
3260
|
#ifdef __cplusplus
|